diff --git a/tests/data_service/test_data_service_cache.py b/tests/data_service/test_data_service_cache.py new file mode 100644 index 0000000..d89ca5f --- /dev/null +++ b/tests/data_service/test_data_service_cache.py @@ -0,0 +1,33 @@ +import logging + +import pydase +from pydase.data_service.data_service_cache import DataServiceCache +from pydase.utils.helpers import get_nested_value_from_DataService_by_path_and_key + +logger = logging.getLogger() + + +def test_nested_attributes_cache_callback() -> None: + class SubClass(pydase.DataService): + name = "Hello" + + class ServiceClass(pydase.DataService): + class_attr = SubClass() + name = "World" + + test_service = ServiceClass() + cache = DataServiceCache(test_service) + + test_service.name = "Peepz" + assert ( + get_nested_value_from_DataService_by_path_and_key(cache.cache, "name") + == "Peepz" + ) + + test_service.class_attr.name = "Ciao" + assert ( + get_nested_value_from_DataService_by_path_and_key( + cache.cache, "class_attr.name" + ) + == "Ciao" + )