1import unittest 2 3 4class _ConformsToIObjectEvent(object): 5 6 def _makeOne(self, target=None): 7 if target is None: 8 target = object() 9 return self._getTargetClass()(target) 10 11 def test_class_conforms_to_IObjectEvent(self): 12 from zope.interface.interfaces import IObjectEvent 13 from zope.interface.verify import verifyClass 14 verifyClass(IObjectEvent, self._getTargetClass()) 15 16 def test_instance_conforms_to_IObjectEvent(self): 17 from zope.interface.interfaces import IObjectEvent 18 from zope.interface.verify import verifyObject 19 verifyObject(IObjectEvent, self._makeOne()) 20 21 22class _ConformsToIRegistrationEvent(_ConformsToIObjectEvent): 23 24 def test_class_conforms_to_IRegistrationEvent(self): 25 from zope.interface.interfaces import IRegistrationEvent 26 from zope.interface.verify import verifyClass 27 verifyClass(IRegistrationEvent, self._getTargetClass()) 28 29 def test_instance_conforms_to_IRegistrationEvent(self): 30 from zope.interface.interfaces import IRegistrationEvent 31 from zope.interface.verify import verifyObject 32 verifyObject(IRegistrationEvent, self._makeOne()) 33 34 35class ObjectEventTests(unittest.TestCase, _ConformsToIObjectEvent): 36 37 def _getTargetClass(self): 38 from zope.interface.interfaces import ObjectEvent 39 return ObjectEvent 40 41 def test_ctor(self): 42 target = object() 43 event = self._makeOne(target) 44 self.assertTrue(event.object is target) 45 46 47class RegistrationEventTests(unittest.TestCase, 48 _ConformsToIRegistrationEvent): 49 50 def _getTargetClass(self): 51 from zope.interface.interfaces import RegistrationEvent 52 return RegistrationEvent 53 54 def test___repr__(self): 55 target = object() 56 event = self._makeOne(target) 57 r = repr(event) 58 self.assertEqual(r.splitlines(), 59 ['RegistrationEvent event:', repr(target)]) 60 61 62class RegisteredTests(unittest.TestCase, 63 _ConformsToIRegistrationEvent): 64 65 def _getTargetClass(self): 66 from zope.interface.interfaces import Registered 67 return Registered 68 69 def test_class_conforms_to_IRegistered(self): 70 from zope.interface.interfaces import IRegistered 71 from zope.interface.verify import verifyClass 72 verifyClass(IRegistered, self._getTargetClass()) 73 74 def test_instance_conforms_to_IRegistered(self): 75 from zope.interface.interfaces import IRegistered 76 from zope.interface.verify import verifyObject 77 verifyObject(IRegistered, self._makeOne()) 78 79 80class UnregisteredTests(unittest.TestCase, 81 _ConformsToIRegistrationEvent): 82 83 def _getTargetClass(self): 84 from zope.interface.interfaces import Unregistered 85 return Unregistered 86 87 def test_class_conforms_to_IUnregistered(self): 88 from zope.interface.interfaces import IUnregistered 89 from zope.interface.verify import verifyClass 90 verifyClass(IUnregistered, self._getTargetClass()) 91 92 def test_instance_conforms_to_IUnregistered(self): 93 from zope.interface.interfaces import IUnregistered 94 from zope.interface.verify import verifyObject 95 verifyObject(IUnregistered, self._makeOne()) 96 97 98class InterfaceClassTests(unittest.TestCase): 99 100 def _getTargetClass(self): 101 from zope.interface.interface import InterfaceClass 102 return InterfaceClass 103 104 def _getTargetInterface(self): 105 from zope.interface.interfaces import IInterface 106 return IInterface 107 108 def _makeOne(self): 109 from zope.interface.interface import Interface 110 return Interface 111 112 def test_class_conforms(self): 113 from zope.interface.verify import verifyClass 114 verifyClass(self._getTargetInterface(), self._getTargetClass()) 115 116 def test_instance_conforms(self): 117 from zope.interface.verify import verifyObject 118 verifyObject(self._getTargetInterface(), self._makeOne()) 119 120 def test_instance_consistent__iro__(self): 121 from zope.interface import ro 122 self.assertTrue(ro.is_consistent(self._getTargetInterface())) 123 124 def test_class_consistent__iro__(self): 125 from zope.interface import ro 126 from zope.interface import implementedBy 127 128 self.assertTrue(ro.is_consistent(implementedBy(self._getTargetClass()))) 129