def test_multiple_css_with_same_multiple_dependencies(self): """ A -- B -- D--F -- G \ \/ / \ /\ / - C--E- Both F and E depend on D and C """ doc = Document(snapshot='') doc.HAS_EVENT_LOOP = False root = doc.get_root_changeset() A = Changeset(doc.get_id(), "user0", [root]) A.set_id('a') doc.receive_changeset(A) assert doc.get_ordered_changesets() == [root, A] assert doc.get_ordered_changesets() == doc.tree_to_list() B = Changeset(doc.get_id(), "user1", [A]) B.set_id('b') doc.receive_changeset(B) assert doc.get_ordered_changesets() == [root, A, B] assert doc.get_ordered_changesets() == doc.tree_to_list() C = Changeset(doc.get_id(), "user3", [B]) C.set_id('c') doc.receive_changeset(C) assert doc.get_ordered_changesets() == [root, A, B, C] assert doc.get_ordered_changesets() == doc.tree_to_list() D = Changeset(doc.get_id(), "user4", [B]) D.set_id('d') doc.receive_changeset(D) assert doc.get_ordered_changesets() == [root, A, B, C, D] assert doc.get_ordered_changesets() == doc.tree_to_list() E = Changeset(doc.get_id(), "user5", [C, D]) E.set_id('e') doc.receive_changeset(E) assert doc.get_ordered_changesets() == [root, A, B, C, D, E] assert doc.get_ordered_changesets() == doc.tree_to_list() F = Changeset(doc.get_id(), "user6", [C, D]) F.set_id('f') doc.receive_changeset(F) assert set(doc.get_dependencies()) == set([E,F]) assert doc.get_ordered_changesets() == [root, A,B,C,D,E,F] assert doc.get_ordered_changesets() == doc.tree_to_list() G = Changeset(doc.get_id(), "user5", [E,F]) doc.receive_changeset(G) assert doc.get_dependencies() == [G] assert doc.get_ordered_changesets() == [root, A, B, C, D, E, F, G] assert doc.get_ordered_changesets() == doc.tree_to_list()
def test_initial_dependency(self): doc = Document(snapshot='') doc.HAS_EVENT_LOOP = False assert doc.get_open_changeset() == None assert doc.get_ordered_changesets() == [doc.get_root_changeset()] assert doc.get_dependencies() == [doc.get_root_changeset()]
def test_multiple_dependencies(self): """ -- B ---- E / / root -- A -- D \ / -- C -- """ doc = Document(snapshot='') doc.HAS_EVENT_LOOP = False root = doc.get_root_changeset() B = Changeset(doc.get_id(), "user0", [root]) B.set_id('b') doc.receive_changeset(B) A = Changeset(doc.get_id(), "user1", [root]) A.set_id('a') doc.receive_changeset(A) assert set(doc.get_dependencies()) == set([B,A]) assert doc.get_ordered_changesets() == [root, A, B] C = Changeset(doc.get_id(), "user2", [root]) C.set_id('c') doc.receive_changeset(C) assert set(doc.get_dependencies()) == set([B,A,C]) assert doc.get_ordered_changesets() == [root, A, B, C] assert doc.get_ordered_changesets() == doc.tree_to_list() # test_multiple_dependencies_common_base D = Changeset(doc.get_id(), "user0", [C,A]) D.set_id('d') doc.receive_changeset(D) assert set(doc.get_dependencies()) == set([B,D]) assert doc.get_ordered_changesets() == [root, A, B, C, D] assert doc.get_ordered_changesets() == doc.tree_to_list() E = Changeset(doc.get_id(), 'user1', [B, D]) E.set_id('e') doc.receive_changeset(E) assert doc.get_dependencies() == [E] assert doc.get_ordered_changesets() == [root, A, B, C, D, E] assert doc.get_ordered_changesets() == doc.tree_to_list()
def test_sequential_changeset(self): doc = Document(snapshot='') doc.HAS_EVENT_LOOP = False root = doc.get_root_changeset() cs0 = Changeset(doc.get_id(), "dummyuser", [root]) rid = root.get_id() assert doc.receive_changeset(cs0) assert rid == doc.get_root_changeset().get_id() assert root.get_children() == [cs0] assert doc.get_dependencies() == [cs0] assert doc.get_ordered_changesets() == [root, cs0] cs1 = Changeset(doc.get_id(), "user1", [cs0]) assert doc.receive_changeset(cs1) assert doc.get_ordered_changesets() == [root, cs0, cs1] assert doc.get_dependencies() == [cs1] cs2 = Changeset(doc.get_id(), "user1", [cs1]) assert doc.receive_changeset(cs2) assert doc.get_ordered_changesets() == [root, cs0, cs1, cs2] assert doc.get_dependencies() == [cs2] assert doc.get_ordered_changesets() == doc.tree_to_list()