Exemplo n.º 1
0
        def testDecorate(self):
            """Test dekoratora klasycznego memoize
            """
            key = self.key_prefix + "memoize.k1"
            vkey = self.key_prefix + "memoize.vkey"
            self.to_delete.append(key)

            # test klasycznego memoize bez zadnych dodatkowych opcji
            self.data = 2
            @memoize(key)
            def test1(a):
                self.data += 2
                return a**self.data

            self.assertEqual(test1(2), test1(2), u"dane w cache rozne  test1=%s  test2=%s" % (test1(2), test1(2)))
            delete(key)


            # test klasycznego memoize z vkey
            self.data=2
            @memoize(key, vkey)
            def test4(a):
                self.data += 2
                return a**self.data

            gdata = test4(2)
            invalidatev(vkey)
            gdata2 = test4(2)
            self.assertNotEqual(gdata2, gdata, u"Nie zinvalidowalo vkey")

            # test timeout memoize
            delete(key, vkey)
            @memoize(key_function=key, vkey_function=None, timeout=1, allow_none=False, l1=False)
            def test5(a):
                self.data += 2
                return a**self.data
            gdata = test5(2)
            sleep(2)
            self.assertNotEqual(test5(2), gdata, u"Nie usunieto danych z cache")
Exemplo n.º 2
0
 def tearDown(self):
     global local_memoize_cache
     if self.to_delete:
         delete(*self.to_delete)