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

Daniel Burrows dburrows at costa.debian.org
Tue Aug 16 00:51:44 UTC 2005


Author: dburrows
Date: Tue Aug 16 00:51:41 2005
New Revision: 3858

Modified:
   branches/aptitude-0.3/aptitude/ChangeLog
   branches/aptitude-0.3/aptitude/tests/test_resolver.cc
Log:
Fix the solution test to not require an operator<.

Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog	(original)
+++ branches/aptitude-0.3/aptitude/ChangeLog	Tue Aug 16 00:51:41 2005
@@ -1,5 +1,9 @@
 2005-08-15  Daniel Burrows  <dburrows at debian.org>
 
+	* tests/test_resolver.cc:
+
+	  Fix the solution test to not require an operator<.
+
 	* src/generic/problemresolver/problemresolver.h:
 
 	  Make the ResolverTest class a friend so it can test internals of

Modified: branches/aptitude-0.3/aptitude/tests/test_resolver.cc
==============================================================================
--- branches/aptitude-0.3/aptitude/tests/test_resolver.cc	(original)
+++ branches/aptitude-0.3/aptitude/tests/test_resolver.cc	Tue Aug 16 00:51:41 2005
@@ -28,7 +28,7 @@
 
 using namespace std;
 
-typedef generic_solution<dummy_universe> dummy_solution;
+typedef generic_solution<dummy_universe_ref> dummy_solution;
 
 const char *dummy_universe_1 = "\
 UNIVERSE [ \
@@ -44,24 +44,36 @@
 ]";
 
 // Done this way so meaningful line numbers are generated.
-#define assertEquivalent(x1, x2) \
+#define assertEqEquivalent(x1, x2) \
 do { \
-    CPPUNIT_ASSERT(x1 == x2); \
-    CPPUNIT_ASSERT(x2 == x1); \
-    CPPUNIT_ASSERT(!(x1 != x2)); \
-    CPPUNIT_ASSERT(!(x2 != x1)); \
-    CPPUNIT_ASSERT(!(x1 < x2)); \
-    CPPUNIT_ASSERT(!(x2 < x1)); \
+    CPPUNIT_ASSERT((x1) == (x2)); \
+    CPPUNIT_ASSERT((x2) == (x1)); \
+    CPPUNIT_ASSERT(!((x1) != (x2))); \
+    CPPUNIT_ASSERT(!((x2) != (x1))); \
+    CPPUNIT_ASSERT(!((x1) < (x2))); \
+    CPPUNIT_ASSERT(!((x2) < (x1))); \
 } while(0)
 
-#define assertInequivalent(x1, x2) \
+#define assertEqInequivalent(x1, x2) \
 do { \
-    CPPUNIT_ASSERT(x1 != x2); \
-    CPPUNIT_ASSERT(x2 != x1); \
-    CPPUNIT_ASSERT(!(x1 == x2)); \
-    CPPUNIT_ASSERT(!(x2 == x1)); \
-    CPPUNIT_ASSERT(x1 < x2 || x2 < x1); \
-    CPPUNIT_ASSERT(!(x1 < x2 && x2 < x1)); \
+    CPPUNIT_ASSERT((x1) != (x2)); \
+    CPPUNIT_ASSERT((x2) != (x1)); \
+    CPPUNIT_ASSERT(!((x1) == (x2))); \
+    CPPUNIT_ASSERT(!((x2) == (x1))); \
+    CPPUNIT_ASSERT((x1) < (x2) || (x2) < (x1)); \
+    CPPUNIT_ASSERT(!((x1) < (x2) && (x2) < (x1))); \
+} while(0)
+
+#define assertLtEquivalent(x1, x2, lt) \
+do { \
+    CPPUNIT_ASSERT(!(lt((x1), (x2)))); \
+    CPPUNIT_ASSERT(!(lt((x2), (x1)))); \
+} while(0)
+
+#define assertLtInequivalent(x1, x2, lt) \
+do { \
+    CPPUNIT_ASSERT(lt((x1), (x2)) || lt((x2), (x1))); \
+    CPPUNIT_ASSERT(!(lt((x1), (x2)) && lt((x2), (x1)))); \
 } while(0)
 
 class ResolverTest : public CppUnit::TestFixture
@@ -99,25 +111,25 @@
     dummy_solution::action a2(u.find_package("a").version_from_name("v1"),
 			      d2, 21);
 
-    assertEquivalent(a1, a1);
-    assertEquivalent(a1, a2);
+    assertEqEquivalent(a1, a1);
+    assertEqEquivalent(a1, a2);
 
     dummy_solution::action a3(u.find_package("a").version_from_name("v2"),
 			      d1, 49);
 
-    assertEquivalent(a2, a2);
-    assertEquivalent(a3, a3);
+    assertEqEquivalent(a2, a2);
+    assertEqEquivalent(a3, a3);
 
-    assertInequivalent(a1, a3);
-    assertInequivalent(a2, a3);
+    assertEqInequivalent(a1, a3);
+    assertEqInequivalent(a2, a3);
 
     dummy_solution::action a4(u.find_package("c").version_from_name("v3"),
 			      d2, 21);
 
-    assertEquivalent(a4, a4);
-    assertInequivalent(a1, a4);
-    assertInequivalent(a2, a4);
-    assertInequivalent(a3, a4);
+    assertEqEquivalent(a4, a4);
+    assertEqInequivalent(a1, a4);
+    assertEqInequivalent(a2, a4);
+    assertEqInequivalent(a3, a4);
   }
 
   /** Tests that the comparison operations on solutions work. */
@@ -195,49 +207,51 @@
     // and this should not equal any other solution.
     dummy_solution s7(s0, d1, 0, 0);
 
-    assertEquivalent(s0, s0);
-    assertInequivalent(s0, s1);
-    assertInequivalent(s0, s2);
-    assertInequivalent(s0, s3);
-    assertInequivalent(s0, s4);
-    assertInequivalent(s0, s5);
-    assertInequivalent(s0, s6);
-    assertInequivalent(s0, s7);
-
-    assertEquivalent(s1, s1);
-    assertInequivalent(s1, s2);
-    assertInequivalent(s1, s3);
-    assertInequivalent(s1, s4);
-    assertInequivalent(s1, s5);
-    assertInequivalent(s1, s6);
-    assertInequivalent(s1, s7);
-
-    assertEquivalent(s2, s2);
-    assertInequivalent(s2, s3);
-    assertInequivalent(s2, s4);
-    assertInequivalent(s2, s5);
-    assertInequivalent(s2, s6);
-    assertInequivalent(s2, s7);
-
-    assertEquivalent(s3, s3);
-    assertInequivalent(s3, s4);
-    assertInequivalent(s3, s5);
-    assertInequivalent(s3, s6);
-    assertInequivalent(s3, s7);
-
-    assertEquivalent(s4, s4);
-    assertInequivalent(s4, s5);
-    assertInequivalent(s4, s6);
-    assertInequivalent(s4, s7);
-
-    assertEquivalent(s5, s5);
-    assertEquivalent(s5, s6);
-    assertInequivalent(s5, s7);
+    dummy_resolver::solution_contents_compare solcmp;
+
+    assertLtEquivalent(s0, s0, solcmp);
+    assertLtInequivalent(s0, s1, solcmp);
+    assertLtInequivalent(s0, s2, solcmp);
+    assertLtInequivalent(s0, s3, solcmp);
+    assertLtInequivalent(s0, s4, solcmp);
+    assertLtInequivalent(s0, s5, solcmp);
+    assertLtInequivalent(s0, s6, solcmp);
+    assertLtInequivalent(s0, s7, solcmp);
+
+    assertLtEquivalent(s1, s1, solcmp);
+    assertLtInequivalent(s1, s2, solcmp);
+    assertLtInequivalent(s1, s3, solcmp);
+    assertLtInequivalent(s1, s4, solcmp);
+    assertLtInequivalent(s1, s5, solcmp);
+    assertLtInequivalent(s1, s6, solcmp);
+    assertLtInequivalent(s1, s7, solcmp);
+
+    assertLtEquivalent(s2, s2, solcmp);
+    assertLtInequivalent(s2, s3, solcmp);
+    assertLtInequivalent(s2, s4, solcmp);
+    assertLtInequivalent(s2, s5, solcmp);
+    assertLtInequivalent(s2, s6, solcmp);
+    assertLtInequivalent(s2, s7, solcmp);
+
+    assertLtEquivalent(s3, s3, solcmp);
+    assertLtInequivalent(s3, s4, solcmp);
+    assertLtInequivalent(s3, s5, solcmp);
+    assertLtInequivalent(s3, s6, solcmp);
+    assertLtInequivalent(s3, s7, solcmp);
+
+    assertLtEquivalent(s4, s4, solcmp);
+    assertLtInequivalent(s4, s5, solcmp);
+    assertLtInequivalent(s4, s6, solcmp);
+    assertLtInequivalent(s4, s7, solcmp);
+
+    assertLtEquivalent(s5, s5, solcmp);
+    assertLtEquivalent(s5, s6, solcmp);
+    assertLtInequivalent(s5, s7, solcmp);
 
-    assertEquivalent(s6, s6);
-    assertInequivalent(s6, s7);
+    assertLtEquivalent(s6, s6, solcmp);
+    assertLtInequivalent(s6, s7, solcmp);
 
-    assertEquivalent(s7, s7);
+    assertLtEquivalent(s7, s7, solcmp);
   }
 };
 



More information about the Aptitude-svn-commit mailing list