[Aptitude-svn-commit] r4107 - in branches/aptitude-0.3/aptitude: . tests

Daniel Burrows dburrows at costa.debian.org
Sun Sep 18 03:46:58 UTC 2005


Author: dburrows
Date: Sun Sep 18 03:46:55 2005
New Revision: 4107

Modified:
   branches/aptitude-0.3/aptitude/ChangeLog
   branches/aptitude-0.3/aptitude/tests/test_wtree.cc
Log:
Add a test for the subset (containment) routine.

Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog	(original)
+++ branches/aptitude-0.3/aptitude/ChangeLog	Sun Sep 18 03:46:55 2005
@@ -1,5 +1,9 @@
 2005-09-17  Daniel Burrows  <dburrows at debian.org>
 
+	* tests/test_wtree.cc:
+
+	  Add a test for the subset (containment) routine.
+
 	* src/generic/immset.h:
 
 	  Write an intrinsic subset routine for the binary trees that

Modified: branches/aptitude-0.3/aptitude/tests/test_wtree.cc
==============================================================================
--- branches/aptitude-0.3/aptitude/tests/test_wtree.cc	(original)
+++ branches/aptitude-0.3/aptitude/tests/test_wtree.cc	Sun Sep 18 03:46:55 2005
@@ -80,6 +80,7 @@
   CPPUNIT_TEST(testEquality);
   CPPUNIT_TEST(testLessThan);
   CPPUNIT_TEST(testIntersects);
+  CPPUNIT_TEST(testContains);
   CPPUNIT_TEST(generalWTreeTest);
   CPPUNIT_TEST(mapTest);
   CPPUNIT_TEST(mapIntersectTest);
@@ -625,6 +626,128 @@
     assertNoIntersect(b, a);
   }
 
+#define assertNotContains(a, b) \
+  do { \
+    if(a.contains(b)) \
+      { \
+        std::ostringstream out; \
+        out << a << " unexpectedly contains " << b << ":"\
+            << std::endl; \
+        a.dump(out); \
+        b.dump(out); \
+        CPPUNIT_FAIL(out.str()); \
+      } \
+     } while(0)
+
+#define assertContains(a, b) \
+  do { \
+    if(!a.contains(b)) \
+      { \
+        std::ostringstream out; \
+        out << a << " unexpectedly does not contain " << b << ":"\
+            << std::endl; \
+        a.dump(out); \
+        b.dump(out); \
+        CPPUNIT_FAIL(out.str()); \
+      } \
+     } while(0)
+
+  void testContains()
+  {
+    set<int> s1;
+    set<int> s2;
+    set<int> s3;
+
+    s1.insert(5);
+
+    s2.insert(6);
+    s2.insert(8);
+
+    s3.insert(10);
+    s3.insert(5);
+
+    set<int> t;
+
+    assertContains(s1, t);
+    assertContains(s2, t);
+    assertContains(s3, t);
+    assertNotContains(t, s1);
+    assertNotContains(t, s2);
+    assertNotContains(t, s3);
+
+
+
+    t.insert(5);
+
+    assertContains(s1, t);
+    assertNotContains(s2, t);
+    assertContains(s3, t);
+    assertContains(t, s1);
+    assertNotContains(t, s2);
+    assertNotContains(t, s3);
+
+
+    t.insert(10);
+
+    assertNotContains(s1, t);
+    assertNotContains(s2, t);
+    assertContains(s3, t);
+    assertContains(t, s1);
+    assertNotContains(t, s2);
+    assertContains(t, s3);
+
+    t.insert(6);
+
+
+    assertNotContains(s1, t);
+    assertNotContains(s2, t);
+    assertContains(s3, t);
+    assertContains(t, s1);
+    assertNotContains(t, s2);
+    assertContains(t, s3);
+
+    t.erase(5);
+
+    assertNotContains(s1, t);
+    assertNotContains(s2, t);
+    assertNotContains(s3, t);
+    assertNotContains(t, s1);
+    assertNotContains(t, s2);
+    assertNotContains(t, s3);
+
+
+    t.insert(9);
+
+
+    assertNotContains(s1, t);
+    assertNotContains(s2, t);
+    assertNotContains(s3, t);
+    assertNotContains(t, s1);
+    assertNotContains(t, s2);
+    assertNotContains(t, s3);
+
+
+    t.insert(8);
+
+    assertNotContains(s1, t);
+    assertNotContains(s2, t);
+    assertNotContains(s3, t);
+    assertNotContains(t, s1);
+    assertContains(t, s2);
+    assertNotContains(t, s3);
+
+
+    t.erase(9);
+
+
+    assertNotContains(s1, t);
+    assertNotContains(s2, t);
+    assertNotContains(s3, t);
+    assertNotContains(t, s1);
+    assertContains(t, s2);
+    assertNotContains(t, s3);
+  }
+
   void generalWTreeTest()
   {
     set<int> t;



More information about the Aptitude-svn-commit mailing list