add test_leadership_requires_transitive
This commit is contained in:
parent
5c0ac75c52
commit
35ee424810
1 changed files with 115 additions and 0 deletions
|
@ -1210,3 +1210,118 @@ def test_leadership_requires_complet():
|
||||||
del dico['options.unicode.unicode6']
|
del dico['options.unicode.unicode6']
|
||||||
del dico['options.unicode.unicode7'][1]
|
del dico['options.unicode.unicode7'][1]
|
||||||
del dico['options.unicode.unicode7']
|
del dico['options.unicode.unicode7']
|
||||||
|
|
||||||
|
|
||||||
|
def test_leadership_requires_transitive():
|
||||||
|
optiontoto = StrOption('unicodetoto', "Unicode leader")
|
||||||
|
option = StrOption('unicode', "Unicode leader", multi=True)
|
||||||
|
option1 = StrOption('unicode1', "Unicode follower 1", multi=True)
|
||||||
|
option2 = StrOption('unicode2', "Unicode follower 2", requires=[{'option': optiontoto,
|
||||||
|
'expected': u'test',
|
||||||
|
'action': 'disabled',
|
||||||
|
'transitive': True,
|
||||||
|
'inverse': True}],
|
||||||
|
multi=True)
|
||||||
|
option3 = StrOption('unicode3', "Unicode follower 3", requires=[{'option': option2,
|
||||||
|
'expected': u'test',
|
||||||
|
'action': 'disabled',
|
||||||
|
'transitive': True,
|
||||||
|
'inverse': True}],
|
||||||
|
multi=True)
|
||||||
|
option4 = StrOption('unicode4', "Unicode follower 4", requires=[{'option': option3,
|
||||||
|
'expected': u'test',
|
||||||
|
'action': 'disabled',
|
||||||
|
'transitive': True,
|
||||||
|
'inverse': True}],
|
||||||
|
multi=True)
|
||||||
|
descr1 = Leadership("unicode", "Common configuration 1",
|
||||||
|
[option, option1, option2, option3, option4])
|
||||||
|
descr = OptionDescription("options", "Common configuration 2", [descr1, optiontoto])
|
||||||
|
descr = OptionDescription("unicode1", "", [descr])
|
||||||
|
config = Config(descr)
|
||||||
|
config.property.read_write()
|
||||||
|
assert config.value.dict() == {'options.unicode.unicode': [], 'options.unicode.unicode1': [], 'options.unicode.unicode3': [], 'options.unicode.unicode4': [], 'options.unicodetoto': None}
|
||||||
|
#
|
||||||
|
config.option('options.unicodetoto').value.set('test')
|
||||||
|
assert config.value.dict() == {'options.unicode.unicode': [], 'options.unicode.unicode1': [], 'options.unicode.unicode2': [], 'options.unicode.unicode3': [], 'options.unicode.unicode4': [], 'options.unicodetoto': 'test'}
|
||||||
|
#
|
||||||
|
config.option('options.unicode.unicode').value.set(['a', 'b', 'c'])
|
||||||
|
dico = config.value.dict()
|
||||||
|
assert list(dico.keys()) == ['options.unicode.unicode', 'options.unicode.unicode1', 'options.unicode.unicode2', 'options.unicode.unicode3', 'options.unicode.unicode4', 'options.unicodetoto']
|
||||||
|
assert dico['options.unicodetoto'] == 'test'
|
||||||
|
assert dico['options.unicode.unicode'] == ['a', 'b', 'c']
|
||||||
|
assert dico['options.unicode.unicode1'] == [None, None, None]
|
||||||
|
assert dico['options.unicode.unicode2'] == [None, None, None]
|
||||||
|
assert isinstance(dico['options.unicode.unicode3'][0], PropertiesOptionError)
|
||||||
|
assert isinstance(dico['options.unicode.unicode3'][1], PropertiesOptionError)
|
||||||
|
assert isinstance(dico['options.unicode.unicode3'][2], PropertiesOptionError)
|
||||||
|
assert isinstance(dico['options.unicode.unicode4'][0], PropertiesOptionError)
|
||||||
|
assert isinstance(dico['options.unicode.unicode4'][1], PropertiesOptionError)
|
||||||
|
assert isinstance(dico['options.unicode.unicode4'][2], PropertiesOptionError)
|
||||||
|
del (dico['options.unicode.unicode3'][2])
|
||||||
|
del (dico['options.unicode.unicode3'][1])
|
||||||
|
del (dico['options.unicode.unicode3'][0])
|
||||||
|
del (dico['options.unicode.unicode4'][2])
|
||||||
|
del (dico['options.unicode.unicode4'][1])
|
||||||
|
del (dico['options.unicode.unicode4'][0])
|
||||||
|
#
|
||||||
|
config.option('options.unicode.unicode2', 1).value.set('test')
|
||||||
|
config.option('options.unicode.unicode3', 1).value.set('test')
|
||||||
|
dico = config.value.dict()
|
||||||
|
assert list(dico.keys()) == ['options.unicode.unicode', 'options.unicode.unicode1', 'options.unicode.unicode2', 'options.unicode.unicode3', 'options.unicode.unicode4', 'options.unicodetoto']
|
||||||
|
assert dico['options.unicodetoto'] == 'test'
|
||||||
|
assert dico['options.unicode.unicode'] == ['a', 'b', 'c']
|
||||||
|
assert dico['options.unicode.unicode1'] == [None, None, None]
|
||||||
|
assert dico['options.unicode.unicode2'] == [None, 'test', None]
|
||||||
|
assert isinstance(dico['options.unicode.unicode3'][0], PropertiesOptionError)
|
||||||
|
assert dico['options.unicode.unicode3'][1] == 'test'
|
||||||
|
assert isinstance(dico['options.unicode.unicode3'][2], PropertiesOptionError)
|
||||||
|
assert isinstance(dico['options.unicode.unicode4'][0], PropertiesOptionError)
|
||||||
|
assert dico['options.unicode.unicode4'][1] == None
|
||||||
|
assert isinstance(dico['options.unicode.unicode4'][2], PropertiesOptionError)
|
||||||
|
del (dico['options.unicode.unicode3'][2])
|
||||||
|
del (dico['options.unicode.unicode3'][1])
|
||||||
|
del (dico['options.unicode.unicode3'][0])
|
||||||
|
del (dico['options.unicode.unicode4'][2])
|
||||||
|
del (dico['options.unicode.unicode4'][1])
|
||||||
|
del (dico['options.unicode.unicode4'][0])
|
||||||
|
#
|
||||||
|
config.option('options.unicode.unicode2', 1).value.set('rah')
|
||||||
|
dico = config.value.dict()
|
||||||
|
assert list(dico.keys()) == ['options.unicode.unicode', 'options.unicode.unicode1', 'options.unicode.unicode2', 'options.unicode.unicode3', 'options.unicode.unicode4', 'options.unicodetoto']
|
||||||
|
assert dico['options.unicodetoto'] == 'test'
|
||||||
|
assert dico['options.unicode.unicode'] == ['a', 'b', 'c']
|
||||||
|
assert dico['options.unicode.unicode1'] == [None, None, None]
|
||||||
|
assert dico['options.unicode.unicode2'] == [None, 'rah', None]
|
||||||
|
assert isinstance(dico['options.unicode.unicode3'][0], PropertiesOptionError)
|
||||||
|
assert isinstance(dico['options.unicode.unicode3'][1], PropertiesOptionError)
|
||||||
|
assert isinstance(dico['options.unicode.unicode3'][2], PropertiesOptionError)
|
||||||
|
assert isinstance(dico['options.unicode.unicode4'][0], PropertiesOptionError)
|
||||||
|
assert isinstance(dico['options.unicode.unicode4'][1], PropertiesOptionError)
|
||||||
|
assert isinstance(dico['options.unicode.unicode4'][2], PropertiesOptionError)
|
||||||
|
del (dico['options.unicode.unicode3'][2])
|
||||||
|
del (dico['options.unicode.unicode3'][1])
|
||||||
|
del (dico['options.unicode.unicode3'][0])
|
||||||
|
del (dico['options.unicode.unicode4'][2])
|
||||||
|
del (dico['options.unicode.unicode4'][1])
|
||||||
|
del (dico['options.unicode.unicode4'][0])
|
||||||
|
#
|
||||||
|
config.option('options.unicode.unicode2', 1).value.set('test')
|
||||||
|
config.option('options.unicodetoto').value.set('rah')
|
||||||
|
dico = config.value.dict()
|
||||||
|
assert list(dico.keys()) == ['options.unicode.unicode', 'options.unicode.unicode1', 'options.unicode.unicode3', 'options.unicode.unicode4', 'options.unicodetoto']
|
||||||
|
assert dico['options.unicodetoto'] == 'rah'
|
||||||
|
assert dico['options.unicode.unicode'] == ['a', 'b', 'c']
|
||||||
|
assert dico['options.unicode.unicode1'] == [None, None, None]
|
||||||
|
assert isinstance(dico['options.unicode.unicode3'][0], PropertiesOptionError)
|
||||||
|
assert isinstance(dico['options.unicode.unicode3'][1], PropertiesOptionError)
|
||||||
|
assert isinstance(dico['options.unicode.unicode3'][2], PropertiesOptionError)
|
||||||
|
assert isinstance(dico['options.unicode.unicode4'][0], PropertiesOptionError)
|
||||||
|
assert isinstance(dico['options.unicode.unicode4'][1], PropertiesOptionError)
|
||||||
|
assert isinstance(dico['options.unicode.unicode4'][2], PropertiesOptionError)
|
||||||
|
del (dico['options.unicode.unicode3'][2])
|
||||||
|
del (dico['options.unicode.unicode3'][1])
|
||||||
|
del (dico['options.unicode.unicode3'][0])
|
||||||
|
del (dico['options.unicode.unicode4'][2])
|
||||||
|
del (dico['options.unicode.unicode4'][1])
|
||||||
|
del (dico['options.unicode.unicode4'][0])
|
||||||
|
|
Loading…
Reference in a new issue