first commit
This commit is contained in:
76
extern/STLport/5.2.1/test/unit/func_test.cpp
vendored
Normal file
76
extern/STLport/5.2.1/test/unit/func_test.cpp
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <functional>
|
||||
|
||||
#include "cppunit/cppunit_proxy.h"
|
||||
|
||||
#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES)
|
||||
using namespace std;
|
||||
#endif
|
||||
|
||||
//
|
||||
// TestCase class
|
||||
//
|
||||
class FuncTest : public CPPUNIT_NS::TestCase
|
||||
{
|
||||
CPPUNIT_TEST_SUITE(FuncTest);
|
||||
CPPUNIT_TEST(func1);
|
||||
CPPUNIT_TEST(func2);
|
||||
CPPUNIT_TEST(func3);
|
||||
CPPUNIT_TEST_SUITE_END();
|
||||
|
||||
protected:
|
||||
void func1();
|
||||
void func2();
|
||||
void func3();
|
||||
static bool bigger(int i_);
|
||||
static bool bigger_than(int x_, int y_);
|
||||
};
|
||||
|
||||
CPPUNIT_TEST_SUITE_REGISTRATION(FuncTest);
|
||||
|
||||
//
|
||||
// tests implementation
|
||||
//
|
||||
bool FuncTest::bigger(int i_)
|
||||
{
|
||||
return i_ > 3;
|
||||
}
|
||||
bool FuncTest::bigger_than(int x_, int y_)
|
||||
{
|
||||
return x_ > y_;
|
||||
}
|
||||
void FuncTest::func1()
|
||||
{
|
||||
vector<int>v;
|
||||
v.push_back(4);
|
||||
v.push_back(1);
|
||||
v.push_back(5);
|
||||
int n = count_if(v.begin(), v.end(), bigger);
|
||||
CPPUNIT_ASSERT( n == 2 )
|
||||
}
|
||||
|
||||
void FuncTest::func2()
|
||||
{
|
||||
vector<int> v;
|
||||
v.push_back(4);
|
||||
v.push_back(1);
|
||||
v.push_back(5);
|
||||
sort(v.begin(), v.end(), bigger_than);
|
||||
|
||||
CPPUNIT_ASSERT( v[0] == 5 );
|
||||
CPPUNIT_ASSERT( v[1] == 4 );
|
||||
CPPUNIT_ASSERT( v[2] == 1 );
|
||||
}
|
||||
void FuncTest::func3()
|
||||
{
|
||||
vector<int> v;
|
||||
v.push_back(4);
|
||||
v.push_back(1);
|
||||
v.push_back(5);
|
||||
sort(v.begin(), v.end(), greater<int>());
|
||||
|
||||
CPPUNIT_ASSERT( v[0] == 5 );
|
||||
CPPUNIT_ASSERT( v[1] == 4 );
|
||||
CPPUNIT_ASSERT( v[2] == 1 );
|
||||
}
|
||||
Reference in New Issue
Block a user