mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-19 14:32:16 +00:00
Added printing requirements
This commit is contained in:
99
zope/schema/tests/test_interfaces.py
Normal file
99
zope/schema/tests/test_interfaces.py
Normal file
@@ -0,0 +1,99 @@
|
||||
import unittest
|
||||
|
||||
|
||||
class Test__is_field(unittest.TestCase):
|
||||
|
||||
def _callFUT(self, value):
|
||||
from zope.schema.interfaces import _is_field
|
||||
return _is_field(value)
|
||||
|
||||
def test_non_fields(self):
|
||||
from zope.schema._compat import b
|
||||
from zope.schema._compat import u
|
||||
self.assertEqual(self._callFUT(None), False)
|
||||
self.assertEqual(self._callFUT(0), False)
|
||||
self.assertEqual(self._callFUT(0.0), False)
|
||||
self.assertEqual(self._callFUT(True), False)
|
||||
self.assertEqual(self._callFUT(b('')), False)
|
||||
self.assertEqual(self._callFUT(u('')), False)
|
||||
self.assertEqual(self._callFUT(()), False)
|
||||
self.assertEqual(self._callFUT([]), False)
|
||||
self.assertEqual(self._callFUT({}), False)
|
||||
self.assertEqual(self._callFUT(set()), False)
|
||||
self.assertEqual(self._callFUT(frozenset()), False)
|
||||
self.assertEqual(self._callFUT(object()), False)
|
||||
|
||||
def test_w_normal_fields(self):
|
||||
from zope.schema import Text
|
||||
from zope.schema import Bytes
|
||||
from zope.schema import Int
|
||||
from zope.schema import Float
|
||||
from zope.schema import Decimal
|
||||
self.assertEqual(self._callFUT(Text()), True)
|
||||
self.assertEqual(self._callFUT(Bytes()), True)
|
||||
self.assertEqual(self._callFUT(Int()), True)
|
||||
self.assertEqual(self._callFUT(Float()), True)
|
||||
self.assertEqual(self._callFUT(Decimal()), True)
|
||||
|
||||
def test_w_explicitly_provided(self):
|
||||
from zope.interface import directlyProvides
|
||||
from zope.schema.interfaces import IField
|
||||
|
||||
class Foo(object):
|
||||
pass
|
||||
|
||||
foo = Foo()
|
||||
self.assertEqual(self._callFUT(foo), False)
|
||||
directlyProvides(foo, IField)
|
||||
self.assertEqual(self._callFUT(foo), True)
|
||||
|
||||
|
||||
class Test__fields(unittest.TestCase):
|
||||
|
||||
def _callFUT(self, values):
|
||||
from zope.schema.interfaces import _fields
|
||||
return _fields(values)
|
||||
|
||||
def test_empty_containers(self):
|
||||
self.assertEqual(self._callFUT(()), True)
|
||||
self.assertEqual(self._callFUT([]), True)
|
||||
|
||||
def test_w_non_fields(self):
|
||||
self.assertEqual(self._callFUT([None]), False)
|
||||
self.assertEqual(self._callFUT(['']), False)
|
||||
self.assertEqual(self._callFUT([object()]), False)
|
||||
|
||||
def test_w_fields(self):
|
||||
from zope.schema import Text
|
||||
from zope.schema import Bytes
|
||||
from zope.schema import Int
|
||||
from zope.schema import Float
|
||||
from zope.schema import Decimal
|
||||
self.assertEqual(self._callFUT([Text()]), True)
|
||||
self.assertEqual(self._callFUT([Bytes()]), True)
|
||||
self.assertEqual(self._callFUT([Int()]), True)
|
||||
self.assertEqual(self._callFUT([Float()]), True)
|
||||
self.assertEqual(self._callFUT([Decimal()]), True)
|
||||
self.assertEqual(
|
||||
self._callFUT([Text(), Bytes(), Int(), Float(), Decimal()]),
|
||||
True
|
||||
)
|
||||
|
||||
def test_w_mixed(self):
|
||||
from zope.schema import Text
|
||||
from zope.schema import Bytes
|
||||
from zope.schema import Int
|
||||
from zope.schema import Float
|
||||
from zope.schema import Decimal
|
||||
self.assertEqual(self._callFUT([Text(), 0]), False)
|
||||
self.assertEqual(
|
||||
self._callFUT([Text(), Bytes(), Int(), Float(), Decimal(), 0]),
|
||||
False
|
||||
)
|
||||
|
||||
|
||||
def test_suite():
|
||||
return unittest.TestSuite((
|
||||
unittest.makeSuite(Test__is_field),
|
||||
unittest.makeSuite(Test__fields),
|
||||
))
|
||||
Reference in New Issue
Block a user