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()
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()
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
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
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")
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")
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")
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
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")