20"""Tests for the microscope devices settings.
36 """Very simple container with setter and getter methods"""
38 def __init__(self, val):
41 def set_val(self, val):
48def create_enum_setting(default, with_getter=True, with_setter=True):
50 getter = thing.get_val
if with_getter
else None
51 setter = thing.set_val
if with_setter
else None
53 "foobar",
"enum", get_func=getter, set_func=setter, values=EnumSetting
60 """For enums, get() returns the enum value not the enum instance"""
61 setting, thing = create_enum_setting(1)
62 self.assertIsInstance(setting.get(), int)
65 """For enums, set() sets an enum instance, not the enum value"""
66 setting, thing = create_enum_setting(1)
68 self.assertIsInstance(thing.val, EnumSetting)
72 """get() works for write-only enum settings"""
73 setting, thing = create_enum_setting(1, with_getter=
False)
76 self.assertEqual(setting.get(), 2)
80if __name__ ==
"__main__":
def test_set_and_get_write_only(self)
def test_get_returns_enum_value(self)
def test_set_creates_enum(self)