def test_insert_errors(self): nodelist = _NodeListRoot() node1 = GenericNode('node1') node2 = GenericNode('node2') loosenode = GenericNode('loosenode') nodelist.insert(node1) oldnext = node1._next_node node1._next_node = loosenode with pytest.raises(exceptions.ListIntegrityError): nodelist.insert(node2) node1._next_node = oldnext node1._prev_node = loosenode with pytest.raises(exceptions.ListIntegrityError): nodelist.insert(node2, after=nodelist)
def test_save_basic(self, tmpdir): tracker = Tracker(nodecreator=FakeNodeCreator(), skeleton=False) node1 = GenericNode("node1", "\u2665node1_text", tracker.root) tracker.root.addchild(node1) node2 = GenericNode("node2", "\u2665node2_text", tracker.root) tracker.root.addchild(node2) node3 = GenericNode("node3", None, tracker.root) tracker.root.addchild(node3) node1_1 = GenericNode("node1_1", "\u2665node1_1_text", node1) node1_1.setoption("herp", "\u2665derp") node1.addchild(node1_1) node1_2 = GenericNode("node1_2", "\u2665node1_2_text", node1) node1_2.continue_text("\u2665herk derk") node1.addchild(node1_2) node2_1 = GenericNode("node2_1", "\u2665node2_1_text", node2) node2_1.setoption("hark", "\u2665dark") node2_1.continue_text('\u2665honk donk') node2.addchild(node2_1) f = tmpdir.join("life") tracker.save(str(tmpdir)) assert match(f.read("rb"), ( "node1#?????: \u2665node1_text\n" " node1_1#?????: \u2665node1_1_text\n" " @herp: \u2665derp\n" " node1_2#?????: \u2665node1_2_text\n" " - \u2665herk derk\n" "node2#?????: \u2665node2_text\n" " node2_1#?????: \u2665node2_1_text\n" " - \u2665honk donk\n" " @hark: \u2665dark\n" "node3#?????\n" ).encode("utf-8"))