[Python-checkins] r43742 - in python/trunk/Lib/test: output/test_compare test_compare.py

neal.norwitz python-checkins at python.org
Sun Apr 9 06:50:19 CEST 2006


Author: neal.norwitz
Date: Sun Apr  9 06:50:18 2006
New Revision: 43742

Removed:
   python/trunk/Lib/test/output/test_compare
Modified:
   python/trunk/Lib/test/test_compare.py
Log:
Convert test_compare to use unittest.  Hopefully we can find out
why this breaks on openbsd sometimes.


Deleted: /python/trunk/Lib/test/output/test_compare
==============================================================================
--- /python/trunk/Lib/test/output/test_compare	Sun Apr  9 06:50:18 2006
+++ (empty file)
@@ -1,101 +0,0 @@
-test_compare
-2 == 2
-2 == 2.0
-2 == 2
-2 == (2+0j)
-2 != [1]
-2 != (3,)
-2 != None
-2 != <Empty>
-2 == <Coerce 2>
-2 == <Cmp 2.0>
-2.0 == 2
-2.0 == 2.0
-2.0 == 2
-2.0 == (2+0j)
-2.0 != [1]
-2.0 != (3,)
-2.0 != None
-2.0 != <Empty>
-2.0 == <Coerce 2>
-2.0 == <Cmp 2.0>
-2 == 2
-2 == 2.0
-2 == 2
-2 == (2+0j)
-2 != [1]
-2 != (3,)
-2 != None
-2 != <Empty>
-2 == <Coerce 2>
-2 == <Cmp 2.0>
-(2+0j) == 2
-(2+0j) == 2.0
-(2+0j) == 2
-(2+0j) == (2+0j)
-(2+0j) != [1]
-(2+0j) != (3,)
-(2+0j) != None
-(2+0j) != <Empty>
-(2+0j) == <Coerce 2>
-(2+0j) == <Cmp 2.0>
-[1] != 2
-[1] != 2.0
-[1] != 2
-[1] != (2+0j)
-[1] == [1]
-[1] != (3,)
-[1] != None
-[1] != <Empty>
-[1] != <Coerce 2>
-[1] != <Cmp 2.0>
-(3,) != 2
-(3,) != 2.0
-(3,) != 2
-(3,) != (2+0j)
-(3,) != [1]
-(3,) == (3,)
-(3,) != None
-(3,) != <Empty>
-(3,) != <Coerce 2>
-(3,) != <Cmp 2.0>
-None != 2
-None != 2.0
-None != 2
-None != (2+0j)
-None != [1]
-None != (3,)
-None == None
-None != <Empty>
-None != <Coerce 2>
-None != <Cmp 2.0>
-<Empty> != 2
-<Empty> != 2.0
-<Empty> != 2
-<Empty> != (2+0j)
-<Empty> != [1]
-<Empty> != (3,)
-<Empty> != None
-<Empty> == <Empty>
-<Empty> != <Coerce 2>
-<Empty> != <Cmp 2.0>
-<Coerce 2> == 2
-<Coerce 2> == 2.0
-<Coerce 2> == 2
-<Coerce 2> == (2+0j)
-<Coerce 2> != [1]
-<Coerce 2> != (3,)
-<Coerce 2> != None
-<Coerce 2> != <Empty>
-<Coerce 2> == <Coerce 2>
-<Coerce 2> == <Cmp 2.0>
-<Cmp 2.0> == 2
-<Cmp 2.0> == 2.0
-<Cmp 2.0> == 2
-<Cmp 2.0> == (2+0j)
-<Cmp 2.0> != [1]
-<Cmp 2.0> != (3,)
-<Cmp 2.0> != None
-<Cmp 2.0> != <Empty>
-<Cmp 2.0> == <Coerce 2>
-<Cmp 2.0> == <Cmp 2.0>

Modified: python/trunk/Lib/test/test_compare.py
==============================================================================
--- python/trunk/Lib/test/test_compare.py	(original)
+++ python/trunk/Lib/test/test_compare.py	Sun Apr  9 06:50:18 2006
@@ -1,4 +1,6 @@
 import sys
+import unittest
+from test import test_support
 
 class Empty:
     def __repr__(self):
@@ -27,28 +29,31 @@
     def __cmp__(self, other):
         return cmp(self.arg, other)
 
+class ComparisonTest(unittest.TestCase):
+    set1 = [2, 2.0, 2L, 2+0j, Coerce(2), Cmp(2.0)]
+    set2 = [[1], (3,), None, Empty()]
+    candidates = set1 + set2
+
+    def test_comparisons(self):
+        for a in self.candidates:
+            for b in self.candidates:
+                if ((a in self.set1) and (b in self.set1)) or a is b:
+                    self.assertEqual(a, b)
+                else:
+                    self.assertNotEqual(a, b)
 
-candidates = [2, 2.0, 2L, 2+0j, [1], (3,), None, Empty(), Coerce(2), Cmp(2.0)]
+    def test_id_comparisons(self):
+        # Ensure default comparison compares id() of args
+        L = []
+        for i in range(10):
+            L.insert(len(L)//2, Empty())
+        for a in L:
+            for b in L:
+                self.assertEqual(cmp(a, b), cmp(id(a), id(b)),
+                                 'a=%r, b=%r' % (a, b))
 
-def test():
-    for a in candidates:
-        for b in candidates:
-            try:
-                x = a == b
-            except:
-                print 'cmp(%s, %s) => %s' % (a, b, sys.exc_info()[0])
-            else:
-                if x:
-                    print "%s == %s" % (a, b)
-                else:
-                    print "%s != %s" % (a, b)
-    # Ensure default comparison compares id() of args
-    L = []
-    for i in range(10):
-        L.insert(len(L)//2, Empty())
-    for a in L:
-        for b in L:
-            if cmp(a, b) != cmp(id(a), id(b)):
-                print "ERROR:", cmp(a, b), cmp(id(a), id(b)), id(a), id(b)
+def test_main():
+    test_support.run_unittest(ComparisonTest)
 
-test()
+if __name__ == '__main__':
+    test_main()


More information about the Python-checkins mailing list