test_interfaces.py 4.3 KB

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