def test_function_dump(self): nlazy = evalcache.Lazy( cache=evalcache.DirCache(test_environment.dircache_path), function_dump=False, onplace=True, ) flazy = evalcache.Lazy( cache=evalcache.DirCache(test_environment.dircache_path), function_dump=True, onplace=True, ) lmb_1 = lambda: 1 lmb_2 = lambda: 2 nlazy_11 = nlazy(lmb_1, hint="a")() nlazy_12 = nlazy(lmb_2, hint="b")() nlazy_21 = nlazy(lmb_1)() nlazy_22 = nlazy(lmb_2)() flazy_11 = flazy(lmb_1, hint="a")() flazy_12 = flazy(lmb_2, hint="b")() flazy_21 = flazy(lmb_1)() flazy_22 = flazy(lmb_2)() self.assertNotEqual(nlazy_11, nlazy_12) self.assertEqual(nlazy_21, nlazy_22) self.assertNotEqual(flazy_11, flazy_12) self.assertNotEqual(flazy_21, flazy_22)
def test_cached_operations(self): nlazy = evalcache.Lazy(cache=evalcache.DirCache( test_environment.dircache_path), ) i = nlazy(3) print(float(i)) self.assertEqual(i, 3)
def test_function_dump(self): nlazy = evalcache.Lazy( cache=evalcache.DirCache(test_environment.dircache_path), function_dump=False, onplace=True, ) self.assertNotEqual( nlazy((1, 10)).__lazyhash__, nlazy("<class 'tuple'><splitter>01<splitter>110").__lazyhash__) self.assertNotEqual( nlazy(("<splitter>01<splitter>210,", )).__lazyhash__, nlazy((1, 10)).__lazyhash__)
def test_aaa(self): nlazy = evalcache.Lazy( cache=evalcache.DirCache(test_environment.dircache_path), encache=False, ) class Cls: def get_three(self): return 3 def __repr__(self): return "Cls" def __getitem__(self, i): return i def __len__(self): return 2 @nlazy def foo(): return Cls() a, b = foo()
#!/usr/bin/python3 import sys sys.path.insert(0, "..") import evalcache lazy = evalcache.Lazy(cache=evalcache.DirCache(".evalcache")) class A: def __repr__(self): return "A" class B: pass lazy(A()) lazy(B())
#!/usr/bin/python3 import sys sys.path.insert(0, "..") import evalcache lazy = evalcache.Lazy(cache=evalcache.DirCache(".evalcache"), diag=True) @lazy def foo(): return 42 @lazy def bar(): return foo() print(bar().unlazy())