Example #1
0
def test_get_keys():
    test_obj = LRUCache(1)
    test_obj.refresh("some_key", 43, time.time())
    test_obj.write("some_other_key", 42)
    assert "some_key" in test_obj.get_keys()
    assert "some_other_key" in test_obj.get_keys()
    assert not "some_keyXYZ" in test_obj.get_keys()
Example #2
0
def test_get_modified():
    test_obj = LRUCache(1)
    modified_time = time.time()
    test_obj.refresh("some_key", 43, modified_time)
    assert test_obj.get_modified("some_key") == modified_time
    test_obj.write("some_key", 42)
    assert test_obj.get_modified("some_key") < time.time()
Example #3
0
def test_update():
    test_obj = LRUCache(1)
    test_obj.write("some_key", 42)
    time.sleep(2)
    assert test_obj.is_expired("some_key")
    test_obj.update("some_key")
    assert not test_obj.is_expired("some_key")
Example #4
0
def test_resize():
    test_obj = LRUCache(0.00001,30)
    test_obj.set_resize_intervall(0)
    for i in range(10,62):
        test_obj.refresh(str(i), "a"*2000000, time.time())
        time.sleep(0.001)
        assert test_obj.get_size_of_cached_data() < 50000000
        for j in range(10,i-15+1):
            assert not str(j) in test_obj.get_keys()
        for j in range(10,i+1)[-14:]:
            assert test_obj.get_value(str(j)) == "a"*2000000
Example #5
0
def test_set_modified():
    test_obj = LRUCache(1)
    modified_time = 42
    before_modification = time.time()
    test_obj.write("some_key", 101)
    assert test_obj.get_modified("some_key") < time.time()
    assert test_obj.get_modified("some_key") > before_modification
    test_obj.set_modified("some_key", modified_time)
    assert test_obj.get_modified("some_key") == modified_time
Example #6
0
def test_write():
    test_obj = LRUCache(1)
    test_obj.write("some_key", 42)
    test_obj.write(42, "some_key")
    assert test_obj.get_value("some_key") == 42
    assert test_obj.get_value(42) == "some_key"
    assert test_obj.is_dirty("some_key")
Example #7
0
def test_get_size_of_cached_data():
    test_obj = LRUCache(1)
    modified_time = time.time()
    assert test_obj.get_size_of_cached_data() == 0
    test_obj.refresh("some_key", "abcd", modified_time)
    assert test_obj.get_size_of_cached_data() == sys.getsizeof("abcd")
    test_obj.write("some_other_key", 42)
    assert test_obj.get_size_of_cached_data() == sys.getsizeof(42)+sys.getsizeof("abcd")
    test_obj.write("some_other_key", 52)
    assert test_obj.get_size_of_cached_data() == sys.getsizeof(52)+sys.getsizeof("abcd")
    test_obj.refresh("some_key", "abcd", modified_time)
    assert test_obj.get_size_of_cached_data() == sys.getsizeof(52)+sys.getsizeof("abcd")
Example #8
0
def test_get_size_of_dirty_data():
    test_obj = LRUCache(1)
    assert test_obj.get_size_of_dirty_data() == 0
    test_obj.refresh("some_key", "abcd",  time.time())
    assert test_obj.get_size_of_dirty_data() == 0
    test_obj.write("some_other_key", 42)
    assert test_obj.get_size_of_dirty_data() == sys.getsizeof(42)
    test_obj.write("some_other_key", 52)
    assert test_obj.get_size_of_dirty_data() == sys.getsizeof(52)
    test_obj.write("some_key", "abcd")
    assert test_obj.get_size_of_dirty_data() == sys.getsizeof(52)+sys.getsizeof("abcd")
    test_obj.refresh("some_other_key", 42, time.time())
    assert test_obj.get_size_of_dirty_data() == sys.getsizeof("abcd")
Example #9
0
def test_get_value():
    test_obj = LRUCache(1)
    test_obj.refresh("some_key", 43, time.time())
    assert test_obj.get_value("some_key") == 43
    test_obj.write("some_key", 42)
    assert test_obj.get_value("some_key") == 42
Example #10
0
def test_resize_dirty():
    test_obj = LRUCache(1,0)
    test_obj.set_resize_intervall(0)
    for i in range(10,62):
        test_obj.write(str(i), "a"*2000000)
    assert test_obj.get_size_of_cached_data() > 50000000
Example #11
0
def test_resize_zerosize():
    test_obj = LRUCache(0.001,0)
    test_obj.set_resize_intervall(0)
    test_obj.refresh("some_key", 43, time.time())
    time.sleep(0.001)
    assert "some_key" in test_obj.get_keys()
    test_obj.refresh("some_other_key", 42, time.time())
    assert "some_other_key" in test_obj.get_keys()    
    assert not "some_key" in test_obj.get_keys() #deleted due to internal resize
    assert test_obj.get_value("some_other_key") == 42
Example #12
0
def test_delete():
    test_obj = LRUCache(1)
    test_obj.write("some_key", 42)
    test_obj.write(42, "some_key")
    test_obj.delete("some_key")
    test_obj.delete("non_existant_key")
    test_obj.delete(42)
    assert_raises( KeyError, test_obj.get_value, (42) )
    assert_raises( KeyError, test_obj.get_value, ("some_key") )
    assert not test_obj.exists(42)
    assert not test_obj.exists("some_key")
Example #13
0
def test_exists():
    test_obj = LRUCache(1)
    assert not test_obj.exists("some_key")
    test_obj.write("some_key", 42)
    assert test_obj.exists("some_key")
    assert not test_obj.exists("some_other_key")
Example #14
0
def test_is_dirty():
    test_obj = LRUCache(1)
    test_obj.refresh("some_key", 43, time.time())
    assert not test_obj.is_dirty("some_key")
    test_obj.write("some_key", 42)
    assert test_obj.is_dirty("some_key")
Example #15
0
def test_refresh():
    test_obj = LRUCache(1)
    test_obj.refresh("some_key", 43, time.time())
    test_obj.refresh("some_key",42, time.time())
    assert test_obj.get_value("some_key") == 42
    test_obj.refresh("some_key",43, time.time()-1000)
    assert test_obj.get_value("some_key") == 42, "Refresh should not have worked since the modified time of the 'disk' entry is older than the cache entry."
    assert not test_obj.is_dirty("some_key")