add Datatype.to_string as counterpart of .from_string

This allows simple UIs using stringified versions in
text input.

- add frappy.client.SecopClient.setParameterFromString
- fix datatype tests
+ add updateItem to CallbackObject (for doc)

Change-Id: Ic7792bdc51ba0884637b2d4acc0e9433c669314d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34736
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
This commit is contained in:
2024-10-04 16:03:33 +02:00
parent f9f713811e
commit f8d8cbd76d
3 changed files with 143 additions and 103 deletions

View File

@ -264,7 +264,7 @@ def test_EnumType():
with pytest.raises(RangeError):
dt.import_value('A')
assert dt.format_value(3) == 'a<3>'
assert dt.format_value(dt(3)) == 'a<3>'
def test_BLOBType():
@ -378,20 +378,20 @@ def test_BoolType():
with pytest.raises(WrongTypeError):
dt('av')
assert dt('true') is True
assert dt('off') is False
assert dt.from_string('true') is True
assert dt.from_string('off') is False
assert dt(1) is True
assert dt.export_value('false') is False
assert dt.export_value(False) is False
assert dt.export_value(0) is False
assert dt.export_value('on') is True
assert dt.export_value(1) is True
assert dt.import_value(False) is False
assert dt.import_value(True) is True
with pytest.raises(WrongTypeError):
dt.import_value('av')
assert dt.format_value(0) == "False"
assert dt.format_value(dt(0)) == "False"
assert dt.format_value(True) == "True"
with pytest.raises(TypeError):
@ -468,7 +468,7 @@ def test_TupleOf():
assert dt.export_value([1, True]) == [1, True]
assert dt.import_value([1, True]) == (1, True)
assert dt.format_value([3,0]) == "(3, False)"
assert dt.format_value(dt([3,0])) == "(3, False)"
dt = TupleOf(EnumType('myenum', single=0))
copytest(dt)