From b4ef8201f3ec4509826576f830bcde80a2abe68a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mose=20M=C3=BCller?= Date: Wed, 6 Dec 2023 09:04:08 +0100 Subject: [PATCH] adds tests for data service type change warnings --- tests/data_service/test_data_service.py | 29 +++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tests/data_service/test_data_service.py b/tests/data_service/test_data_service.py index e69de29..bb44942 100644 --- a/tests/data_service/test_data_service.py +++ b/tests/data_service/test_data_service.py @@ -0,0 +1,29 @@ +import pydase.units as u +from pydase import DataService +from pydase.data_service.data_service_observer import DataServiceObserver +from pydase.data_service.state_manager import StateManager +from pytest import LogCaptureFixture + + +def test_unexpected_type_change_warning(caplog: LogCaptureFixture) -> None: + class ServiceClass(DataService): + attr_1 = 1.0 + current = 1.0 * u.units.A + + service_instance = ServiceClass() + state_manager = StateManager(service_instance) + DataServiceObserver(state_manager) + service_instance.attr_1 = 2 + + assert "'attr_1' changed to '2'" in caplog.text + assert ( + "Type of 'attr_1' changed from 'float' to 'int'. This may have unwanted " + "side effects! Consider setting it to 'float' directly." in caplog.text + ) + + service_instance.current = 2 + assert "'current' changed to '2'" in caplog.text + assert ( + "Type of 'current' changed from 'Quantity' to 'int'. This may have unwanted " + "side effects! Consider setting it to 'Quantity' directly." in caplog.text + )