[Python-checkins] r52414 - python/trunk/Lib/test/test___future__.py

walter.doerwald python-checkins at python.org
Sun Oct 22 10:59:42 CEST 2006


Author: walter.doerwald
Date: Sun Oct 22 10:59:41 2006
New Revision: 52414

Modified:
   python/trunk/Lib/test/test___future__.py
Log:
Port test___future__ to unittest.


Modified: python/trunk/Lib/test/test___future__.py
==============================================================================
--- python/trunk/Lib/test/test___future__.py	(original)
+++ python/trunk/Lib/test/test___future__.py	Sun Oct 22 10:59:41 2006
@@ -1,59 +1,63 @@
 #! /usr/bin/env python
-from test.test_support import verbose, verify
-from types import TupleType, StringType, IntType
+import unittest
+from test import test_support
 import __future__
 
 GOOD_SERIALS = ("alpha", "beta", "candidate", "final")
 
 features = __future__.all_feature_names
 
-# Verify that all_feature_names appears correct.
-given_feature_names = features[:]
-for name in dir(__future__):
-    obj = getattr(__future__, name, None)
-    if obj is not None and isinstance(obj, __future__._Feature):
-        verify(name in given_feature_names,
-               "%r should have been in all_feature_names" % name)
-        given_feature_names.remove(name)
-verify(len(given_feature_names) == 0,
-       "all_feature_names has too much: %r" % given_feature_names)
-del given_feature_names
-
-for feature in features:
-    value = getattr(__future__, feature)
-    if verbose:
-        print "Checking __future__ ", feature, "value", value
-
-    optional = value.getOptionalRelease()
-    mandatory = value.getMandatoryRelease()
-
-    verify(type(optional) is TupleType, "optional isn't tuple")
-    verify(len(optional) == 5, "optional isn't 5-tuple")
-    major, minor, micro, level, serial = optional
-    verify(type(major) is IntType, "optional major isn't int")
-    verify(type(minor) is IntType, "optional minor isn't int")
-    verify(type(micro) is IntType, "optional micro isn't int")
-    verify(isinstance(level, basestring), "optional level isn't string")
-    verify(level in GOOD_SERIALS,
-           "optional level string has unknown value")
-    verify(type(serial) is IntType, "optional serial isn't int")
-
-    verify(type(mandatory) is TupleType or
-           mandatory is None, "mandatory isn't tuple or None")
-    if mandatory is not None:
-        verify(len(mandatory) == 5, "mandatory isn't 5-tuple")
-        major, minor, micro, level, serial = mandatory
-        verify(type(major) is IntType, "mandatory major isn't int")
-        verify(type(minor) is IntType, "mandatory minor isn't int")
-        verify(type(micro) is IntType, "mandatory micro isn't int")
-        verify(isinstance(level, basestring), "mandatory level isn't string")
-        verify(level in GOOD_SERIALS,
-               "mandatory serial string has unknown value")
-        verify(type(serial) is IntType, "mandatory serial isn't int")
-        verify(optional < mandatory,
-               "optional not less than mandatory, and mandatory not None")
-
-    verify(hasattr(value, "compiler_flag"),
-           "feature is missing a .compiler_flag attr")
-    verify(type(getattr(value, "compiler_flag")) is IntType,
-           ".compiler_flag isn't int")
+class FutureTest(unittest.TestCase):
+
+    def test_names(self):
+        # Verify that all_feature_names appears correct.
+        given_feature_names = features[:]
+        for name in dir(__future__):
+            obj = getattr(__future__, name, None)
+            if obj is not None and isinstance(obj, __future__._Feature):
+                self.assert_(
+                    name in given_feature_names,
+                    "%r should have been in all_feature_names" % name
+                )
+                given_feature_names.remove(name)
+        self.assertEqual(len(given_feature_names), 0,
+               "all_feature_names has too much: %r" % given_feature_names)
+
+    def test_attributes(self):
+        for feature in features:
+            value = getattr(__future__, feature)
+
+            optional = value.getOptionalRelease()
+            mandatory = value.getMandatoryRelease()
+
+            a = self.assert_
+            e = self.assertEqual
+            def check(t, name):
+                a(isinstance(t, tuple), "%s isn't tuple" % name)
+                e(len(t), 5, "%s isn't 5-tuple" % name)
+                (major, minor, micro, level, serial) = t
+                a(isinstance(major, int), "%s major isn't int"  % name)
+                a(isinstance(minor, int), "%s minor isn't int" % name)
+                a(isinstance(micro, int), "%s micro isn't int" % name)
+                a(isinstance(level, basestring),
+                    "%s level isn't string" % name)
+                a(level in GOOD_SERIALS,
+                       "%s level string has unknown value" % name)
+                a(isinstance(serial, int), "%s serial isn't int" % name)
+
+            check(optional, "optional")
+            if mandatory is not None:
+                check(mandatory, "mandatory")
+                a(optional < mandatory,
+                       "optional not less than mandatory, and mandatory not None")
+        
+            a(hasattr(value, "compiler_flag"),
+                   "feature is missing a .compiler_flag attr")
+            a(isinstance(getattr(value, "compiler_flag"), int),
+                   ".compiler_flag isn't int")
+
+def test_main():
+    test_support.run_unittest(FutureTest)
+
+if __name__ == "__main__":
+    test_main()


More information about the Python-checkins mailing list