aboutsummaryrefslogtreecommitdiff
path: root/test/unit/multiset_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/multiset_test.cpp')
-rw-r--r--test/unit/multiset_test.cpp127
1 files changed, 0 insertions, 127 deletions
diff --git a/test/unit/multiset_test.cpp b/test/unit/multiset_test.cpp
deleted file mode 100644
index 3e30917..0000000
--- a/test/unit/multiset_test.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-#include <set>
-#include <functional>
-
-#include "cppunit/cppunit_proxy.h"
-
-#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES)
-using namespace std;
-#endif
-
-//
-// TestCase class
-//
-class MultisetTest : public CPPUNIT_NS::TestCase
-{
- typedef multiset<int, less<int> > mset;
-
- CPPUNIT_TEST_SUITE(MultisetTest);
- CPPUNIT_TEST(mset1);
- CPPUNIT_TEST(mset3);
- CPPUNIT_TEST(mset5);
- CPPUNIT_TEST_SUITE_END();
-
-protected:
- void mset1();
- void mset3();
- void mset5();
-
- static bool less_than(int a_, int b_)
- {
- return a_ < b_;
- }
-
- static bool greater_than(int a_, int b_)
- {
- return a_ > b_;
- }
-};
-
-CPPUNIT_TEST_SUITE_REGISTRATION(MultisetTest);
-
-//
-// tests implementation
-//
-void MultisetTest::mset1()
-{
- mset s;
- CPPUNIT_ASSERT(s.count(42) == 0);
- s.insert(42);
- CPPUNIT_ASSERT(s.count(42) == 1);
- s.insert(42);
- CPPUNIT_ASSERT(s.count(42) == 2);
-
- mset::iterator i = s.find(40);
- CPPUNIT_ASSERT(i == s.end());
-
- i = s.find(42);
- CPPUNIT_ASSERT(i != s.end());
- size_t count = s.erase(42);
- CPPUNIT_ASSERT(count == 2);
-}
-void MultisetTest::mset3()
-{
- int array [] = { 3, 6, 1, 2, 3, 2, 6, 7, 9 };
-
- //Check iterator on a mutable set
- mset s(array, array + 9);
- mset::iterator i;
- i = s.lower_bound(3);
- CPPUNIT_ASSERT(*i == 3);
- i = s.upper_bound(3);
- CPPUNIT_ASSERT(*i == 6);
- pair<mset::iterator, mset::iterator> p = s.equal_range(5);
- CPPUNIT_ASSERT(*(p.first) == 6);
- CPPUNIT_ASSERT(*(p.second) == 6);
-
- //Check const_iterator on a mutable multiset
- mset::const_iterator ci;
- ci = s.lower_bound(3);
- CPPUNIT_ASSERT(*ci == 3);
- ci = s.upper_bound(3);
- CPPUNIT_ASSERT(*ci == 6);
- pair<mset::const_iterator, mset::const_iterator> cp;
-#ifdef _STLP_MEMBER_TEMPLATES
- cp = s.equal_range(5);
- CPPUNIT_ASSERT(*(cp.first) == 6);
- CPPUNIT_ASSERT(*(cp.second) == 6);
-#endif
-
- //Check const_iterator on a const multiset
- mset const& crs = s;
- ci = crs.lower_bound(3);
- CPPUNIT_ASSERT(*ci == 3);
- ci = crs.upper_bound(3);
- CPPUNIT_ASSERT(*ci == 6);
- cp = crs.equal_range(5);
- CPPUNIT_ASSERT(*(cp.first) == 6);
- CPPUNIT_ASSERT(*(cp.second) == 6);
-}
-void MultisetTest::mset5()
-{
- int array [] = { 3, 6, 1, 9 };
- int j;
-
- typedef pointer_to_binary_function<int, int, bool> fn_type;
- typedef multiset<int, fn_type, allocator<int> > fn_mset;
-
- fn_type f(less_than);
- fn_mset s1(array+0, array + 4 , f );
- fn_mset::const_iterator i = s1.begin();
- for (j = 0; i != s1.end(); ++i, ++j) {
- CPPUNIT_ASSERT(j != 0 || *i == 1);
- CPPUNIT_ASSERT(j != 1 || *i == 3);
- CPPUNIT_ASSERT(j != 2 || *i == 6);
- CPPUNIT_ASSERT(j != 3 || *i == 9);
- }
-
- fn_type g(greater_than);
- fn_mset s2(array, array + 4, g);
- i = s2.begin();
- for (j = 0; i != s2.end(); ++i, ++j) {
- CPPUNIT_ASSERT(j != 0 || *i == 9);
- CPPUNIT_ASSERT(j != 1 || *i == 6);
- CPPUNIT_ASSERT(j != 2 || *i == 3);
- CPPUNIT_ASSERT(j != 3 || *i == 1);
- }
-
-}