[Checkins] SVN: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py Coverage for z.s._f.{ASCII, Float, Decimal, Date}.

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


Log message for revision 125259:
  Coverage for z.s._f.{ASCII,Float,Decimal,Date}.

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:38 UTC (rev 125258)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py	2012-04-23 21:59:42 UTC (rev 125259)
@@ -81,10 +81,86 @@
         self.assertEqual(bl.constraint(b('one line')), True)
 
 
+class ASCIILineTests(BytesLineTests):
+
+    def _getTargetClass(self):
+        from zope.schema._field import ASCIILine
+        return ASCIILine
+
+
+class FloatTests(unittest.TestCase):
+
+    def _getTargetClass(self):
+        from zope.schema._field import Float
+        return Float
+
+    def _makeOne(self, *args, **kw):
+        return self._getTargetClass()(*args, **kw)
+
+    def test_fromUnicode_miss(self):
+        from zope.schema._compat import u
+        flt = self._makeOne()
+        self.assertRaises(ValueError, flt.fromUnicode, u(''))
+        self.assertRaises(ValueError, flt.fromUnicode, u('abc'))
+        self.assertRaises(ValueError, flt.fromUnicode, u('14.G'))
+
+    def test_fromUnicode_hit(self):
+        from zope.schema._compat import u
+        flt = self._makeOne()
+        self.assertEqual(flt.fromUnicode(u('0')), 0.0)
+        self.assertEqual(flt.fromUnicode(u('1.23')), 1.23)
+        self.assertEqual(flt.fromUnicode(u('1.23e6')), 1230000.0)
+
+
+class DecimalTests(unittest.TestCase):
+
+    def _getTargetClass(self):
+        from zope.schema._field import Decimal
+        return Decimal
+
+    def _makeOne(self, *args, **kw):
+        return self._getTargetClass()(*args, **kw)
+
+    def test_fromUnicode_miss(self):
+        from zope.schema._compat import u
+        flt = self._makeOne()
+        self.assertRaises(ValueError, flt.fromUnicode, u(''))
+        self.assertRaises(ValueError, flt.fromUnicode, u('abc'))
+        self.assertRaises(ValueError, flt.fromUnicode, u('1.4G'))
+
+    def test_fromUnicode_hit(self):
+        from decimal import Decimal
+        from zope.schema._compat import u
+        flt = self._makeOne()
+        self.assertEqual(flt.fromUnicode(u('0')), Decimal('0.0'))
+        self.assertEqual(flt.fromUnicode(u('1.23')), Decimal('1.23'))
+        self.assertEqual(flt.fromUnicode(u('12345.6')), Decimal('12345.6'))
+
+
+class DateTests(unittest.TestCase):
+
+    def _getTargetClass(self):
+        from zope.schema._field import Date
+        return Date
+
+    def _makeOne(self, *args, **kw):
+        return self._getTargetClass()(*args, **kw)
+
+    def test__validate_miss(self):
+        from datetime import datetime
+        from zope.schema.interfaces import WrongType
+        asc = self._makeOne()
+        self.assertRaises(WrongType, asc._validate, datetime.now())
+
+
 def test_suite():
     return unittest.TestSuite((
         unittest.makeSuite(BytesTests),
         unittest.makeSuite(ASCIITests),
         unittest.makeSuite(BytesLineTests),
+        unittest.makeSuite(ASCIILineTests),
+        unittest.makeSuite(FloatTests),
+        unittest.makeSuite(DecimalTests),
+        unittest.makeSuite(DateTests),
     ))
 



More information about the checkins mailing list