def test_purge(self): things = { 'A': 1, 'B': 2, } _all = ThreadSingleton.all() _all.clear() _all.update(things) purged = ThreadSingleton.purge() self.assertEqual(things.values(), purged) self.assertEqual(ThreadSingleton.all(), {})
def test_purge(self): things = { 'A': 1, 'B': 2, } _all = ThreadSingleton.all() _all.clear() _all.update(things) purged = ThreadSingleton.purge() self.assertEqual(tuple(things.values()), tuple(purged)) self.assertEqual(ThreadSingleton.all(), {})
def test_call_different_thread(self): args = (1, 2) kwargs = {'a': 1, 'b': 2} ThreadSingleton.all().clear() try: thing = ThingT(*args, **kwargs) queue = Queue() def test(): thing2 = ThingT(*args, **kwargs) queue.put(id(thing2)) thread = Thread(target=test) thread.start() thread.join() self.assertNotEqual(id(thing), queue.get()) finally: ThreadSingleton.all().clear()
def test_call(self): args = (1, 2) kwargs = {'a': 1, 'b': 2} ThreadSingleton.all().clear() try: # 1st thing = ThingT(*args, **kwargs) self.assertTrue(isinstance(thing, ThingT)) self.assertEqual(thing.n1, args[0]) self.assertEqual(thing.n2, args[1]) self.assertEqual(thing.a, kwargs['a']) self.assertEqual(thing.b, kwargs['b']) # same thing2 = ThingT(*args, **kwargs) self.assertEqual(id(thing), id(thing2)) # different arguments thing2 = ThingT(3, 4, a=3, b=4) self.assertNotEqual(id(thing), id(thing2)) # different class thing2 = ThingT2(*args, **kwargs) self.assertNotEqual(id(thing), id(thing2)) finally: ThreadSingleton.all().clear()
def test_all(self): _all = ThreadSingleton.all() self.assertTrue(isinstance(_all, dict))
def tearDown(self): ThreadSingleton.all().clear()
def setUp(self): ThreadSingleton.all().clear()