[Checkins] SVN: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py Coverage for z.s._f.Choice.

Tres Seaver cvs-admin at zope.org
Mon Apr 23 21:59:50 UTC 2012


Log message for revision 125260:
  Coverage for z.s._f.Choice.

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

-=-
Modified: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py
===================================================================
--- zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py	2012-04-23 21:59:42 UTC (rev 125259)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py	2012-04-23 21:59:47 UTC (rev 125260)
@@ -153,6 +153,31 @@
         self.assertRaises(WrongType, asc._validate, datetime.now())
 
 
+class ChoiceTests(unittest.TestCase):
+
+    def _getTargetClass(self):
+        from zope.schema._field import Choice
+        return Choice
+
+    def _makeOne(self, *args, **kw):
+        return self._getTargetClass()(*args, **kw)
+
+    def test_fromUnicode_miss(self):
+        from zope.schema.interfaces import ConstraintNotSatisfied
+        from zope.schema._compat import u
+        flt = self._makeOne(values=(u('foo'), u('bar'), u('baz')))
+        self.assertRaises(ConstraintNotSatisfied, flt.fromUnicode, u(''))
+        self.assertRaises(ConstraintNotSatisfied, flt.fromUnicode, u('abc'))
+        self.assertRaises(ConstraintNotSatisfied, flt.fromUnicode, u('1.4G'))
+
+    def test_fromUnicode_hit(self):
+        from zope.schema._compat import u
+        flt = self._makeOne(values=(u('foo'), u('bar'), u('baz')))
+        self.assertEqual(flt.fromUnicode(u('foo')), u('foo'))
+        self.assertEqual(flt.fromUnicode(u('bar')), u('bar'))
+        self.assertEqual(flt.fromUnicode(u('baz')), u('baz'))
+
+
 def test_suite():
     return unittest.TestSuite((
         unittest.makeSuite(BytesTests),
@@ -162,5 +187,6 @@
         unittest.makeSuite(FloatTests),
         unittest.makeSuite(DecimalTests),
         unittest.makeSuite(DateTests),
+        unittest.makeSuite(ChoiceTests),
     ))
 



More information about the checkins mailing list