Пример #1
0
def test_dump():
    d = Database()
    o1 = d.create_object()
    o2 = d.create_object()
    name = 'test'
    d.register_object(name, o1)
    data = d.dump()
    assert data['registered_objects'] == {name: o1.id}
    assert len(data['objects']) == 2
    assert data['objects'][0]['id'] == o1.id
    assert data['objects'][1]['id'] == o2.id
Пример #2
0
def test_load():
    d = Database()
    grandparent_1 = d.create_object()
    grandparent_2 = d.create_object()
    parent = d.create_object()
    for grandparent in (grandparent_1, grandparent_2):
        parent.add_parent(grandparent)
    child = d.create_object()
    child.add_parent(parent)
    for name, obj in (
        ('grandparent_1', grandparent_1), ('grandparent_2', grandparent_2),
        ('parent', parent), ('child', child)
    ):
        d.register_object(name, obj)
    data = d.dump()
    new = Database()
    new.load(data)
    assert d.child.id == child.id
    assert d.parent.id == parent.id
    assert d.child._parents == [d.parent]
    assert d.grandparent_1.id == grandparent_1.id
    assert d.grandparent_2.id == grandparent_2.id
    assert d.parent._parents == [d.grandparent_1, d.grandparent_2]