test_numbers.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. ##############################################################################
  2. # Copyright (c) 2020 Zope Foundation and Contributors.
  3. # All Rights Reserved.
  4. #
  5. # This software is subject to the provisions of the Zope Public License,
  6. # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
  7. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
  8. # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  9. # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
  10. # FOR A PARTICULAR PURPOSE.
  11. ##############################################################################
  12. import numbers as abc
  13. import unittest
  14. # Note that importing z.i.c.numbers does work on import.
  15. from zope.interface.common import numbers
  16. from . import VerifyClassMixin
  17. from . import VerifyObjectMixin
  18. from . import add_abc_interface_tests
  19. class TestVerifyClass(VerifyClassMixin,
  20. unittest.TestCase):
  21. def test_int(self):
  22. self.assertIsInstance(int(), abc.Integral)
  23. self.assertTrue(self.verify(numbers.IIntegral, int))
  24. def test_float(self):
  25. self.assertIsInstance(float(), abc.Real)
  26. self.assertTrue(self.verify(numbers.IReal, float))
  27. add_abc_interface_tests(TestVerifyClass, numbers.INumber.__module__)
  28. class TestVerifyObject(VerifyObjectMixin,
  29. TestVerifyClass):
  30. pass