summaryrefslogtreecommitdiff
path: root/src/zope/interface/tests
diff options
context:
space:
mode:
authorJason Madden <jamadden@gmail.com>2016-08-03 10:32:17 -0500
committerJason Madden <jamadden@gmail.com>2016-08-03 10:34:31 -0500
commitbbf1a3d4792bf5b0a3969746521b27d2a2b4bf06 (patch)
treeb3b799ea0bbc438eb9b0625e80e29904b030e5c1 /src/zope/interface/tests
parente79273048b92735fb23fcee7f695a5ed5d72f647 (diff)
downloadzope-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.py25
-rw-r--r--src/zope/interface/tests/test_odd_declarations.py1
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)