Skip to content

Commit

Permalink
Add tests asserting that optimzations are / are not present as expected.
Browse files Browse the repository at this point in the history
  • Loading branch information
tseaver committed Nov 15, 2016
1 parent 53246e5 commit b27a50f
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 0 deletions.
18 changes: 18 additions & 0 deletions src/zope/interface/tests/test_adapter.py
Expand Up @@ -527,6 +527,15 @@ def _getTargetClass(self):
from zope.interface.adapter import LookupBase
return LookupBase

def test_optimizations(self):
from zope.interface.adapter import LookupBaseFallback
try:
import zope.interface._zope_interface_coptimizations
except ImportError:
self.assertIs(self._getTargetClass(), LookupBaseFallback)
else:
self.assertIsNot(self._getTargetClass(), LookupBaseFallback)


class VerifyingBaseFallbackTests(unittest.TestCase):

Expand Down Expand Up @@ -689,6 +698,15 @@ def _getTargetClass(self):
from zope.interface.adapter import VerifyingBase
return VerifyingBase

def test_optimizations(self):
from zope.interface.adapter import VerifyingBaseFallback
try:
import zope.interface._zope_interface_coptimizations
except ImportError:
self.assertIs(self._getTargetClass(), VerifyingBaseFallback)
else:
self.assertIsNot(self._getTargetClass(), VerifyingBaseFallback)


class AdapterLookupBaseTests(unittest.TestCase):

Expand Down
53 changes: 53 additions & 0 deletions src/zope/interface/tests/test_declarations.py
Expand Up @@ -473,6 +473,16 @@ def _callFUT(self, *args, **kw):
from zope.interface.declarations import implementedBy
return implementedBy(*args, **kw)

def test_optimizations(self):
from zope.interface.declarations import implementedByFallback
from zope.interface.declarations import implementedBy
try:
import zope.interface._zope_interface_coptimizations
except ImportError:
self.assertIs(implementedBy, implementedByFallback)
else:
self.assertIsNot(implementedBy, implementedByFallback)


class Test_classImplementsOnly(unittest.TestCase):

Expand Down Expand Up @@ -1123,6 +1133,15 @@ def _getTargetClass(self):
from zope.interface.declarations import ClassProvidesBase
return ClassProvidesBase

def test_optimizations(self):
from zope.interface.declarations import ClassProvidesBaseFallback
try:
import zope.interface._zope_interface_coptimizations
except ImportError:
self.assertIs(self._getTargetClass(), ClassProvidesBaseFallback)
else:
self.assertIsNot(self._getTargetClass(), ClassProvidesBaseFallback)


class ClassProvidesTests(unittest.TestCase):

Expand Down Expand Up @@ -1440,6 +1459,18 @@ def _callFUT(self, *args, **kw):
from zope.interface.declarations import getObjectSpecification
return getObjectSpecification(*args, **kw)

def test_optimizations(self):
from zope.interface.declarations import getObjectSpecificationFallback
from zope.interface.declarations import getObjectSpecification
try:
import zope.interface._zope_interface_coptimizations
except ImportError:
self.assertIs(getObjectSpecification,
getObjectSpecificationFallback)
else:
self.assertIsNot(getObjectSpecification,
getObjectSpecificationFallback)


class Test_providedByFallback(unittest.TestCase):

Expand Down Expand Up @@ -1525,6 +1556,16 @@ def _callFUT(self, *args, **kw):
from zope.interface.declarations import providedBy
return providedBy(*args, **kw)

def test_optimizations(self):
from zope.interface.declarations import providedByFallback
from zope.interface.declarations import providedBy
try:
import zope.interface._zope_interface_coptimizations
except ImportError:
self.assertIs(providedBy, providedByFallback)
else:
self.assertIsNot(providedBy, providedByFallback)


class ObjectSpecificationDescriptorFallbackTests(unittest.TestCase):

Expand Down Expand Up @@ -1586,6 +1627,18 @@ def _getTargetClass(self):
from zope.interface.declarations import ObjectSpecificationDescriptor
return ObjectSpecificationDescriptor

def test_optimizations(self):
from zope.interface.declarations import (
ObjectSpecificationDescriptorFallback)
try:
import zope.interface._zope_interface_coptimizations
except ImportError:
self.assertIs(self._getTargetClass(),
ObjectSpecificationDescriptorFallback)
else:
self.assertIsNot(self._getTargetClass(),
ObjectSpecificationDescriptorFallback)


# Test _normalizeargs through its callers.

Expand Down
32 changes: 32 additions & 0 deletions src/zope/interface/tests/test_interface.py
Expand Up @@ -205,6 +205,22 @@ def test___call___hit(self):
self.assertTrue(sb(testing))


class SpecificationBaseTests(unittest.TestCase):

def _getTargetClass(self):
from zope.interface.interface import SpecificationBase
return SpecificationBase

def test_optimizations(self):
from zope.interface.interface import SpecificationBasePy
try:
import zope.interface._zope_interface_coptimizations
except ImportError:
self.assertIs(self._getTargetClass(), SpecificationBasePy)
else:
self.assertIsNot(self._getTargetClass(), SpecificationBasePy)


class InterfaceBasePyTests(unittest.TestCase):

def _getTargetClass(self):
Expand Down Expand Up @@ -266,6 +282,22 @@ def _hook_hit(iface, obj):
self.assertEqual(_missed, [(ib, adapted)])


class InterfaceBaseTests(unittest.TestCase):

def _getTargetClass(self):
from zope.interface.interface import InterfaceBase
return InterfaceBase

def test_optimizations(self):
from zope.interface.interface import InterfaceBasePy
try:
import zope.interface._zope_interface_coptimizations
except ImportError:
self.assertIs(self._getTargetClass(), InterfaceBasePy)
else:
self.assertIsNot(self._getTargetClass(), InterfaceBasePy)


class SpecificationTests(unittest.TestCase):

def _getTargetClass(self):
Expand Down

0 comments on commit b27a50f

Please sign in to comment.