[Checkins] SVN: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_schema.py Break up tests for separate APIs.

Tres Seaver cvs-admin at zope.org
Fri Apr 20 20:06:51 UTC 2012


Log message for revision 125223:
  Break up tests for separate APIs.

Changed:
  U   zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_schema.py

-=-
Modified: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_schema.py
===================================================================
--- zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_schema.py	2012-04-20 20:06:44 UTC (rev 125222)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_schema.py	2012-04-20 20:06:48 UTC (rev 125223)
@@ -15,67 +15,55 @@
 """
 import unittest
 
+def _makeSchema():
+    from zope.schema._compat import b
+    from zope.schema._compat import u
+    from zope.interface import Interface
+    from zope.schema import Bytes
 
-class SchemaTest(unittest.TestCase):
+    class ISchemaTest(Interface):
+        title = Bytes(
+            title=u("Title"),
+            description=u("Title"),
+            default=b(""),
+            required=True)
+        description = Bytes(
+            title=u("Description"),
+            description=u("Description"),
+            default=b(""),
+            required=True)
+        spam = Bytes(
+            title=u("Spam"),
+            description=u("Spam"),
+            default=b(""),
+            required=True)
+    return ISchemaTest
 
-    def _makeSchema(self):
-        from zope.schema._compat import b
-        from zope.schema._compat import u
-        from zope.interface import Interface
-        from zope.schema import Bytes
+def _makeDerivedSchema(base=None):
+    from zope.schema._compat import b
+    from zope.schema._compat import u
+    from zope.schema import Bytes
+    if base is None:
+        base = _makeSchema()
 
-        class ISchemaTest(Interface):
-            title = Bytes(
-                title=u("Title"),
-                description=u("Title"),
-                default=b(""),
-                required=True)
-            description = Bytes(
-                title=u("Description"),
-                description=u("Description"),
-                default=b(""),
-                required=True)
-            spam = Bytes(
-                title=u("Spam"),
-                description=u("Spam"),
-                default=b(""),
-                required=True)
-        return ISchemaTest
+    class ISchemaTestSubclass(base):
+        foo = Bytes(
+            title=u('Foo'),
+            description=u('Fooness'),
+            default=b(""),
+            required=False)
+    return ISchemaTestSubclass
 
-    def _makeDerivedSchema(self):
-        from zope.schema._compat import b
-        from zope.schema._compat import u
-        from zope.schema import Bytes
 
-        class ISchemaTestSubclass(self._makeSchema()):
-            foo = Bytes(
-                title=u('Foo'),
-                description=u('Fooness'),
-                default=b(""),
-                required=False)
-        return ISchemaTestSubclass
+class Test_getFields(unittest.TestCase):
 
-    def test_getFieldNames(self):
-        from zope.schema import getFieldNames
-        names = getFieldNames(self._makeSchema())
-        self.assertEqual(len(names),3)
-        self.assertTrue('title' in names)
-        self.assertTrue('description' in names)
-        self.assertTrue('spam' in names)
+    def _callFUT(self, schema):
+        from zope.schema import getFields
+        return getFields(schema)
 
-    def test_getFieldNamesAll(self):
-        from zope.schema import getFieldNames
-        names = getFieldNames(self._makeDerivedSchema())
-        self.assertEqual(len(names),4)
-        self.assertTrue('title' in names)
-        self.assertTrue('description' in names)
-        self.assertTrue('spam' in names)
-        self.assertTrue('foo' in names)
+    def test_simple(self):
+        fields = self._callFUT(_makeSchema())
 
-    def test_getFields(self):
-        from zope.schema import getFields
-        fields = getFields(self._makeSchema())
-
         self.assertTrue('title' in fields)
         self.assertTrue('description' in fields)
         self.assertTrue('spam' in fields)
@@ -84,9 +72,8 @@
         for key, value in fields.items():
             self.assertEqual(key, value.getName())
 
-    def test_getFieldsAll(self):
-        from zope.schema import getFields
-        fields = getFields(self._makeDerivedSchema())
+    def test_derived(self):
+        fields = self._callFUT(_makeDerivedSchema())
 
         self.assertTrue('title' in fields)
         self.assertTrue('description' in fields)
@@ -97,34 +84,69 @@
         for key, value in fields.items():
             self.assertEqual(key, value.getName())
 
-    def test_getFieldsInOrder(self):
+
+class Test_getFieldsInOrder(unittest.TestCase):
+
+    def _callFUT(self, schema):
         from zope.schema import getFieldsInOrder
-        fields = getFieldsInOrder(self._makeSchema())
+        return getFieldsInOrder(schema)
+
+    def test_simple(self):
+        fields = self._callFUT(_makeSchema())
         field_names = [name for name, field in fields]
         self.assertEqual(field_names, ['title', 'description', 'spam'])
         for key, value in fields:
             self.assertEqual(key, value.getName())
 
-    def test_getFieldsInOrderAll(self):
-        from zope.schema import getFieldsInOrder
-        fields = getFieldsInOrder(self._makeDerivedSchema())
+    def test_derived(self):
+        fields = self._callFUT(_makeDerivedSchema())
         field_names = [name for name, field in fields]
         self.assertEqual(field_names, ['title', 'description', 'spam', 'foo'])
         for key, value in fields:
             self.assertEqual(key, value.getName())
 
-    def test_getFieldsNamesInOrder(self):
+
+class Test_getFieldNames(unittest.TestCase):
+
+    def _callFUT(self, schema):
+        from zope.schema import getFieldNames
+        return getFieldNames(schema)
+
+    def test_simple(self):
+        names = self._callFUT(_makeSchema())
+        self.assertEqual(len(names),3)
+        self.assertTrue('title' in names)
+        self.assertTrue('description' in names)
+        self.assertTrue('spam' in names)
+
+    def test_derived(self):
+        names = self._callFUT(_makeDerivedSchema())
+        self.assertEqual(len(names),4)
+        self.assertTrue('title' in names)
+        self.assertTrue('description' in names)
+        self.assertTrue('spam' in names)
+        self.assertTrue('foo' in names)
+
+
+class Test_getFieldNamesInOrder(unittest.TestCase):
+
+    def _callFUT(self, schema):
         from zope.schema import getFieldNamesInOrder
-        names = getFieldNamesInOrder(self._makeSchema())
+        return getFieldNamesInOrder(schema)
+
+    def test_simple(self):
+        names = self._callFUT(_makeSchema())
         self.assertEqual(names, ['title', 'description', 'spam'])
 
-    def test_getFieldsNamesInOrderAll(self):
-        from zope.schema import getFieldNamesInOrder
-        names = getFieldNamesInOrder(self._makeDerivedSchema())
+    def test_derived(self):
+        names = self._callFUT(_makeDerivedSchema())
         self.assertEqual(names, ['title', 'description', 'spam', 'foo'])
 
 
 def test_suite():
     return unittest.TestSuite((
-        unittest.makeSuite(SchemaTest),
+        unittest.makeSuite(Test_getFields),
+        unittest.makeSuite(Test_getFieldsInOrder),
+        unittest.makeSuite(Test_getFieldNames),
+        unittest.makeSuite(Test_getFieldNamesInOrder),
     ))



More information about the checkins mailing list