diff options
| author | Jason Madden <jamadden@gmail.com> | 2016-08-03 10:32:17 -0500 |
|---|---|---|
| committer | Jason Madden <jamadden@gmail.com> | 2016-08-03 10:34:31 -0500 |
| commit | bbf1a3d4792bf5b0a3969746521b27d2a2b4bf06 (patch) | |
| tree | b3b799ea0bbc438eb9b0625e80e29904b030e5c1 /src/zope/interface/tests | |
| parent | e79273048b92735fb23fcee7f695a5ed5d72f647 (diff) | |
| download | zope-interface-bbf1a3d4792bf5b0a3969746521b27d2a2b4bf06.tar.gz | |
Make declarations.Implements sortable.comp-implements
Fixes #42
Diffstat (limited to 'src/zope/interface/tests')
| -rw-r--r-- | src/zope/interface/tests/test_declarations.py | 25 | ||||
| -rw-r--r-- | src/zope/interface/tests/test_odd_declarations.py | 1 |
2 files changed, 22 insertions, 4 deletions
diff --git a/src/zope/interface/tests/test_declarations.py b/src/zope/interface/tests/test_declarations.py index 27a999a..83da6fa 100644 --- a/src/zope/interface/tests/test_declarations.py +++ b/src/zope/interface/tests/test_declarations.py @@ -238,7 +238,7 @@ class DeclarationTests(unittest.TestCase): self.assertEqual(list(after), [IFoo, IBar, IBaz]) -class ImplementsTests(unittest.TestCase): +class TestImplements(unittest.TestCase): def _getTargetClass(self): from zope.interface.declarations import Implements @@ -264,6 +264,25 @@ class ImplementsTests(unittest.TestCase): impl = self._makeOne() self.assertEqual(impl.__reduce__(), (implementedBy, (None,))) + def test_sort(self): + from zope.interface.declarations import implementedBy + class A(object): + pass + class B(object): + pass + from zope.interface.interface import InterfaceClass + IFoo = InterfaceClass('IFoo') + + self.assertEqual(implementedBy(A), implementedBy(A)) + self.assertEqual(hash(implementedBy(A)), hash(implementedBy(A))) + self.assertTrue(implementedBy(A) < None) + self.assertTrue(None > implementedBy(A)) + self.assertTrue(implementedBy(A) < implementedBy(B)) + self.assertTrue(implementedBy(A) > IFoo) + self.assertTrue(implementedBy(A) <= implementedBy(B)) + self.assertTrue(implementedBy(A) >= IFoo) + self.assertTrue(implementedBy(A) != IFoo) + class Test_implementedByFallback(unittest.TestCase): @@ -597,7 +616,7 @@ class Test_implementer(unittest.TestCase): returned = decorator(foo) self.assertTrue(returned is foo) spec = foo.__implemented__ - self.assertEqual(spec.__name__, '?') + self.assertEqual(spec.__name__, 'zope.interface.tests.test_declarations.?') self.assertTrue(spec.inherit is None) self.assertTrue(foo.__implemented__ is spec) @@ -1567,7 +1586,7 @@ class _MonkeyDict(object): def test_suite(): return unittest.TestSuite(( unittest.makeSuite(DeclarationTests), - unittest.makeSuite(ImplementsTests), + unittest.makeSuite(TestImplements), unittest.makeSuite(Test_implementedByFallback), unittest.makeSuite(Test_implementedBy), unittest.makeSuite(Test_classImplementsOnly), diff --git a/src/zope/interface/tests/test_odd_declarations.py b/src/zope/interface/tests/test_odd_declarations.py index 1e62a4f..e508d1d 100644 --- a/src/zope/interface/tests/test_odd_declarations.py +++ b/src/zope/interface/tests/test_odd_declarations.py @@ -46,7 +46,6 @@ class B(Odd): __implemented__ = I2 # a different mechanism. # from zope.interface import classProvides - class A(Odd): pass classImplements(A, I1) |
