From 965975c22de0caef727d4c0ad15c5454c060af59 Mon Sep 17 00:00:00 2001 From: lukas leufen <l.leufen@fz-juelich.de> Date: Tue, 4 Feb 2020 15:46:15 +0100 Subject: [PATCH] more tests for datastore --- test/test_datastore.py | 55 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/test/test_datastore.py b/test/test_datastore.py index 3f61c227..e7510cff 100644 --- a/test/test_datastore.py +++ b/test/test_datastore.py @@ -16,6 +16,12 @@ class TestAbstractDataStore: def test_init(self, ds): assert ds._store == {} + def test_clear_data_store(self, ds): + ds._store["test"] = "test2" + assert len(ds._store.keys()) == 1 + ds.clear_data_store() + assert len(ds._store.keys()) == 0 + class TestDataStoreByVariable: @@ -49,6 +55,12 @@ class TestDataStoreByVariable: ds.get("number3", "general") assert "Couldn't find number3 in data store" in e.value.args[0] + def test_get_default(self, ds): + ds.set("number", 3, "general") + assert ds.get_default("number", "general", 45) == 3 + assert ds.get_default("number", "general.sub", 45) == 3 + assert ds.get_default("number", "other", 45) == 45 + def test_search(self, ds): ds.set("number", 22, "general") ds.set("number", 22, "general2") @@ -118,6 +130,25 @@ class TestDataStoreByVariable: assert ds.search_scope("general.sub.sub", current_scope_only=False, return_all=True) == \ [("number", "general.sub.sub", "ABC"), ("number1", "general.sub", 22), ("number2", "general.sub.sub", 3)] + def test_create_args_dict(self, ds): + ds.set("tester1", 1, "general") + ds.set("tester2", 11, "general") + ds.set("tester2", 10, "general.sub") + ds.set("tester3", 21, "general") + args = ["tester1", "tester2", "tester3", "tester4"] + assert ds.create_args_dict(args) == {"tester1": 1, "tester2": 11, "tester3": 21} + assert ds.create_args_dict(args, "general.sub") == {"tester1": 1, "tester2": 10, "tester3": 21} + assert ds.create_args_dict(["notAvail", "alsonot"]) == {} + + def test_set_args_from_dict(self, ds): + ds.set_args_from_dict({"tester1": 1, "tester2": 10, "tester3": 21}) + assert ds.get("tester1", "general") == 1 + assert ds.get("tester2", "general") == 10 + assert ds.get("tester3", "general") == 21 + ds.set_args_from_dict({"tester1": 111}, "general.sub") + assert ds.get("tester1", "general.sub") == 111 + assert ds.get("tester3", "general.sub") == 21 + class TestDataStoreByScope: @@ -151,6 +182,12 @@ class TestDataStoreByScope: ds.get("number3", "general") assert "Couldn't find number3 in data store" in e.value.args[0] + def test_get_default(self, ds): + ds.set("number", 3, "general") + assert ds.get_default("number", "general", 45) == 3 + assert ds.get_default("number", "general.sub", 45) == 3 + assert ds.get_default("number", "other", 45) == 45 + def test_search(self, ds): ds.set("number", 22, "general") ds.set("number", 22, "general2") @@ -220,3 +257,21 @@ class TestDataStoreByScope: assert ds.search_scope("general.sub.sub", current_scope_only=False, return_all=True) == \ [("number", "general.sub.sub", "ABC"), ("number1", "general.sub", 22), ("number2", "general.sub.sub", 3)] + def test_create_args_dict(self, ds): + ds.set("tester1", 1, "general") + ds.set("tester2", 11, "general") + ds.set("tester2", 10, "general.sub") + ds.set("tester3", 21, "general") + args = ["tester1", "tester2", "tester3", "tester4"] + assert ds.create_args_dict(args) == {"tester1": 1, "tester2": 11, "tester3": 21} + assert ds.create_args_dict(args, "general.sub") == {"tester1": 1, "tester2": 10, "tester3": 21} + assert ds.create_args_dict(["notAvail", "alsonot"]) == {} + + def test_set_args_from_dict(self, ds): + ds.set_args_from_dict({"tester1": 1, "tester2": 10, "tester3": 21}) + assert ds.get("tester1", "general") == 1 + assert ds.get("tester2", "general") == 10 + assert ds.get("tester3", "general") == 21 + ds.set_args_from_dict({"tester1": 111}, "general.sub") + assert ds.get("tester1", "general.sub") == 111 + assert ds.get("tester3", "general.sub") == 21 \ No newline at end of file -- GitLab