def test_multiple_cycles_2(self): conf = { 0: [1, 4], 1: [2], 2: [0, 3], 3: [4, 5], 4: [1, 2], 5: [4] } cyc = [] for i in range(6): cyc = utils.walk( i, functools.partial(WalkTestCase._out, conf), cyc ) self.assertEqual(sorted(cyc), sorted([ [0, 1, 2, 0], [0, 4, 1, 2, 0], [0, 4, 2, 0], [1, 2, 3, 4, 1], [1, 2, 3, 5, 4, 1], [2, 3, 5, 4, 2], [2, 3 ,4, 2] ]))
def test_multiple_cycles(self): conf = { 0: [6], 1: [6], 2: [0], 3: [1], 4: [4], 5: [3], 6: [3], 7: [4], 8: [0] } cyc = [] for i in range(9): cyc = utils.walk( i, functools.partial(WalkTestCase._out, conf), cyc ) self.assertEqual(cyc, [ [1, 6, 3, 1], [4, 4] ])
def test_cycles_share_border(self): conf = {0: [1], 1: [2], 2: [3], 3: [0, 5], 4: [2], 5: [4]} cyc = [] for i in range(6): cyc = utils.walk(i, functools.partial(WalkTestCase._out, conf), cyc) self.assertEqual(cyc, [[0, 1, 2, 3, 0], [2, 3, 5, 4, 2]])
def test_1_long_cycle(self): conf = {0: [1], 1: [2], 2: [3], 3: [4], 4: [5], 5: [1]} cyc = [] for i in range(6): cyc = utils.walk(i, functools.partial(WalkTestCase._out, conf), cyc) self.assertEqual(cyc, [[1, 2, 3, 4, 5, 1]])
def test_self_cycle(self): conf = { 0: [0] } cyc = utils.walk( 0, functools.partial(WalkTestCase._out, conf) ) self.assertEqual(cyc, [[0, 0]])
def test_no_cycle(self): conf = { 0: [1, 2], 1: [2, 3], 2: [3, 4], 3: [4, 5], 4: [5, 6], 5: [6, 7], 6: [7], 7: [] } cyc = [] for i in range(8): cyc = utils.walk(i, functools.partial(WalkTestCase._out, conf), cyc) self.assertEqual(cyc, [])
def test_1_long_cycle(self): conf = { 0: [1], 1: [2], 2: [3], 3: [4], 4: [5], 5: [1] } cyc = [] for i in range(6): cyc = utils.walk( i, functools.partial(WalkTestCase._out, conf), cyc ) self.assertEqual(cyc, [[1, 2, 3, 4, 5, 1]])
def test_no_cycle(self): conf = { 0: [1, 2], 1: [2, 3], 2: [3, 4], 3: [4, 5], 4: [5, 6], 5: [6, 7], 6: [7], 7: [] } cyc = [] for i in range(8): cyc = utils.walk( i, functools.partial(WalkTestCase._out, conf), cyc ) self.assertEqual(cyc, [])
def test_cycles_share_border(self): conf = { 0: [1], 1: [2], 2: [3], 3: [0, 5], 4: [2], 5: [4] } cyc = [] for i in range(6): cyc = utils.walk( i, functools.partial(WalkTestCase._out, conf), cyc ) self.assertEqual(cyc, [ [0, 1, 2, 3, 0], [2, 3, 5, 4, 2] ])