diff --git a/tests/test_utils_namespace.py b/tests/test_utils_namespace.py new file mode 100644 index 000000000..618799b24 --- /dev/null +++ b/tests/test_utils_namespace.py @@ -0,0 +1,29 @@ +from types import SimpleNamespace +from slic.utils.namespace import Namespace + + +def test_namespace_pretty_repr_mixed_and_nested(): + laser = SimpleNamespace(power="5W", wavelength="1030nm", mode="CW") + detector = SimpleNamespace(model="X-500") + stage = SimpleNamespace() + experiment = SimpleNamespace(id=42, meta=SimpleNamespace(author="Dr. X", approved=True)) + + ns = Namespace() + ns.laser = laser + ns.detector = detector + ns.stage = stage + ns.experiment = experiment + + output = repr(ns) + + expected = """\ +laser : namespace(power='5W', wavelength='1030nm', mode='CW') +detector : namespace(model='X-500') +stage : namespace() +experiment: namespace(id=42, meta=namespace(author='Dr. X', approved=True)) +""" + + if not output.endswith("\n"): + output += "\n" + + assert output == expected