[Checkins] SVN: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py Coverage for z.s._f.AbstractCollection.
Tres Seaver
cvs-admin at zope.org
Wed Apr 25 18:20:02 UTC 2012
Log message for revision 125284:
Coverage for z.s._f.AbstractCollection.
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-25 18:19:53 UTC (rev 125283)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py 2012-04-25 18:19:58 UTC (rev 125284)
@@ -965,6 +965,67 @@
self.assertRaises(RequiredMissing, field.validate, None)
+class AbstractCollectionTests(unittest.TestCase):
+
+ def _getTargetClass(self):
+ from zope.schema._field import AbstractCollection
+ return AbstractCollection
+
+ def _makeOne(self, *args, **kw):
+ return self._getTargetClass()(*args, **kw)
+
+ def test_ctor_defaults(self):
+ absc = self._makeOne()
+ self.assertEqual(absc.value_type, None)
+ self.assertEqual(absc.unique, False)
+
+ def test_ctor_explicit(self):
+ from zope.schema._bootstrapfields import Text
+ text = Text()
+ absc = self._makeOne(text, True)
+ self.assertEqual(absc.value_type, text)
+ self.assertEqual(absc.unique, True)
+
+ def test_ctor_w_non_field_value_type(self):
+ class NotAField(object):
+ pass
+ self.assertRaises(ValueError, self._makeOne, NotAField)
+
+ def test_bind_wo_value_Type(self):
+ absc = self._makeOne()
+ context = object()
+ bound = absc.bind(context)
+ self.assertEqual(bound.context, context)
+ self.assertEqual(bound.value_type, None)
+ self.assertEqual(bound.unique, False)
+
+ def test_bind_w_value_Type(self):
+ from zope.schema._bootstrapfields import Text
+ text = Text()
+ absc = self._makeOne(text, True)
+ context = object()
+ bound = absc.bind(context)
+ self.assertEqual(bound.context, context)
+ self.assertEqual(isinstance(bound.value_type, Text), True)
+ self.assertEqual(bound.value_type.context, context)
+ self.assertEqual(bound.unique, True)
+
+ def test__validate_wrong_contained_type(self):
+ from zope.schema.interfaces import WrongContainedType
+ from zope.schema._bootstrapfields import Text
+ text = Text()
+ absc = self._makeOne(text)
+ self.assertRaises(WrongContainedType, absc.validate, [1])
+
+ def test__validate_miss_uniqueness(self):
+ from zope.schema.interfaces import NotUnique
+ from zope.schema._bootstrapfields import Text
+ from zope.schema._compat import u
+ text = Text()
+ absc = self._makeOne(text, True)
+ self.assertRaises(NotUnique, absc.validate, [u('a'), u('a')])
+
+
class DummyInstance(object):
pass
@@ -1022,5 +1083,6 @@
unittest.makeSuite(TimeTests),
unittest.makeSuite(ChoiceTests),
unittest.makeSuite(InterfaceFieldTests),
+ unittest.makeSuite(AbstractCollectionTests),
))
More information about the checkins
mailing list