def test_configuration_get_section():
    path = os.path.join(ROOT, 'config.json')
    config = ConfigurationBuilder()  \
        .add_json_file(path)  \
        .add_json_file('test.json', optional=True)  \
        .build()
    section = config.get_section('Nested')
    assert isinstance(section, IConfiguration)
    assert section.to_dict() == {"Bar": "foo", "Foo": "zoo"}
def test_configuration_get_section():
    path = os.path.join(ROOT, 'config.json')
    config = ConfigurationBuilder()  \
        .add_json_file(path)  \
        .add_json_file('test.json', optional=True)  \
        .build()
    section = config.get_section('Nested')
    assert isinstance(section, IConfiguration)
    assert section.to_dict() ==  {"Bar": "foo", "Foo": "zoo"}
def test_configuration_get_section_nested():
    config = ConfigurationBuilder()  \
        .add_dict({'foo': {'bar': {'zoo': 1, 'test': 2}}}) \
        .build()
    assert config.get_section('foo:bar').to_dict() == {'zoo': '1', 'test': '2'}
    assert config.get_section('foo:b').to_dict() == {}
def test_configuration_get_section_nested():
    config = ConfigurationBuilder()  \
        .add_dict({'foo': {'bar': {'zoo': 1, 'test': 2}}}) \
        .build()
    assert config.get_section('foo:bar').to_dict() == {'zoo': '1', 'test': '2'}
    assert config.get_section('foo:b').to_dict() == {}