def test_insert_complex_objects():
    tree = OrderedTree()
    obj = {
        "test": "foo",
        "foo":  "bar"
    }

    tree.insert('root', obj)
    print_yaml("After inserting a dict", tree)
    assert 'root.test' in tree
    assert 'root.foo' in tree
    assert isinstance(tree['root'], OrderedTree)
    assert isinstance(tree['root.foo'], OrderedTree) is False
    assert tree['root.test'] == 'foo'
    assert tree['root.foo'] == 'bar'

    # add to existing tree
    another_dict = {
        "bar": {
            "baz": {
                "boo": "baaaad"
            }
        }
    }
    tree.insert('root', another_dict)

    assert 'root.test' in tree
    assert 'root.foo' in tree
    assert 'root.bar' in tree
    assert isinstance(tree['root'], OrderedTree)
    assert isinstance(tree['root.foo'], OrderedTree) is False
    assert tree['root.test'] == 'foo'
    assert tree['root.foo'] == 'bar'
    print_yaml("inserting a complex dict", tree)

    replace_foo = {
        'foo': {
            'bar': 'baz'
        }
    }
    tree.insert('root', replace_foo)
    assert 'root.test' in tree
    assert 'root.foo' in tree
    assert 'root.bar' in tree
    assert isinstance(tree['root'], OrderedTree)
    assert isinstance(tree['root.foo'], OrderedTree)
    assert isinstance(tree['root.foo.bar'], OrderedTree) is False
    assert tree['root.foo'] != 'bar'
    print_yaml("replace foo", tree)

    tree['root.array'] = range(4)

    print_yaml("insert and array", tree)
    assert 'root.array' in tree
    assert isinstance(tree['root.array'], OrderedTree) is False

    tree['root.array.array'] = range(4)
    assert 'root.array' in tree
    assert 'root.array.array' in tree
    assert isinstance(tree['root.array'], OrderedTree)
Exemple #2
0
def test_insert():
    tree = OrderedTree()
    logging.debug(tree)
    tree.insert('foo.bar', 'moomoo')
    assert 'foo' in tree
    assert 'foo.bar' in tree
    assert tree['foo.bar'] == 'moomoo'
    assert tree['foo']['bar'] == 'moomoo'

    print_yaml("After foo.bar", tree)

    tree.insert('foobar', 'moomoo')
    tree.insert('foo.bar.baz', 'moomoo')

    assert tree['foo.bar'] != 'moomoo'
    assert tree['foo.bar.baz'] == 'moomoo'

    print_yaml("foo.bar overridden ", tree)

    x = tree['foo.bar']
    x['x.y.z'] = 'blah blah'
    print_yaml("sub-tree x", x)
    print_yaml("extend sub-tree foo.bar ", tree)

    assert x['x.y.z'] == 'blah blah'
    assert 'foo' in tree
    assert 'foo.bar' in tree
    assert tree['foo.bar.x.y.z'] == 'blah blah'
Exemple #3
0
def test_insert():
    tree = OrderedTree()
    logging.debug(tree)
    tree.insert('foo.bar', 'moomoo')
    assert 'foo' in tree
    assert 'foo.bar' in tree
    assert tree['foo.bar'] == 'moomoo'
    assert tree['foo']['bar'] == 'moomoo'

    print_yaml("After foo.bar", tree)

    tree.insert('foobar', 'moomoo')
    tree.insert('foo.bar.baz', 'moomoo')

    assert tree['foo.bar'] != 'moomoo'
    assert tree['foo.bar.baz'] == 'moomoo'

    print_yaml("foo.bar overridden ", tree)

    x = tree['foo.bar']
    x['x.y.z'] = 'blah blah'
    print_yaml("sub-tree x", x)
    print_yaml("extend sub-tree foo.bar ", tree)

    assert x['x.y.z'] == 'blah blah'
    assert 'foo' in tree
    assert 'foo.bar' in tree
    assert tree['foo.bar.x.y.z'] == 'blah blah'