def test_Config_defaults_update(defaultsvalue): config1 = Config(defaults=defaultsvalue) config1['d'] = 11 config1['e'] = 12 config1.set_defaults(a={}, b=5, c={'x': 7}, d=8) config2 = Config(defaults=True) config2.update(config1) assert config2 == config1 config1.set_defaults(only1=1) assert not config2.has_option('only1') config2.set_defaults(only2=2) assert not config1.has_option('only2') assert config2 != config1
def test_Config_defaults_sub(): config = Config(defaults=True) config['a'] = 10 config['sub'] = {} config['sub']['x'] = 1 config['sub']['subsub'] = {} config['sub']['subsub']['xx'] = 11 config['sub']['subsub']['subsubsub'] = {} config['sub']['subsub']['subsubsub']['xxx'] = 111 config['sub']['subsub']['subsubsub']['yyy'] = 222 config['sub']['subsub']['yy'] = 22 config['sub']['y'] = 2 config['b'] = 20 config2 = Config(defaults=True) config2.set_defaults(**config) assert len(config2) == 0 assert config2['a'] == 10 assert config2['sub']['x'] == 1 assert config2['sub']['subsub']['xx'] == 11 assert config2['sub']['subsub']['subsubsub']['xxx'] == 111 assert config2['sub']['subsub']['subsubsub']['yyy'] == 222 assert config2['sub']['subsub']['yy'] == 22 assert config2['sub']['y'] == 2 assert config2['b'] == 20 assert len(config2) == 1 assert config2.has_option('a') assert config2.has_section('sub')
def test_Config_no_defaults_set_defaults(): config = Config(defaults=False) config.set_defaults(alpha=10, beta={'x': 1}) assert config.has_option('alpha') assert config['alpha'] == 10 assert len(config) == 2 assert config.has_section('beta') assert config['beta'].has_option('x') assert config['beta']['x'] == 1 assert len(config['beta']) == 1
def test_Config_defaults_option(): config = Config(defaults=True) config.set_defaults(a=10) assert 'a' in config assert config.has_key('a') assert config.has_option('a') assert config['a'] == 10 assert config.get('a') == 10 assert config.get_option('a') == 10 assert len(config) == 0 assert not 'a' in config.dictionary
def test_Config_defaults_deloptions(): config = Config(defaults=True) config['d'] = 11 config['e'] = 12 config.set_defaults(a={}, b=5, c={'x': 7}, d=8) assert config.has_option('d') assert config['d'] == 11 del config['d'] assert config.has_option('d') assert config['d'] == 8 assert config.has_option('e') assert config['e'] == 12 del config['e'] assert not config.has_option('e') with pytest.raises(KeyError): del config['e'] del config['d'] assert config.has_option('d') del config['c'] assert config.has_section('c') assert config['c']['x'] == 7