diff --git a/tests/observer_pattern/observer/test_property_observer.py b/tests/observer_pattern/observer/test_property_observer.py new file mode 100644 index 0000000..8901d81 --- /dev/null +++ b/tests/observer_pattern/observer/test_property_observer.py @@ -0,0 +1,21 @@ +from typing import Any + +from pydase.observer_pattern.observable.observable import Observable +from pydase.observer_pattern.observer.property_observer import PropertyObserver + + +def test_inherited_property_dependency_resolution() -> None: + class BaseObservable(Observable): + _name = "BaseObservable" + + @property + def name(self) -> str: + return self._name + + class DerivedObservable(BaseObservable): + _name = "DerivedObservable" + + class MyObserver(PropertyObserver): + def on_change(self, full_access_path: str, value: Any) -> None: ... + + assert MyObserver(DerivedObservable()).property_deps_dict == {"_name": ["name"]}