can mix inversed and non inversed requires

This commit is contained in:
2017-01-12 19:52:03 +01:00
parent 18d6976183
commit 01b7fc873e
3 changed files with 46 additions and 19 deletions

View File

@ -595,8 +595,35 @@ def test_requires_requirement_append():
def test_requires_different_inverse():
a = BoolOption('activate_service', '', True)
a
raises(ValueError, "IPOption('ip_address_service', '', requires=[{'option': a, 'expected': True, 'action': 'disabled', 'inverse': True}, {'option': a, 'expected': True, 'action': 'disabled', 'inverse': False}])")
b = IPOption('ip_address_service', '', requires=[
{'option': a, 'expected': True, 'action': 'disabled', 'inverse': True},
{'option': a, 'expected': True, 'action': 'disabled', 'inverse': False}])
od = OptionDescription('service', '', [a, b])
c = Config(od)
c.read_write()
raises(PropertiesOptionError, 'c.ip_address_service')
c.activate_service = False
raises(PropertiesOptionError, 'c.ip_address_service')
def test_requires_different_inverse_unicode():
a = BoolOption('activate_service', '', True)
d = StrOption('activate_other_service', '', 'val2')
b = IPOption('ip_address_service', '', requires=[
{'option': a, 'expected': True, 'action': 'disabled', 'inverse': True},
{'option': d, 'expected': 'val1', 'action': 'disabled', 'inverse': False}])
od = OptionDescription('service', '', [a, d, b])
c = Config(od)
c.read_write()
assert c.ip_address_service == None
c.activate_service = False
raises(PropertiesOptionError, 'c.ip_address_service')
c.activate_service = True
assert c.ip_address_service == None
c.activate_other_service = 'val1'
raises(PropertiesOptionError, 'c.ip_address_service')
c.activate_service = False
raises(PropertiesOptionError, 'c.ip_address_service')
def test_requires_recursive_path():