Refactored to allow ConceptEvaluator
This commit is contained in:
@@ -122,7 +122,7 @@ class ObjWithDigestNoKey:
|
||||
self.b == obj.b
|
||||
|
||||
def __repr__(self):
|
||||
return f"ObjNoKey({self.a}, {self.b})"
|
||||
return f"ObjWithDigestNoKey({self.a}, {self.b})"
|
||||
|
||||
def get_digest(self):
|
||||
return str(self.a) + str(self.b)
|
||||
@@ -142,7 +142,7 @@ class ObjWithDigestWithKey:
|
||||
self.b == obj.b
|
||||
|
||||
def __repr__(self):
|
||||
return f"ObjNoKey({self.a}, {self.b})"
|
||||
return f"ObjWithDigestWithKey({self.a}, {self.b})"
|
||||
|
||||
def get_key(self):
|
||||
return self.a
|
||||
@@ -466,7 +466,7 @@ def test_i_cannot_add_the_same_digest_twice_in_the_same_entry():
|
||||
|
||||
assert error.value.obj.get_digest() == ObjWithDigestNoKey("a", "b").get_digest()
|
||||
assert error.value.key == "entry"
|
||||
assert error.value.args[0] == "duplicate key"
|
||||
assert error.value.args[0] == "Duplicate object."
|
||||
|
||||
|
||||
def test_i_cannot_add_the_same_digest_twice_in_the_same_entry2():
|
||||
@@ -483,7 +483,7 @@ def test_i_cannot_add_the_same_digest_twice_in_the_same_entry2():
|
||||
|
||||
assert error.value.obj.get_digest() == ObjWithDigestNoKey("a", "b").get_digest()
|
||||
assert error.value.key == "entry"
|
||||
assert error.value.args[0] == "duplicate key"
|
||||
assert error.value.args[0] == "Duplicate object."
|
||||
|
||||
|
||||
def test_i_cannot_add_the_same_digest_twice_in_the_same_entry3():
|
||||
@@ -499,7 +499,7 @@ def test_i_cannot_add_the_same_digest_twice_in_the_same_entry3():
|
||||
|
||||
assert error.value.obj.get_digest() == ObjWithDigestWithKey("a", "b").get_digest()
|
||||
assert error.value.key == "entry.a"
|
||||
assert error.value.args[0] == "duplicate key"
|
||||
assert error.value.args[0] == "Duplicate object."
|
||||
|
||||
|
||||
def test_i_cannot_add_the_same_digest_twice_in_the_same_entry4():
|
||||
@@ -516,7 +516,7 @@ def test_i_cannot_add_the_same_digest_twice_in_the_same_entry4():
|
||||
|
||||
assert error.value.obj.get_digest() == ObjWithDigestWithKey("a", "b").get_digest()
|
||||
assert error.value.key == "entry.a"
|
||||
assert error.value.args[0] == "duplicate key"
|
||||
assert error.value.args[0] == "Duplicate object."
|
||||
|
||||
|
||||
def test_i_can_get_and_set_key():
|
||||
@@ -1198,7 +1198,7 @@ def test_i_can_remove_from_cache():
|
||||
assert not sdp.in_cache(category, key)
|
||||
|
||||
|
||||
def test_i_can_test_than_an_entry_exits():
|
||||
def test_i_can_test_than_an_entry_exists():
|
||||
sdp = SheerkaDataProvider(".sheerka")
|
||||
|
||||
assert not sdp.exists("entry")
|
||||
@@ -1206,6 +1206,67 @@ def test_i_can_test_than_an_entry_exits():
|
||||
assert sdp.exists("entry")
|
||||
|
||||
|
||||
def test_i_can_test_if_a_key_exists():
|
||||
sdp = SheerkaDataProvider(".sheerka")
|
||||
obj = ObjWithDigestWithKey("key", "value")
|
||||
|
||||
assert not sdp.exists("entry")
|
||||
assert not sdp.exists("entry", obj.get_key())
|
||||
|
||||
sdp.add(evt_digest, "entry", obj)
|
||||
assert not sdp.exists("entry", "wrong_key")
|
||||
assert sdp.exists("entry", obj.get_key())
|
||||
|
||||
|
||||
def test_i_can_test_that_the_object_exists():
|
||||
sdp = SheerkaDataProvider(".sheerka")
|
||||
obj = ObjWithDigestWithKey("key", "value")
|
||||
|
||||
assert not sdp.exists("entry")
|
||||
assert not sdp.exists("entry", obj.get_key())
|
||||
assert not sdp.exists("entry", obj.get_key(), obj.get_digest())
|
||||
|
||||
# test for a single item under the key
|
||||
sdp.add(evt_digest, "entry", obj)
|
||||
assert not sdp.exists("entry", obj.get_key(), "wrong_digest")
|
||||
assert sdp.exists("entry", obj.get_key(), obj.get_digest())
|
||||
|
||||
# test for a list item under the key
|
||||
sdp.add(evt_digest, "entry2", ObjWithDigestWithKey("key", "value2"))
|
||||
assert not sdp.exists("entry2", obj.get_key(), obj.get_digest())
|
||||
|
||||
sdp.add(evt_digest, "entry2", ObjWithDigestWithKey("key", "value3"))
|
||||
assert not sdp.exists("entry2", obj.get_key(), obj.get_digest())
|
||||
|
||||
sdp.add(evt_digest, "entry2", obj)
|
||||
assert sdp.exists("entry2", obj.get_key(), obj.get_digest())
|
||||
|
||||
|
||||
def test_i_can_test_than_the_object_exists_when_using_references():
|
||||
sdp = SheerkaDataProvider(".sheerka")
|
||||
sdp.serializer.register(PickleSerializer(lambda o: isinstance(o, ObjWithDigestWithKey)))
|
||||
obj = ObjWithDigestWithKey("key", "value")
|
||||
|
||||
assert not sdp.exists("entry")
|
||||
assert not sdp.exists("entry", obj.get_key())
|
||||
assert not sdp.exists("entry", obj.get_key(), obj.get_digest())
|
||||
|
||||
# test for a single item under the key
|
||||
sdp.add(evt_digest, "entry", obj, use_ref=True)
|
||||
assert not sdp.exists("entry", obj.get_key(), "wrong_digest")
|
||||
assert sdp.exists("entry", obj.get_key(), obj.get_digest())
|
||||
|
||||
# test for a list item under the key
|
||||
sdp.add(evt_digest, "entry2", ObjWithDigestWithKey("key", "value2"), use_ref=True)
|
||||
assert not sdp.exists("entry2", obj.get_key(), obj.get_digest())
|
||||
|
||||
sdp.add(evt_digest, "entry2", ObjWithDigestWithKey("key", "value3"), use_ref=True)
|
||||
assert not sdp.exists("entry2", obj.get_key(), obj.get_digest())
|
||||
|
||||
sdp.add(evt_digest, "entry2", obj, use_ref=True)
|
||||
assert sdp.exists("entry2", obj.get_key(), obj.get_digest())
|
||||
|
||||
|
||||
def test_i_can_save_and_load_object_ref_with_history():
|
||||
sdp = SheerkaDataProvider(".sheerka")
|
||||
obj = ObjDumpJson("my_key", "value1")
|
||||
|
||||
Reference in New Issue
Block a user