From 9b6925bc7040c26eadc6766dffe391fb6881f43c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Malinowski?= Date: Wed, 5 Jun 2024 13:34:28 +0100 Subject: [PATCH 1/6] add no fields if no signal name --- src/ophyd_async/core/standard_readable.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ophyd_async/core/standard_readable.py b/src/ophyd_async/core/standard_readable.py index 7e6999113e..8f9fd39d4e 100644 --- a/src/ophyd_async/core/standard_readable.py +++ b/src/ophyd_async/core/standard_readable.py @@ -254,6 +254,8 @@ def name(self) -> str: @property def hints(self) -> Hints: + if self.signal.name == "": + return {"fields": []} return {"fields": [self.signal.name]} @classmethod From 5e58433b3b7d881124389660027afbc873c32245 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Malinowski?= Date: Wed, 5 Jun 2024 13:37:42 +0100 Subject: [PATCH 2/6] fix trailing whitespace --- src/ophyd_async/core/standard_readable.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ophyd_async/core/standard_readable.py b/src/ophyd_async/core/standard_readable.py index 8f9fd39d4e..7d25d9cd2a 100644 --- a/src/ophyd_async/core/standard_readable.py +++ b/src/ophyd_async/core/standard_readable.py @@ -255,7 +255,7 @@ def name(self) -> str: @property def hints(self) -> Hints: if self.signal.name == "": - return {"fields": []} + return {"fields": []} return {"fields": [self.signal.name]} @classmethod From 33abedca42583d757fa39e68eb19d3a1cb8f0644 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Malinowski?= Date: Wed, 5 Jun 2024 13:38:17 +0100 Subject: [PATCH 3/6] add the test --- tests/core/test_standard_readable.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/core/test_standard_readable.py b/tests/core/test_standard_readable.py index 8074f6672a..5387513d0f 100644 --- a/tests/core/test_standard_readable.py +++ b/tests/core/test_standard_readable.py @@ -10,6 +10,7 @@ from ophyd_async.core.mock_signal_backend import MockSignalBackend from ophyd_async.core.signal import SignalR from ophyd_async.protocols import AsyncConfigurable, AsyncReadable, AsyncStageable +from src.ophyd_async.core.signal import soft_signal_r_and_setter def test_standard_readable_hints(): @@ -219,3 +220,13 @@ def test_standard_readable_set_readable_signals(): assert all(isinstance(x, ConfigSignal) for x in sr._configurables) assert len(sr._stageables) == 1 assert all(isinstance(x, HintedSignal) for x in sr._stageables) + + +def test_standard_readable_add_children_multi_nested(): + inner = StandardReadable() + outer = StandardReadable() + with inner.add_children_as_readables(HintedSignal): + inner.a, _ = soft_signal_r_and_setter(float, initial_value=5.0) + inner.b, _ = soft_signal_r_and_setter(float, initial_value=6.0) + with outer.add_children_as_readables(): + outer.inner = inner \ No newline at end of file From 5401529ddfc41dbc70ad38de18d8cf671ec1a202 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Malinowski?= Date: Wed, 5 Jun 2024 13:46:39 +0100 Subject: [PATCH 4/6] fix the imports --- tests/core/test_standard_readable.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/core/test_standard_readable.py b/tests/core/test_standard_readable.py index 5387513d0f..1bdd6b1660 100644 --- a/tests/core/test_standard_readable.py +++ b/tests/core/test_standard_readable.py @@ -8,9 +8,8 @@ from ophyd_async.core import ConfigSignal, HintedSignal, StandardReadable from ophyd_async.core.device import Device, DeviceVector from ophyd_async.core.mock_signal_backend import MockSignalBackend -from ophyd_async.core.signal import SignalR +from ophyd_async.core.signal import SignalR, soft_signal_r_and_setter from ophyd_async.protocols import AsyncConfigurable, AsyncReadable, AsyncStageable -from src.ophyd_async.core.signal import soft_signal_r_and_setter def test_standard_readable_hints(): From c709d9b72731d047a88a3e861b3925a8cdd260f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Malinowski?= Date: Wed, 5 Jun 2024 13:51:50 +0100 Subject: [PATCH 5/6] add an assert line and try changing encodings --- tests/core/test_standard_readable.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/core/test_standard_readable.py b/tests/core/test_standard_readable.py index 1bdd6b1660..60608df616 100644 --- a/tests/core/test_standard_readable.py +++ b/tests/core/test_standard_readable.py @@ -228,4 +228,5 @@ def test_standard_readable_add_children_multi_nested(): inner.a, _ = soft_signal_r_and_setter(float, initial_value=5.0) inner.b, _ = soft_signal_r_and_setter(float, initial_value=6.0) with outer.add_children_as_readables(): - outer.inner = inner \ No newline at end of file + outer.inner = inner + assert outer \ No newline at end of file From 5d71441fa252fa6b72541b816580a86c5bacff55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Malinowski?= Date: Wed, 5 Jun 2024 13:54:52 +0100 Subject: [PATCH 6/6] add new line at the end --- tests/core/test_standard_readable.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/core/test_standard_readable.py b/tests/core/test_standard_readable.py index 60608df616..182cadeabc 100644 --- a/tests/core/test_standard_readable.py +++ b/tests/core/test_standard_readable.py @@ -229,4 +229,4 @@ def test_standard_readable_add_children_multi_nested(): inner.b, _ = soft_signal_r_and_setter(float, initial_value=6.0) with outer.add_children_as_readables(): outer.inner = inner - assert outer \ No newline at end of file + assert outer