add more tests and fixes for command inheritance
- fix CommandType.__repr__ - secop/modules.py: command properties are allowed to be configured: - section 2: remove comment and rename - section 3: all accessible properties should be checked - command description should be inherited also when taken from docstring - move test for command inheritance to test_modules.py - added tests to check for valid properties of commands Change-Id: Ic7795e305048625558e415ece099e6824df6e2c4 Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27135 Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de> Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de> Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
This commit is contained in:
@ -98,35 +98,14 @@ def test_Override():
|
||||
Mod.p1.default = False
|
||||
assert repr(Mod.p1) == repr(Base.p1)
|
||||
|
||||
for cls in locals().values():
|
||||
if hasattr(cls, 'accessibles'):
|
||||
for p in cls.accessibles.values():
|
||||
assert isinstance(p.ownProperties, dict)
|
||||
assert p.copy().ownProperties == {}
|
||||
|
||||
|
||||
def test_Export():
|
||||
class Mod(HasAccessibles):
|
||||
param = Parameter('description1', datatype=BoolType, default=False)
|
||||
assert Mod.param.export == '_param'
|
||||
|
||||
|
||||
def test_Command_Inheritance():
|
||||
class Base(HasAccessibles):
|
||||
@Command(BoolType(), visibility=2)
|
||||
def cmd(self, arg):
|
||||
"""first"""
|
||||
|
||||
class Sub(Base):
|
||||
@Command(group='grp')
|
||||
def cmd(self, arg):
|
||||
"""second"""
|
||||
|
||||
class Sub2(Base):
|
||||
@Command(FloatRange())
|
||||
def cmd(self, arg):
|
||||
"""third"""
|
||||
|
||||
assert Sub.accessibles['cmd'].for_export() == {
|
||||
'description': 'second', 'group': 'grp', 'visibility': 2,
|
||||
'datainfo': {'type': 'command', 'argument': {'type': 'bool'}}
|
||||
}
|
||||
|
||||
assert Sub2.accessibles['cmd'].for_export() == {
|
||||
'description': 'third', 'visibility': 2,
|
||||
'datainfo': {'type': 'command', 'argument': {'type': 'double'}}
|
||||
}
|
||||
|
Reference in New Issue
Block a user