Beispiel #1
0
class TestWeakValueDictWithCallback(TestCase):
    def setUp(self):
        self.a = A("a")
        self.b = A("b")
        self.c = A("c")
        self.k = ["a", "b",]
        self.w = WeakValueDictWithCallback(self._remove)
        self.w.update({"a":self.a, "b":self.b})

    def _remove(self, key):
        self.k.remove(key)

    def tearDown(self):
        del self.w

    def _testEqual(self):
        self.assertEquals(frozenset(self.k), frozenset(self.w.keys()))

    def testInit(self):
        self._testEqual()

    def testRemove(self):
        del self.b
        self._testEqual()
        del self.a
        self._testEqual()

    def testSetItemThenRemove(self):
        self.w["c"] = self.c
        self.k.append("c")
        self._testEqual()
        self.testRemove()
        del self.c
        self._testEqual()
Beispiel #2
0
 def setUp(self):
     self.a = A("a")
     self.b = A("b")
     self.c = A("c")
     self.k = ["a", "b",]
     self.w = WeakValueDictWithCallback(self._remove)
     self.w.update({"a":self.a, "b":self.b})