[Checkins] SVN: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_ Collapse out-of-module field tests into in-module tests.

Tres Seaver cvs-admin at zope.org
Wed Apr 25 18:19:57 UTC 2012


Log message for revision 125283:
  Collapse out-of-module field tests into in-module tests.

Changed:
  U   zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__bootstrapfields.py
  U   zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py
  D   zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_date.py
  D   zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_datetime.py
  D   zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_decimalfield.py
  D   zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_floatfield.py
  D   zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_interfacefield.py
  D   zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_intfield.py
  D   zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_timedelta.py

-=-
Modified: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__bootstrapfields.py
===================================================================
--- zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__bootstrapfields.py	2012-04-25 18:19:48 UTC (rev 125282)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__bootstrapfields.py	2012-04-25 18:19:53 UTC (rev 125283)
@@ -577,6 +577,50 @@
         txt = self._makeOne()
         self.assertEqual(txt._type, integer_types)
 
+    def test_validate_not_required(self):
+        field = self._makeOne(required=False)
+        field.validate(None)
+        field.validate(10)
+        field.validate(0)
+        field.validate(-1)
+
+    def test_validate_required(self):
+        from zope.schema.interfaces import RequiredMissing
+        field = self._makeOne()
+        field.validate(10)
+        field.validate(0)
+        field.validate(-1)
+        self.assertRaises(RequiredMissing, field.validate, None)
+
+    def test_validate_min(self):
+        from zope.schema.interfaces import TooSmall
+        field = self._makeOne(min=10)
+        field.validate(10)
+        field.validate(20)
+        self.assertRaises(TooSmall, field.validate, 9)
+        self.assertRaises(TooSmall, field.validate, -10)
+
+    def test_validate_max(self):
+        from zope.schema.interfaces import TooBig
+        field = self._makeOne(max=10)
+        field.validate(5)
+        field.validate(9)
+        field.validate(10)
+        self.assertRaises(TooBig, field.validate, 11)
+        self.assertRaises(TooBig, field.validate, 20)
+
+    def test_validate_min_and_max(self):
+        from zope.schema.interfaces import TooBig
+        from zope.schema.interfaces import TooSmall
+        field = self._makeOne(min=0, max=10)
+        field.validate(0)
+        field.validate(5)
+        field.validate(10)
+        self.assertRaises(TooSmall, field.validate, -10)
+        self.assertRaises(TooSmall, field.validate, -1)
+        self.assertRaises(TooBig, field.validate, 11)
+        self.assertRaises(TooBig, field.validate, 20)
+
     def test_fromUnicode_miss(self):
         from zope.schema._compat import u
         txt = self._makeOne()

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-25 18:19:48 UTC (rev 125282)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py	2012-04-25 18:19:53 UTC (rev 125283)
@@ -23,6 +23,26 @@
     def _makeOne(self, *args, **kw):
         return self._getTargetClass()(*args, **kw)
 
+    def test_class_conforms_to_IBytes(self):
+        from zope.interface.verify import verifyClass
+        from zope.schema.interfaces import IBytes
+        verifyClass(IBytes, self._getTargetClass())
+
+    def test_instance_conforms_to_IBytes(self):
+        from zope.interface.verify import verifyObject
+        from zope.schema.interfaces import IBytes
+        verifyObject(IBytes, self._makeOne())
+
+    def test_validate_wrong_types(self):
+        from zope.schema.interfaces import WrongType
+        field = self._makeOne()
+        self.assertRaises(WrongType, field.validate, 1)
+        self.assertRaises(WrongType, field.validate, 1.0)
+        self.assertRaises(WrongType, field.validate, ())
+        self.assertRaises(WrongType, field.validate, [])
+        self.assertRaises(WrongType, field.validate, {})
+        self.assertRaises(WrongType, field.validate, object())
+
     def test_fromUnicode_miss(self):
         from zope.schema._compat import u
         byt = self._makeOne()
@@ -45,6 +65,26 @@
     def _makeOne(self, *args, **kw):
         return self._getTargetClass()(*args, **kw)
 
+    def test_class_conforms_to_IASCII(self):
+        from zope.interface.verify import verifyClass
+        from zope.schema.interfaces import IASCII
+        verifyClass(IASCII, self._getTargetClass())
+
+    def test_instance_conforms_to_IASCII(self):
+        from zope.interface.verify import verifyObject
+        from zope.schema.interfaces import IASCII
+        verifyObject(IASCII, self._makeOne())
+
+    def test_validate_wrong_types(self):
+        from zope.schema.interfaces import WrongType
+        field = self._makeOne()
+        self.assertRaises(WrongType, field.validate, 1)
+        self.assertRaises(WrongType, field.validate, 1.0)
+        self.assertRaises(WrongType, field.validate, ())
+        self.assertRaises(WrongType, field.validate, [])
+        self.assertRaises(WrongType, field.validate, {})
+        self.assertRaises(WrongType, field.validate, object())
+
     def test__validate_empty(self):
         asc = self._makeOne()
         asc._validate('') # no error
@@ -60,15 +100,8 @@
             asc._validate(chr(i)) #doesn't raise
 
 
-class BytesLineTests(unittest.TestCase):
+class _LineTestsBase(object):
 
-    def _getTargetClass(self):
-        from zope.schema._field import BytesLine
-        return BytesLine
-
-    def _makeOne(self, *args, **kw):
-        return self._getTargetClass()(*args, **kw)
-
     def test_constraint_miss(self):
         from zope.schema._compat import b
         bl = self._makeOne()
@@ -81,13 +114,122 @@
         self.assertEqual(bl.constraint(b('one line')), True)
 
 
-class ASCIILineTests(BytesLineTests):
+class BytesLineTests(unittest.TestCase, _LineTestsBase):
 
     def _getTargetClass(self):
+        from zope.schema._field import BytesLine
+        return BytesLine
+
+    def _makeOne(self, *args, **kw):
+        return self._getTargetClass()(*args, **kw)
+
+    def test_class_conforms_to_IBytesLine(self):
+        from zope.interface.verify import verifyClass
+        from zope.schema.interfaces import IBytesLine
+        verifyClass(IBytesLine, self._getTargetClass())
+
+    def test_instance_conforms_to_IBytesLine(self):
+        from zope.interface.verify import verifyObject
+        from zope.schema.interfaces import IBytesLine
+        verifyObject(IBytesLine, self._makeOne())
+
+    def test_validate_wrong_types(self):
+        from zope.schema.interfaces import WrongType
+        field = self._makeOne()
+        self.assertRaises(WrongType, field.validate, 1)
+        self.assertRaises(WrongType, field.validate, 1.0)
+        self.assertRaises(WrongType, field.validate, ())
+        self.assertRaises(WrongType, field.validate, [])
+        self.assertRaises(WrongType, field.validate, {})
+        self.assertRaises(WrongType, field.validate, object())
+
+    def test_validate_not_required(self):
+        from zope.schema._compat import b
+        field = self._makeOne(required=False)
+        field.validate(None)
+        field.validate(b(''))
+        field.validate(b('abc'))
+        field.validate(b('\xab\xde'))
+
+    def test_validate_required(self):
+        from zope.schema.interfaces import RequiredMissing
+        from zope.schema._compat import b
+        field = self._makeOne()
+        field.validate(b(''))
+        field.validate(b('abc'))
+        field.validate(b('\xab\xde'))
+        self.assertRaises(RequiredMissing, field.validate, None)
+
+    def test_constraint(self):
+        from zope.schema._compat import b
+        field = self._makeOne()
+        self.assertEqual(field.constraint(b('')), True)
+        self.assertEqual(field.constraint(b('abc')), True)
+        self.assertEqual(field.constraint(b('abc')), True)
+        self.assertEqual(field.constraint(b('\xab\xde')), True)
+        self.assertEqual(field.constraint(b('abc\ndef')), False)
+
+
+class ASCIILineTests(unittest.TestCase, _LineTestsBase):
+
+    def _getTargetClass(self):
         from zope.schema._field import ASCIILine
         return ASCIILine
 
+    def _makeOne(self, *args, **kw):
+        return self._getTargetClass()(*args, **kw)
 
+    def test_class_conforms_to_IASCIILine(self):
+        from zope.interface.verify import verifyClass
+        from zope.schema.interfaces import IASCIILine
+        verifyClass(IASCIILine, self._getTargetClass())
+
+    def test_instance_conforms_to_IASCIILine(self):
+        from zope.interface.verify import verifyObject
+        from zope.schema.interfaces import IASCIILine
+        verifyObject(IASCIILine, self._makeOne())
+
+    def test_validate_wrong_types(self):
+        from zope.schema.interfaces import WrongType
+        field = self._makeOne()
+        self.assertRaises(WrongType, field.validate, 1)
+        self.assertRaises(WrongType, field.validate, 1.0)
+        self.assertRaises(WrongType, field.validate, ())
+        self.assertRaises(WrongType, field.validate, [])
+        self.assertRaises(WrongType, field.validate, {})
+        self.assertRaises(WrongType, field.validate, object())
+        self.assertRaises(WrongType, field.validate, object())
+
+    def test_validate_not_required(self):
+        from zope.schema.interfaces import InvalidValue
+        from zope.schema._compat import b
+        field = self._makeOne(required=False)
+        field.validate(None)
+        field.validate(b(''))
+        field.validate(b('abc'))
+        self.assertRaises(InvalidValue, field.validate, b('\xab\xde'))
+
+    def test_validate_required(self):
+        from zope.schema.interfaces import InvalidValue
+        from zope.schema.interfaces import RequiredMissing
+        from zope.schema._compat import b
+        field = self._makeOne()
+        field.validate(b(''))
+        field.validate(b('abc'))
+        self.assertRaises(InvalidValue, field.validate, b('\xab\xde'))
+        self.assertRaises(RequiredMissing, field.validate, None)
+
+    def test_constraint(self):
+        from zope.schema._compat import b
+        field = self._makeOne()
+        self.assertEqual(field.constraint(b('')), True)
+        self.assertEqual(field.constraint(b('abc')), True)
+        self.assertEqual(field.constraint(b('abc')), True)
+        # Non-ASCII byltes get checked in '_validate'.
+        self.assertEqual(field.constraint(b('\xab\xde')), True)
+        self.assertEqual(field.constraint(b('abc\ndef')), False)
+
+
 class FloatTests(unittest.TestCase):
 
     def _getTargetClass(self):
@@ -97,6 +239,59 @@
     def _makeOne(self, *args, **kw):
         return self._getTargetClass()(*args, **kw)
 
+    def test_class_conforms_to_IFloat(self):
+        from zope.interface.verify import verifyClass
+        from zope.schema.interfaces import IFloat
+        verifyClass(IFloat, self._getTargetClass())
+
+    def test_instance_conforms_to_IFloat(self):
+        from zope.interface.verify import verifyObject
+        from zope.schema.interfaces import IFloat
+        verifyObject(IFloat, self._makeOne())
+
+    def test_validate_not_required(self):
+        field = self._makeOne(required=False)
+        field.validate(None)
+        field.validate(10.0)
+        field.validate(0.93)
+        field.validate(1000.0003)
+
+    def test_validate_required(self):
+        from zope.schema.interfaces import RequiredMissing
+        field = self._makeOne()
+        field.validate(10.0)
+        field.validate(0.93)
+        field.validate(1000.0003)
+        self.assertRaises(RequiredMissing, field.validate, None)
+
+    def test_validate_min(self):
+        from zope.schema.interfaces import TooSmall
+        field = self._makeOne(min=10.5)
+        field.validate(10.6)
+        field.validate(20.2)
+        self.assertRaises(TooSmall, field.validate, -9.0)
+        self.assertRaises(TooSmall, field.validate, 10.4)
+
+    def test_validate_max(self):
+        from zope.schema.interfaces import TooBig
+        field = self._makeOne(max=10.5)
+        field.validate(5.3)
+        field.validate(-9.1)
+        self.assertRaises(TooBig, field.validate, 10.51)
+        self.assertRaises(TooBig, field.validate, 20.7)
+
+    def test_validate_min_and_max(self):
+        from zope.schema.interfaces import TooBig
+        from zope.schema.interfaces import TooSmall
+        field = self._makeOne(min=-0.6, max=10.1)
+        field.validate(0.0)
+        field.validate(-0.03)
+        field.validate(10.0001)
+        self.assertRaises(TooSmall, field.validate, -10.0)
+        self.assertRaises(TooSmall, field.validate, -1.6)
+        self.assertRaises(TooBig, field.validate, 11.45)
+        self.assertRaises(TooBig, field.validate, 20.02)
+
     def test_fromUnicode_miss(self):
         from zope.schema._compat import u
         flt = self._makeOne()
@@ -121,6 +316,65 @@
     def _makeOne(self, *args, **kw):
         return self._getTargetClass()(*args, **kw)
 
+    def test_class_conforms_to_IDecimal(self):
+        from zope.interface.verify import verifyClass
+        from zope.schema.interfaces import IDecimal
+        verifyClass(IDecimal, self._getTargetClass())
+
+    def test_instance_conforms_to_IDecimal(self):
+        from zope.interface.verify import verifyObject
+        from zope.schema.interfaces import IDecimal
+        verifyObject(IDecimal, self._makeOne())
+
+    def test_validate_not_required(self):
+        import decimal
+        field = self._makeOne(required=False)
+        field.validate(decimal.Decimal("10.0"))
+        field.validate(decimal.Decimal("0.93"))
+        field.validate(decimal.Decimal("1000.0003"))
+        field.validate(None)
+
+    def test_validate_required(self):
+        import decimal
+        from zope.schema.interfaces import RequiredMissing
+        field = self._makeOne()
+        field.validate(decimal.Decimal("10.0"))
+        field.validate(decimal.Decimal("0.93"))
+        field.validate(decimal.Decimal("1000.0003"))
+        self.assertRaises(RequiredMissing, field.validate, None)
+
+    def test_validate_min(self):
+        import decimal
+        from zope.schema.interfaces import TooSmall
+        field = self._makeOne(min=decimal.Decimal("10.5"))
+        field.validate(decimal.Decimal("10.6"))
+        field.validate(decimal.Decimal("20.2"))
+        self.assertRaises(TooSmall, field.validate, decimal.Decimal("-9.0"))
+        self.assertRaises(TooSmall, field.validate, decimal.Decimal("10.4"))
+
+    def test_validate_max(self):
+        import decimal
+        from zope.schema.interfaces import TooBig
+        field = self._makeOne(max=decimal.Decimal("10.5"))
+        field.validate(decimal.Decimal("5.3"))
+        field.validate(decimal.Decimal("-9.1"))
+        self.assertRaises(TooBig, field.validate, decimal.Decimal("10.51"))
+        self.assertRaises(TooBig, field.validate, decimal.Decimal("20.7"))
+
+    def test_validate_min_and_max(self):
+        import decimal
+        from zope.schema.interfaces import TooBig
+        from zope.schema.interfaces import TooSmall
+        field = self._makeOne(min=decimal.Decimal("-0.6"),
+                              max=decimal.Decimal("10.1"))
+        field.validate(decimal.Decimal("0.0"))
+        field.validate(decimal.Decimal("-0.03"))
+        field.validate(decimal.Decimal("10.0001"))
+        self.assertRaises(TooSmall, field.validate, decimal.Decimal("-10.0"))
+        self.assertRaises(TooSmall, field.validate, decimal.Decimal("-1.6"))
+        self.assertRaises(TooBig, field.validate, decimal.Decimal("11.45"))
+        self.assertRaises(TooBig, field.validate, decimal.Decimal("20.02"))
+
     def test_fromUnicode_miss(self):
         from zope.schema._compat import u
         flt = self._makeOne()
@@ -137,6 +391,86 @@
         self.assertEqual(flt.fromUnicode(u('12345.6')), Decimal('12345.6'))
 
 
+class DatetimeTests(unittest.TestCase):
+
+    def _getTargetClass(self):
+        from zope.schema._field import Datetime
+        return Datetime
+
+    def _makeOne(self, *args, **kw):
+        return self._getTargetClass()(*args, **kw)
+
+    def test_class_conforms_to_IDatetime(self):
+        from zope.interface.verify import verifyClass
+        from zope.schema.interfaces import IDatetime
+        verifyClass(IDatetime, self._getTargetClass())
+
+    def test_instance_conforms_to_IDatetime(self):
+        from zope.interface.verify import verifyObject
+        from zope.schema.interfaces import IDatetime
+        verifyObject(IDatetime, self._makeOne())
+
+    def test_validate_wrong_types(self):
+        from datetime import date
+        from zope.schema.interfaces import WrongType
+        field = self._makeOne()
+        self.assertRaises(WrongType, field.validate, 1)
+        self.assertRaises(WrongType, field.validate, 1.0)
+        self.assertRaises(WrongType, field.validate, ())
+        self.assertRaises(WrongType, field.validate, [])
+        self.assertRaises(WrongType, field.validate, {})
+        self.assertRaises(WrongType, field.validate, object())
+        self.assertRaises(WrongType, field.validate, date.today())
+
+    def test_validate_not_required(self):
+        from datetime import datetime
+        field = self._makeOne(required=False)
+        field.validate(None) #doesn't raise
+        field.validate(datetime.now()) #doesn't raise
+
+    def test_validate_required(self):
+        from zope.schema.interfaces import RequiredMissing
+        field = self._makeOne(required=True)
+        self.assertRaises(RequiredMissing, field.validate, None)
+
+    def test_validate_w_min(self):
+        from datetime import datetime
+        from zope.schema.interfaces import TooSmall
+        d1 = datetime(2000,10,1)
+        d2 = datetime(2000,10,2)
+        field = self._makeOne(min=d1)
+        field.validate(d1) #doesn't raise
+        field.validate(d2) #doesn't raise
+        self.assertRaises(TooSmall, field.validate, datetime(2000,9,30))
+
+    def test_validate_w_max(self):
+        from datetime import datetime
+        from zope.schema.interfaces import TooBig
+        d1 = datetime(2000,10,1)
+        d2 = datetime(2000,10,2)
+        d3 = datetime(2000,10,3)
+        field = self._makeOne(max=d2)
+        field.validate(d1) #doesn't raise
+        field.validate(d2) #doesn't raise
+        self.assertRaises(TooBig, field.validate, d3)
+
+    def test_validate_w_min_and_max(self):
+        from datetime import datetime
+        from zope.schema.interfaces import TooBig
+        from zope.schema.interfaces import TooSmall
+        d1 = datetime(2000,10,1)
+        d2 = datetime(2000,10,2)
+        d3 = datetime(2000,10,3)
+        d4 = datetime(2000,10,4)
+        d5 = datetime(2000,10,5)
+        field = self._makeOne(min=d2, max=d4)
+        field.validate(d2) #doesn't raise
+        field.validate(d3) #doesn't raise
+        field.validate(d4) #doesn't raise
+        self.assertRaises(TooSmall, field.validate, d1)
+        self.assertRaises(TooBig, field.validate, d5)
+
+
 class DateTests(unittest.TestCase):
 
     def _getTargetClass(self):
@@ -146,13 +480,222 @@
     def _makeOne(self, *args, **kw):
         return self._getTargetClass()(*args, **kw)
 
-    def test__validate_miss(self):
+    def test_class_conforms_to_IDate(self):
+        from zope.interface.verify import verifyClass
+        from zope.schema.interfaces import IDate
+        verifyClass(IDate, self._getTargetClass())
+
+    def test_instance_conforms_to_IDate(self):
+        from zope.interface.verify import verifyObject
+        from zope.schema.interfaces import IDate
+        verifyObject(IDate, self._makeOne())
+
+    def test_validate_wrong_types(self):
         from datetime import datetime
         from zope.schema.interfaces import WrongType
-        asc = self._makeOne()
-        self.assertRaises(WrongType, asc._validate, datetime.now())
+        field = self._makeOne()
+        self.assertRaises(WrongType, field.validate, 1)
+        self.assertRaises(WrongType, field.validate, 1.0)
+        self.assertRaises(WrongType, field.validate, ())
+        self.assertRaises(WrongType, field.validate, [])
+        self.assertRaises(WrongType, field.validate, {})
+        self.assertRaises(WrongType, field.validate, object())
+        self.assertRaises(WrongType, field.validate, datetime.now())
 
+    def test_validate_not_required(self):
+        from datetime import date
+        field = self._makeOne(required=False)
+        field.validate(None)
+        field.validate(date.today())
 
+    def test_validate_required(self):
+        from datetime import datetime
+        from zope.schema.interfaces import RequiredMissing
+        field = self._makeOne()
+        field.validate(datetime.now().date())
+        self.assertRaises(RequiredMissing, field.validate, None)
+
+    def test_validate_w_min(self):
+        from datetime import date
+        from datetime import datetime
+        from zope.schema.interfaces import TooSmall
+        d1 = date(2000,10,1)
+        d2 = date(2000,10,2)
+        field = self._makeOne(min=d1)
+        field.validate(d1)
+        field.validate(d2)
+        field.validate(datetime.now().date())
+        self.assertRaises(TooSmall, field.validate, date(2000,9,30))
+
+    def test_validate_w_max(self):
+        from datetime import date
+        from zope.schema.interfaces import TooBig
+        d1 = date(2000,10,1)
+        d2 = date(2000,10,2)
+        d3 = date(2000,10,3)
+        field = self._makeOne(max=d2)
+        field.validate(d1)
+        field.validate(d2)
+        self.assertRaises(TooBig, field.validate, d3)
+
+    def test_validate_w_min_and_max(self):
+        from datetime import date
+        from zope.schema.interfaces import TooBig
+        from zope.schema.interfaces import TooSmall
+        d1 = date(2000,10,1)
+        d2 = date(2000,10,2)
+        d3 = date(2000,10,3)
+        d4 = date(2000,10,4)
+        d5 = date(2000,10,5)
+        field = self._makeOne(min=d2, max=d4)
+        field.validate(d2)
+        field.validate(d3)
+        field.validate(d4)
+        self.assertRaises(TooSmall, field.validate, d1)
+        self.assertRaises(TooBig, field.validate, d5)
+
+
+class TimedeltaTests(unittest.TestCase):
+
+    def _getTargetClass(self):
+        from zope.schema._field import Timedelta
+        return Timedelta
+
+    def _makeOne(self, *args, **kw):
+        return self._getTargetClass()(*args, **kw)
+
+    def test_class_conforms_to_ITimedelta(self):
+        from zope.interface.verify import verifyClass
+        from zope.schema.interfaces import ITimedelta
+        verifyClass(ITimedelta, self._getTargetClass())
+
+    def test_instance_conforms_to_ITimedelta(self):
+        from zope.interface.verify import verifyObject
+        from zope.schema.interfaces import ITimedelta
+        verifyObject(ITimedelta, self._makeOne())
+
+    def test_validate_not_required(self):
+        from datetime import timedelta
+        field = self._makeOne(required=False)
+        field.validate(None)
+        field.validate(timedelta(minutes=15))
+
+    def test_validate_required(self):
+        from datetime import timedelta
+        from zope.schema.interfaces import RequiredMissing
+        field = self._makeOne()
+        field.validate(timedelta(minutes=15))
+        self.assertRaises(RequiredMissing, field.validate, None)
+
+    def test_validate_min(self):
+        from datetime import timedelta
+        from zope.schema.interfaces import TooSmall
+        t1 = timedelta(hours=2)
+        t2 = timedelta(hours=3)
+        field = self._makeOne(min=t1)
+        field.validate(t1)
+        field.validate(t2)
+        self.assertRaises(TooSmall, field.validate, timedelta(hours=1))
+
+    def test_validate_max(self):
+        from datetime import timedelta
+        from zope.schema.interfaces import TooBig
+        t1 = timedelta(minutes=1)
+        t2 = timedelta(minutes=2)
+        t3 = timedelta(minutes=3)
+        field = self._makeOne(max=t2)
+        field.validate(t1)
+        field.validate(t2)
+        self.assertRaises(TooBig, field.validate, t3)
+
+    def test_validate_min_and_max(self):
+        from datetime import timedelta
+        from zope.schema.interfaces import TooBig
+        from zope.schema.interfaces import TooSmall
+        t1 = timedelta(days=1)
+        t2 = timedelta(days=2)
+        t3 = timedelta(days=3)
+        t4 = timedelta(days=4)
+        t5 = timedelta(days=5)
+        field = self._makeOne(min=t2, max=t4)
+        field.validate(t2)
+        field.validate(t3)
+        field.validate(t4)
+        self.assertRaises(TooSmall, field.validate, t1)
+        self.assertRaises(TooBig, field.validate, t5)
+
+
+class TimeTests(unittest.TestCase):
+
+    def _getTargetClass(self):
+        from zope.schema._field import Time
+        return Time
+
+    def _makeOne(self, *args, **kw):
+        return self._getTargetClass()(*args, **kw)
+
+    def test_class_conforms_to_ITime(self):
+        from zope.interface.verify import verifyClass
+        from zope.schema.interfaces import ITime
+        verifyClass(ITime, self._getTargetClass())
+
+    def test_instance_conforms_to_ITime(self):
+        from zope.interface.verify import verifyObject
+        from zope.schema.interfaces import ITime
+        verifyObject(ITime, self._makeOne())
+
+    def test_validate_not_required(self):
+        from datetime import time
+        field = self._makeOne(required=False)
+        field.validate(None)
+        field.validate(time(12,15,37))
+
+    def test_validate_required(self):
+        from datetime import time
+        from zope.schema.interfaces import RequiredMissing
+        field = self._makeOne()
+        field.validate(time(12,15,37))
+        self.assertRaises(RequiredMissing, field.validate, None)
+
+    def test_validate_min(self):
+        from datetime import time
+        from zope.schema.interfaces import TooSmall
+        t1 = time(12,15,37)
+        t2 = time(12,25,18)
+        t3 = time(12,42,43)
+        field = self._makeOne(min=t2)
+        field.validate(t2)
+        field.validate(t3)
+        self.assertRaises(TooSmall, field.validate, t1)
+
+    def test_validate_max(self):
+        from datetime import time
+        from zope.schema.interfaces import TooBig
+        t1 = time(12,15,37)
+        t2 = time(12,25,18)
+        t3 = time(12,42,43)
+        field = self._makeOne(max=t2)
+        field.validate(t1)
+        field.validate(t2)
+        self.assertRaises(TooBig, field.validate, t3)
+
+    def test_validate_min_and_max(self):
+        from datetime import time
+        from zope.schema.interfaces import TooBig
+        from zope.schema.interfaces import TooSmall
+        t1 = time(12,15,37)
+        t2 = time(12,25,18)
+        t3 = time(12,42,43)
+        t4 = time(13,7,12)
+        t5 = time(14,22,9)
+        field = self._makeOne(min=t2, max=t4)
+        field.validate(t2)
+        field.validate(t3)
+        field.validate(t4)
+        self.assertRaises(TooSmall, field.validate, t1)
+        self.assertRaises(TooBig, field.validate, t5)
+
+
 class ChoiceTests(unittest.TestCase):
 
     def setUp(self):
@@ -170,6 +713,16 @@
     def _makeOne(self, *args, **kw):
         return self._getTargetClass()(*args, **kw)
 
+    def test_class_conforms_to_IChoice(self):
+        from zope.interface.verify import verifyClass
+        from zope.schema.interfaces import IChoice
+        verifyClass(IChoice, self._getTargetClass())
+
+    def test_instance_conforms_to_IChoice(self):
+        from zope.interface.verify import verifyObject
+        from zope.schema.interfaces import IChoice
+        verifyObject(IChoice, self._makeOne(values=[1, 2, 3]))
+
     def test_ctor_wo_values_vocabulary_or_source(self):
         self.assertRaises(ValueError, self._makeOne)
 
@@ -363,6 +916,55 @@
         self.assertRaises(ConstraintNotSatisfied, clone._validate, 42)
 
 
+class InterfaceFieldTests(unittest.TestCase):
+
+    def _getTargetClass(self):
+        from zope.schema._field import InterfaceField
+        return InterfaceField
+
+    def _makeOne(self, *args, **kw):
+        return self._getTargetClass()(*args, **kw)
+
+    def test_class_conforms_to_IInterfaceField(self):
+        from zope.interface.verify import verifyClass
+        from zope.schema.interfaces import IInterfaceField
+        verifyClass(IInterfaceField, self._getTargetClass())
+
+    def test_instance_conforms_to_IInterfaceField(self):
+        from zope.interface.verify import verifyObject
+        from zope.schema.interfaces import IInterfaceField
+        verifyObject(IInterfaceField, self._makeOne())
+
+    def test_validate_wrong_types(self):
+        from datetime import date
+        from zope.schema.interfaces import WrongType
+        field = self._makeOne()
+        self.assertRaises(WrongType, field.validate, 1)
+        self.assertRaises(WrongType, field.validate, 1.0)
+        self.assertRaises(WrongType, field.validate, ())
+        self.assertRaises(WrongType, field.validate, [])
+        self.assertRaises(WrongType, field.validate, {})
+        self.assertRaises(WrongType, field.validate, object())
+        self.assertRaises(WrongType, field.validate, date.today())
+
+    def test_validate_not_required(self):
+        from zope.interface import Interface
+        class DummyInterface(Interface):
+            pass
+        field = self._makeOne(required=False)
+        field.validate(DummyInterface)
+        field.validate(None)
+
+    def test_validate_required(self):
+        from zope.interface import Interface
+        from zope.schema.interfaces import RequiredMissing
+        class DummyInterface(Interface):
+            pass
+        field = self._makeOne(required=True)
+        field.validate(DummyInterface)
+        self.assertRaises(RequiredMissing, field.validate, None)
+
+
 class DummyInstance(object):
     pass
 
@@ -414,7 +1016,11 @@
         unittest.makeSuite(ASCIILineTests),
         unittest.makeSuite(FloatTests),
         unittest.makeSuite(DecimalTests),
+        unittest.makeSuite(DatetimeTests),
         unittest.makeSuite(DateTests),
+        unittest.makeSuite(TimedeltaTests),
+        unittest.makeSuite(TimeTests),
         unittest.makeSuite(ChoiceTests),
+        unittest.makeSuite(InterfaceFieldTests),
     ))
 

Deleted: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_date.py
===================================================================
--- zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_date.py	2012-04-25 18:19:48 UTC (rev 125282)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_date.py	2012-04-25 18:19:53 UTC (rev 125283)
@@ -1,109 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Date field tests
-"""
-import unittest
-
-from zope.schema.tests.test_field import FieldTestBase
-
-class DateTest(unittest.TestCase, FieldTestBase):
-    """Test the Date Field."""
-
-    def _getTargetClass(self):
-        from zope.schema import Date
-        return Date
-
-    def testInterface(self):
-        from zope.interface.verify import verifyObject
-        from zope.schema.interfaces import IDate
-        verifyObject(IDate, self._makeOne())
-
-    def testValidate(self):
-        from datetime import datetime
-        from zope.schema._compat import u
-        from zope.schema.interfaces import WrongType
-        field = self._makeOne(title=u('Date field'), description=u(''),
-                                    readonly=False, required=False)
-        field.validate(None)
-        field.validate(datetime.now().date())
-        self.assertRaises(WrongType, field.validate, datetime.now())
-
-    def testValidateRequired(self):
-        from datetime import datetime
-        from zope.schema._compat import u
-        from zope.schema.interfaces import RequiredMissing
-        field = self._makeOne(title=u('Date field'), description=u(''),
-                                    readonly=False, required=True)
-        field.validate(datetime.now().date())
-
-        self.assertRaises(RequiredMissing, field.validate, None)
-
-    def testValidateMin(self):
-        from datetime import date
-        from datetime import datetime
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooSmall
-        d1 = date(2000,10,1)
-        d2 = date(2000,10,2)
-        field = self._makeOne(title=u('Date field'), description=u(''),
-                                    readonly=False, required=False, min=d1)
-        field.validate(None)
-        field.validate(d1)
-        field.validate(d2)
-        field.validate(datetime.now().date())
-
-        self.assertRaises(TooSmall, field.validate, date(2000,9,30))
-
-    def testValidateMax(self):
-        from datetime import date
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooBig
-        d1 = date(2000,10,1)
-        d2 = date(2000,10,2)
-        d3 = date(2000,10,3)
-        field = self._makeOne(title=u('Date field'), description=u(''),
-                                    readonly=False, required=False, max=d2)
-        field.validate(None)
-        field.validate(d1)
-        field.validate(d2)
-
-        self.assertRaises(TooBig, field.validate, d3)
-
-    def testValidateMinAndMax(self):
-        from datetime import date
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooBig
-        from zope.schema.interfaces import TooSmall
-        d1 = date(2000,10,1)
-        d2 = date(2000,10,2)
-        d3 = date(2000,10,3)
-        d4 = date(2000,10,4)
-        d5 = date(2000,10,5)
-
-        field = self._makeOne(title=u('Date field'), description=u(''),
-                                    readonly=False, required=False,
-                                    min=d2, max=d4)
-        field.validate(None)
-        field.validate(d2)
-        field.validate(d3)
-        field.validate(d4)
-
-        self.assertRaises(TooSmall, field.validate, d1)
-        self.assertRaises(TooBig, field.validate, d5)
-
-
-def test_suite():
-    return unittest.TestSuite((
-        unittest.makeSuite(DateTest),
-    ))

Deleted: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_datetime.py
===================================================================
--- zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_datetime.py	2012-04-25 18:19:48 UTC (rev 125282)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_datetime.py	2012-04-25 18:19:53 UTC (rev 125283)
@@ -1,101 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Datetime Field tests
-"""
-import unittest
-
-from zope.schema.tests.test_field import FieldTestBase
-
-class DatetimeTest(unittest.TestCase, FieldTestBase):
-    """Test the Datetime Field."""
-
-    def _getTargetClass(self):
-        from zope.schema import Datetime
-        return Datetime
-
-    def testValidate(self):
-        from datetime import datetime
-        from zope.schema._compat import u
-        field = self._makeOne(title=u('Datetime field'), description=u(''),
-                                    readonly=False, required=False)
-        field.validate(None)
-        field.validate(datetime.now())
-
-    def testValidateRequired(self):
-        from datetime import datetime
-        from zope.schema._compat import u
-        from zope.schema.interfaces import RequiredMissing
-        field = self._makeOne(title=u('Datetime field'), description=u(''),
-                                    readonly=False, required=True)
-        field.validate(datetime.now())
-
-        self.assertRaises(RequiredMissing, field.validate, None)
-
-    def testValidateMin(self):
-        from datetime import datetime
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooSmall
-        d1 = datetime(2000,10,1)
-        d2 = datetime(2000,10,2)
-        field = self._makeOne(title=u('Datetime field'), description=u(''),
-                                    readonly=False, required=False, min=d1)
-        field.validate(None)
-        field.validate(d1)
-        field.validate(d2)
-        field.validate(datetime.now())
-
-        self.assertRaises(TooSmall, field.validate, datetime(2000,9,30))
-
-    def testValidateMax(self):
-        from datetime import datetime
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooBig
-        d1 = datetime(2000,10,1)
-        d2 = datetime(2000,10,2)
-        d3 = datetime(2000,10,3)
-        field = self._makeOne(title=u('Datetime field'), description=u(''),
-                                    readonly=False, required=False, max=d2)
-        field.validate(None)
-        field.validate(d1)
-        field.validate(d2)
-
-        self.assertRaises(TooBig, field.validate, d3)
-
-    def testValidateMinAndMax(self):
-        from datetime import datetime
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooBig
-        from zope.schema.interfaces import TooSmall
-        d1 = datetime(2000,10,1)
-        d2 = datetime(2000,10,2)
-        d3 = datetime(2000,10,3)
-        d4 = datetime(2000,10,4)
-        d5 = datetime(2000,10,5)
-
-        field = self._makeOne(title=u('Datetime field'), description=u(''),
-                                    readonly=False, required=False,
-                                    min=d2, max=d4)
-        field.validate(None)
-        field.validate(d2)
-        field.validate(d3)
-        field.validate(d4)
-
-        self.assertRaises(TooSmall, field.validate, d1)
-        self.assertRaises(TooBig, field.validate, d5)
-
-
-def test_suite():
-    return unittest.TestSuite((
-        unittest.makeSuite(DatetimeTest),
-    ))

Deleted: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_decimalfield.py
===================================================================
--- zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_decimalfield.py	2012-04-25 18:19:48 UTC (rev 125282)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_decimalfield.py	2012-04-25 18:19:53 UTC (rev 125283)
@@ -1,101 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002, 2006 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Decimal field tests
-"""
-import unittest
-
-from zope.schema.tests.test_field import FieldTestBase
-
-
-class DecimalTest(unittest.TestCase, FieldTestBase):
-    """Test the Decimal Field."""
-
-    def _getTargetClass(self):
-        from zope.schema import Decimal
-        return Decimal
-
-    def testValidate(self):
-        import decimal
-        from zope.schema._compat import u
-        field = self._makeOne(title=u('Decimal field'), description=u(''),
-                                    readonly=False, required=False)
-        field.validate(None)
-        field.validate(decimal.Decimal("10.0"))
-        field.validate(decimal.Decimal("0.93"))
-        field.validate(decimal.Decimal("1000.0003"))
-
-    def testValidateRequired(self):
-        import decimal
-        from zope.schema._compat import u
-        from zope.schema.interfaces import RequiredMissing
-        field = self._makeOne(title=u('Decimal field'), description=u(''),
-                                    readonly=False, required=True)
-        field.validate(decimal.Decimal("10.0"))
-        field.validate(decimal.Decimal("0.93"))
-        field.validate(decimal.Decimal("1000.0003"))
-
-        self.assertRaises(RequiredMissing, field.validate, None)
-
-    def testValidateMin(self):
-        import decimal
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooSmall
-        field = self._makeOne(title=u('Decimal field'), description=u(''),
-                                    readonly=False, required=False,
-                                    min=decimal.Decimal("10.5"))
-        field.validate(None)
-        field.validate(decimal.Decimal("10.6"))
-        field.validate(decimal.Decimal("20.2"))
-
-        self.assertRaises(TooSmall, field.validate, decimal.Decimal("-9.0"))
-        self.assertRaises(TooSmall, field.validate, decimal.Decimal("10.4"))
-
-    def testValidateMax(self):
-        import decimal
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooBig
-        field = self._makeOne(title=u('Decimal field'), description=u(''),
-                                    readonly=False, required=False,
-                                    max=decimal.Decimal("10.5"))
-        field.validate(None)
-        field.validate(decimal.Decimal("5.3"))
-        field.validate(decimal.Decimal("-9.1"))
-
-        self.assertRaises(TooBig, field.validate, decimal.Decimal("10.51"))
-        self.assertRaises(TooBig, field.validate, decimal.Decimal("20.7"))
-
-    def testValidateMinAndMax(self):
-        import decimal
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooBig
-        from zope.schema.interfaces import TooSmall
-        field = self._makeOne(title=u('Decimal field'), description=u(''),
-                                    readonly=False, required=False,
-                                    min=decimal.Decimal("-0.6"),
-                                    max=decimal.Decimal("10.1"))
-        field.validate(None)
-        field.validate(decimal.Decimal("0.0"))
-        field.validate(decimal.Decimal("-0.03"))
-        field.validate(decimal.Decimal("10.0001"))
-
-        self.assertRaises(TooSmall, field.validate, decimal.Decimal("-10.0"))
-        self.assertRaises(TooSmall, field.validate, decimal.Decimal("-1.6"))
-        self.assertRaises(TooBig, field.validate, decimal.Decimal("11.45"))
-        self.assertRaises(TooBig, field.validate, decimal.Decimal("20.02"))
-
-
-def test_suite():
-    return unittest.TestSuite((
-        unittest.makeSuite(DecimalTest),
-    ))

Deleted: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_floatfield.py
===================================================================
--- zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_floatfield.py	2012-04-25 18:19:48 UTC (rev 125282)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_floatfield.py	2012-04-25 18:19:53 UTC (rev 125283)
@@ -1,93 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Float field tests
-"""
-import unittest
-
-from zope.schema.tests.test_field import FieldTestBase
-
-
-class FloatTest(unittest.TestCase, FieldTestBase):
-    """Test the Float Field."""
-
-    def _getTargetClass(self):
-        from zope.schema import Float
-        return Float
-
-    def testValidate(self):
-        from zope.schema._compat import u
-        field = self._makeOne(title=u('Float field'), description=u(''),
-                                    readonly=False, required=False)
-        field.validate(None)
-        field.validate(10.0)
-        field.validate(0.93)
-        field.validate(1000.0003)
-
-    def testValidateRequired(self):
-        from zope.schema._compat import u
-        from zope.schema.interfaces import RequiredMissing
-        field = self._makeOne(title=u('Float field'), description=u(''),
-                                    readonly=False, required=True)
-        field.validate(10.0)
-        field.validate(0.93)
-        field.validate(1000.0003)
-
-        self.assertRaises(RequiredMissing, field.validate, None)
-
-    def testValidateMin(self):
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooSmall
-        field = self._makeOne(title=u('Float field'), description=u(''),
-                                    readonly=False, required=False, min=10.5)
-        field.validate(None)
-        field.validate(10.6)
-        field.validate(20.2)
-
-        self.assertRaises(TooSmall, field.validate, -9.0)
-        self.assertRaises(TooSmall, field.validate, 10.4)
-
-    def testValidateMax(self):
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooBig
-        field = self._makeOne(title=u('Float field'), description=u(''),
-                                    readonly=False, required=False, max=10.5)
-        field.validate(None)
-        field.validate(5.3)
-        field.validate(-9.1)
-
-        self.assertRaises(TooBig, field.validate, 10.51)
-        self.assertRaises(TooBig, field.validate, 20.7)
-
-    def testValidateMinAndMax(self):
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooBig
-        from zope.schema.interfaces import TooSmall
-        field = self._makeOne(title=u('Float field'), description=u(''),
-                                    readonly=False, required=False,
-                                    min=-0.6, max=10.1)
-        field.validate(None)
-        field.validate(0.0)
-        field.validate(-0.03)
-        field.validate(10.0001)
-
-        self.assertRaises(TooSmall, field.validate, -10.0)
-        self.assertRaises(TooSmall, field.validate, -1.6)
-        self.assertRaises(TooBig, field.validate, 11.45)
-        self.assertRaises(TooBig, field.validate, 20.02)
-
-
-def test_suite():
-    return unittest.TestSuite((
-        unittest.makeSuite(FloatTest),
-    ))

Deleted: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_interfacefield.py
===================================================================
--- zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_interfacefield.py	2012-04-25 18:19:48 UTC (rev 125282)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_interfacefield.py	2012-04-25 18:19:53 UTC (rev 125283)
@@ -1,51 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Interface field tests
-"""
-import unittest
-
-from zope.schema.tests.test_field import FieldTestBase
-
-class InterfaceTest(unittest.TestCase, FieldTestBase):
-    """Test the Bool Field."""
-
-    def _getTargetClass(self):
-        from zope.schema import InterfaceField
-        return InterfaceField
-
-    def testValidate(self):
-        from zope.schema._compat import u
-        from zope.interface import Interface
-        from zope.schema.interfaces import WrongType
-
-        class DummyInterface(Interface):
-            pass
-
-        field = self._makeOne(title=u('Interface field'), description=u(''),
-                     readonly=False, required=False)
-        field.validate(DummyInterface)
-        self.assertRaises(WrongType, field.validate, object())
-
-    def testValidateRequired(self):
-        from zope.schema._compat import u
-        from zope.schema.interfaces import RequiredMissing
-        field = self._makeOne(title=u('Interface field'), description=u(''),
-                     readonly=False, required=True)
-        self.assertRaises(RequiredMissing, field.validate, None)
-
-
-def test_suite():
-    return unittest.TestSuite((
-        unittest.makeSuite(InterfaceTest),
-    ))

Deleted: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_intfield.py
===================================================================
--- zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_intfield.py	2012-04-25 18:19:48 UTC (rev 125282)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_intfield.py	2012-04-25 18:19:53 UTC (rev 125283)
@@ -1,94 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Integer field tests
-"""
-import unittest
-
-from zope.schema.tests.test_field import FieldTestBase
-
-
-class IntTest(unittest.TestCase, FieldTestBase):
-    """Test the Int Field."""
-
-    def _getTargetClass(self):
-        from zope.schema import Int
-        return Int
-
-    def testValidate(self):
-        from zope.schema._compat import u
-        field = self._makeOne(title=u('Int field'), description=u(''),
-                                    readonly=False, required=False)
-        field.validate(None)
-        field.validate(10)
-        field.validate(0)
-        field.validate(-1)
-
-    def testValidateRequired(self):
-        from zope.schema._compat import u
-        from zope.schema.interfaces import RequiredMissing
-        field = self._makeOne(title=u('Int field'), description=u(''),
-                                    readonly=False, required=True)
-        field.validate(10)
-        field.validate(0)
-        field.validate(-1)
-
-        self.assertRaises(RequiredMissing, field.validate, None)
-
-    def testValidateMin(self):
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooSmall
-        field = self._makeOne(title=u('Int field'), description=u(''),
-                                    readonly=False, required=False, min=10)
-        field.validate(None)
-        field.validate(10)
-        field.validate(20)
-
-        self.assertRaises(TooSmall, field.validate, 9)
-        self.assertRaises(TooSmall, field.validate, -10)
-
-    def testValidateMax(self):
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooBig
-        field = self._makeOne(title=u('Int field'), description=u(''),
-                                    readonly=False, required=False, max=10)
-        field.validate(None)
-        field.validate(5)
-        field.validate(9)
-        field.validate(10)
-
-        self.assertRaises(TooBig, field.validate, 11)
-        self.assertRaises(TooBig, field.validate, 20)
-
-    def testValidateMinAndMax(self):
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooBig
-        from zope.schema.interfaces import TooSmall
-        field = self._makeOne(title=u('Int field'), description=u(''),
-                                    readonly=False, required=False,
-                                    min=0, max=10)
-        field.validate(None)
-        field.validate(0)
-        field.validate(5)
-        field.validate(10)
-
-        self.assertRaises(TooSmall, field.validate, -10)
-        self.assertRaises(TooSmall, field.validate, -1)
-        self.assertRaises(TooBig, field.validate, 11)
-        self.assertRaises(TooBig, field.validate, 20)
-
-
-def test_suite():
-    return unittest.TestSuite((
-        unittest.makeSuite(IntTest),
-    ))

Deleted: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_timedelta.py
===================================================================
--- zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_timedelta.py	2012-04-25 18:19:48 UTC (rev 125282)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test_timedelta.py	2012-04-25 18:19:53 UTC (rev 125283)
@@ -1,110 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Timedelta Field tests
-"""
-import unittest
-
-from zope.schema.tests.test_field import FieldTestBase
-
-
-class TimedeltaTest(unittest.TestCase, FieldTestBase):
-    """Test the Timedelta Field."""
-
-    def _getTargetClass(self):
-        from zope.schema import Timedelta
-        return Timedelta
-
-    def testInterface(self):
-        from zope.interface.verify import verifyObject
-        from zope.schema.interfaces import ITimedelta
-        verifyObject(ITimedelta, self._makeOne())
-
-    def testValidate(self):
-        from datetime import timedelta
-        from zope.schema._compat import u
-        field = self._makeOne(title=u('Timedelta field'),
-                                    description=u(''),
-                                    readonly=False, required=False)
-        field.validate(None)
-        field.validate(timedelta(minutes=15))
-
-    def testValidateRequired(self):
-        from datetime import timedelta
-        from zope.schema._compat import u
-        from zope.schema.interfaces import RequiredMissing
-        field = self._makeOne(title=u('Timedelta field'), description=u(''),
-                                    readonly=False, required=True)
-        field.validate(timedelta(minutes=15))
-
-        self.assertRaises(RequiredMissing, field.validate, None)
-
-    def testValidateMin(self):
-        from datetime import timedelta
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooSmall
-        t1 = timedelta(hours=2)
-        t2 = timedelta(hours=3)
-        field = self._makeOne(title=u('Timedelta field'),
-                                    description=u(''),
-                                    readonly=False, required=False, min=t1)
-        field.validate(None)
-        field.validate(t1)
-        field.validate(t2)
-
-        self.assertRaises(TooSmall, field.validate, timedelta(hours=1))
-
-    def testValidateMax(self):
-        from datetime import timedelta
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooBig
-        t1 = timedelta(minutes=1)
-        t2 = timedelta(minutes=2)
-        t3 = timedelta(minutes=3)
-        field = self._makeOne(title=u('Timedelta field'),
-                                    description=u(''),
-                                    readonly=False, required=False, max=t2)
-        field.validate(None)
-        field.validate(t1)
-        field.validate(t2)
-
-        self.assertRaises(TooBig, field.validate, t3)
-
-    def testValidateMinAndMax(self):
-        from datetime import timedelta
-        from zope.schema._compat import u
-        from zope.schema.interfaces import TooBig
-        from zope.schema.interfaces import TooSmall
-        t1 = timedelta(days=1)
-        t2 = timedelta(days=2)
-        t3 = timedelta(days=3)
-        t4 = timedelta(days=4)
-        t5 = timedelta(days=5)
-
-        field = self._makeOne(title=u('Timedelta field'),
-                                    description=u(''),
-                                    readonly=False, required=False,
-                                    min=t2, max=t4)
-        field.validate(None)
-        field.validate(t2)
-        field.validate(t3)
-        field.validate(t4)
-
-        self.assertRaises(TooSmall, field.validate, t1)
-        self.assertRaises(TooBig, field.validate, t5)
-
-
-def test_suite():
-    return unittest.TestSuite((
-        unittest.makeSuite(TimedeltaTest),
-    ))



More information about the checkins mailing list