def runTest(self): # FIXME make the weave, dont poke at it. k = Weave() k._names = ['0', '1', '2'] k._name_map = {'0':0, '1':1, '2':2} k._parents = [frozenset(), frozenset([0]), frozenset([0]), ] k._weave = [('{', 0), "first line", ('}', 0), ('{', 1), "second line", ('}', 1), ('{', 2), "alternative second line", ('}', 2), ] k._sha1s = [sha_string('first line') , sha_string('first linesecond line') , sha_string('first linealternative second line')] self.assertEqual(k.get_lines(0), ["first line"]) self.assertEqual(k.get_lines(1), ["first line", "second line"]) self.assertEqual(k.get_lines('2'), ["first line", "alternative second line"]) self.assertEqual(list(k.get_ancestry(['2'])), ['0', '2'])