test_singleton.py 651 B

12345678910111213141516171819202122232425262728293031323334
  1. import unittest
  2. from kalliope.core.Models import Singleton
  3. class MyClass(object):
  4. __metaclass__ = Singleton
  5. def __init__(self):
  6. self.value = "test"
  7. class TestSingleton(unittest.TestCase):
  8. def setUp(self):
  9. pass
  10. def test_singleton(self):
  11. obj1 = MyClass()
  12. obj2 = MyClass()
  13. self.assertEqual(id(obj1), id(obj2))
  14. def test_drop_singleton(self):
  15. obj1 = MyClass()
  16. obj2 = MyClass()
  17. # drop the singleton instance
  18. Singleton._instances = {}
  19. obj3 = MyClass()
  20. self.assertEqual(id(obj1), id(obj2))
  21. self.assertNotEqual(id(obj1), id(obj3))