diff --git a/unittests/test_sync_graph.py b/unittests/test_sync_graph.py index 1ec2b3b2944db8b7441e9ecb0c95ebafb05c7510..5d7363fbf88fe4fdf7e181b03662b7907083f9a4 100644 --- a/unittests/test_sync_graph.py +++ b/unittests/test_sync_graph.py @@ -76,6 +76,30 @@ def test_create_flat_list(): assert b in flat assert c in flat + # Test for lists: + a = db.Record() + b = db.Record() + d = db.Record() + a.add_property(name="a", value=a) + a.add_property(name="list", value=[b, d]) + flat = SyncGraph._create_flat_list([a]) + assert len(flat) == 3 + assert a in flat + assert b in flat + assert d in flat + + c = db.Record() + c.add_property(name="a", value=a) + # This would cause a recursion error if it is not dealt with properly. + a.add_property(name="second_list", value=[b, d, c]) + flat = SyncGraph._create_flat_list([c]) + assert len(flat) == 4 + assert a in flat + assert b in flat + assert c in flat + assert d in flat + + def test_create_reference_mapping(): a = SyncNode(db.Record().add_parent("RT1"),