diff --git a/unittests/test_apiutils.py b/unittests/test_apiutils.py index 3877c09ef0e30ecf81cd4c86e4b611a6256ca139..33159c97b05bb54845f341f9df14d2bf712747c9 100644 --- a/unittests/test_apiutils.py +++ b/unittests/test_apiutils.py @@ -111,13 +111,25 @@ def test_compare_entities(): r2.add_property("tester", ) r1.add_property("tests_234234", value=45) r2.add_property("tests_TT", value=45) + r1.add_property("datatype", value=45, datatype=db.INTEGER) + r2.add_property("datatype", value=45) + r1.add_property("entity_id", value=2) + r2.add_property("entity_id", value=24) + r1.add_property("entity_mix_e", value=2) + r2.add_property("entity_mix_e", value=db.Entity(id=2)) + r1.add_property("entity_mix_d", value=22) + r2.add_property("entity_mix_d", value=db.Entity(id=2)) + r1.add_property("entity_Ent_e", value=db.Entity(id=2)) + r2.add_property("entity_Ent_e", value=db.Entity(id=2)) + r1.add_property("entity_Ent_d", value=db.Entity(id=2)) + r2.add_property("entity_Ent_d", value=db.Entity(id=22)) diff_r1, diff_r2 = compare_entities(r1, r2) assert len(diff_r1["parents"]) == 1 assert len(diff_r2["parents"]) == 0 - assert len(diff_r1["properties"]) == 4 - assert len(diff_r2["properties"]) == 4 + assert len(diff_r1["properties"]) == 10 + assert len(diff_r2["properties"]) == 10 assert "test" not in diff_r1["properties"] assert "test" not in diff_r2["properties"] @@ -135,6 +147,19 @@ def test_compare_entities(): assert "tests_TT" in diff_r2["properties"] + assert "entity_id" in diff_r1["properties"] + assert "entity_id" in diff_r2["properties"] + + assert "entity_mix_e" in diff_r1["properties"] + assert "entity_mix_e" in diff_r2["properties"] + assert "entity_Ent_e" in diff_r1["properties"] + assert "entity_Ent_e" in diff_r2["properties"] + + assert "entity_mix_d" in diff_r1["properties"] + assert "entity_mix_d" in diff_r2["properties"] + assert "entity_Ent_d" in diff_r1["properties"] + assert "entity_Ent_d" in diff_r2["properties"] + def test_compare_entities_units(): r1 = db.Record() r2 = db.Record() @@ -572,12 +597,19 @@ B: something else""" # test whether an id is correctly overwritten by an entity without id recA = db.Record().add_parent("A").add_property(name="B", value=112) - newRec = db.Record() + newRec = db.Record().add_parent("B").add_property("c") recB = db.Record().add_parent("A").add_property(name="B", value=newRec) merge_entities(recA, recB, force=True) assert recA.get_property("B").value == newRec + recA = db.Record().add_parent("A").add_property(name="B", value=[112], + datatype=db.LIST("B")) + recB = db.Record().add_parent("A").add_property(name="B", value=[newRec], datatype=db.LIST(db.REFERENCE)) + + merge_entities(recA, recB, force=True) + assert recA.get_property("B").value == [newRec] + def test_merge_missing_list_datatype_82(): """Merging two properties, where the list-valued one has no datatype."""