Esempio n. 1
0
 def setup_method(self, method):
     self.object = Bunch()
     self.cache = Memoizing(self.object, 'cache')
     self.key = "('foo',)[]"
Esempio n. 2
0
class TestMemoizing(object):
    def setup_method(self, method):
        self.object = Bunch()
        self.cache = Memoizing(self.object, 'cache')
        self.key = "('foo',)[]"

    def test_get_key(self):
        assert self.cache._get_key('foo') == "('foo',)[]"
        assert self.cache._get_key('foo', 'bar') == "('foo', 'bar')[]"
        assert self.cache._get_key(foo='bar') == "()[('foo', 'bar')]"
        assert self.cache._get_key(foo='bar', hello='there') == "()[('foo', 'bar'), ('hello', 'there')]"
        assert self.cache._get_key('foo', foo='bar') == "('foo',)[('foo', 'bar')]"

    def test_get_not_present(self):
        with pytest.raises(NotInCache):
            self.cache.get('foo')

    def test_get_present(self):
        self.object.cache = {self.key: 'foo'}

        assert self.cache.get('foo') == 'foo'

    def test_delete_not_present(self):
        with pytest.raises(NotInCache):
            self.cache.delete()

    def test_delete_present(self):
        self.object.cache = {self.key: 'foo'}

        assert self.cache.delete('foo') == 'foo'
        assert self.object.cache == {}

    def test_set(self):
        assert self.cache.set('foo', 'foo') == 'foo'
        assert self.object.cache == {self.key: 'foo'}