示例#1
0
 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(), {})
示例#2
0
 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(), {})
示例#3
0
    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()
示例#4
0
    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()
示例#5
0
    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()
示例#6
0
    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()
示例#7
0
 def test_all(self):
     _all = ThreadSingleton.all()
     self.assertTrue(isinstance(_all, dict))
示例#8
0
 def tearDown(self):
     ThreadSingleton.all().clear()
示例#9
0
 def setUp(self):
     ThreadSingleton.all().clear()
示例#10
0
 def tearDown(self):
     ThreadSingleton.all().clear()
示例#11
0
 def setUp(self):
     ThreadSingleton.all().clear()
示例#12
0
 def test_all(self):
     _all = ThreadSingleton.all()
     self.assertTrue(isinstance(_all, dict))