def test_fromBreakpoints(self): """RangeNode fromBreakpoints should have correct topology""" breakpoints = [4, 2, 1, 0, 3, 6, 5] t = RangeNode.fromBreakpoints(breakpoints) #check number of leaves self.assertEqual(len(list(t.traverse())), 8) self.assertEqual(len(list(t.traverse(self_before=True))), 15) #check that leaves were created in right order self.assertEqual([i.Id for i in t.traverse()], range(8)) #check that whole toplogy is right wrt ids... nodes = list(t.traverse(self_before=True)) obs = [i.Id for i in nodes] exp = [8, 9, 11, 13, 0, 1, 2, 12, 3, 4, 10, 14, 5, 6, 7] self.assertEqual(obs, exp) #...and ranges obs = [i.LeafRange for i in nodes] exp = [(0,8),(0,5),(0,3),(0,2),(0,1),(1,2),(2,3),(3,5),(3,4),(4,5), \ (5,8),(5,7),(5,6),(6,7),(7,8)] self.assertEqual(obs, exp)
def test_fromBreakpoints(self): """RangeNode fromBreakpoints should have correct topology""" breakpoints = [4,2,1,0,3,6,5] t = RangeNode.fromBreakpoints(breakpoints) #check number of leaves self.assertEqual(len(list(t.traverse())), 8) self.assertEqual(len(list(t.traverse(self_before=True))), 15) #check that leaves were created in right order self.assertEqual([i.Id for i in t.traverse()], range(8)) #check that whole toplogy is right wrt ids... nodes = list(t.traverse(self_before=True)) obs = [i.Id for i in nodes] exp = [8, 9, 11, 13, 0, 1, 2, 12, 3, 4, 10, 14, 5, 6, 7] self.assertEqual(obs, exp) #...and ranges obs = [i.LeafRange for i in nodes] exp = [(0,8),(0,5),(0,3),(0,2),(0,1),(1,2),(2,3),(3,5),(3,4),(4,5), \ (5,8),(5,7),(5,6),(6,7),(7,8)] self.assertEqual(obs, exp)