コード例 #1
0
ファイル: start.py プロジェクト: mirmik/evalcache
    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)
コード例 #2
0
ファイル: start.py プロジェクト: mirmik/evalcache
    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)
コード例 #3
0
ファイル: start.py プロジェクト: mirmik/evalcache
    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__)
コード例 #4
0
ファイル: start.py プロジェクト: mirmik/evalcache
    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()
コード例 #5
0
ファイル: norepred.py プロジェクト: gridl/evalcache
#!/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())
コード例 #6
0
#!/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())