Exemplo n.º 1
0
    def setUp(self):
        input_string = """A to B = 3
A to C = 2
A to B = 3
B to C = 5
B to D = 4
C to D = 3"""
        self.graph = day9.map_distances(input_string)
Exemplo n.º 2
0
    def setUp(self):
        super(Day9_GetLengthOfPath_Tests, self).setUp()
        input_string = """A to B = 3
A to C = 2
A to B = 3
B to C = 5
B to D = 4
C to D = 3"""
        self.graph = day9.map_distances(input_string)
Exemplo n.º 3
0
    def test_example_map_distances(self):
        i = """London to Dublin = 464
London to Belfast = 518
Dublin to Belfast = 141"""
        expect = {
            'London': {'Dublin': 464, 'Belfast': 518},
            'Belfast': {'London': 518, 'Dublin': 141},
            'Dublin': {'Belfast': 141, 'London': 464}}
        self.assertEqual(expect, day9.map_distances(i))
Exemplo n.º 4
0
    def test_advent_puzzle_part_2_longest_path(self):
        advent_graph = day9.map_distances(day9.INPUT_STRING)
        result_path, result_dist = day9.get_longest_complete_path(advent_graph)
        print result_path
        print result_dist


# Day 9
# result = my_func(day9.INPUT_STRING)
Exemplo n.º 5
0
    def test_get_all_paths_from_single_node(self):
        input_string = """A to B = 3
A to C = 2
A to B = 3
B to C = 5
B to D = 4
C to D = 3"""
        graph = day9.map_distances(input_string)
        expected_paths = [['C', 'A', 'B'], ['C', 'B'], ['C', 'D', 'B']]
        self.assertEqual(expected_paths, day9.get_all_paths_from_a_to_b('C', 'B', graph))
Exemplo n.º 6
0
    def test_get_all_paths_through_multiple_nodes(self):
        input_string = """A to B = 3
A to C = 2
A to B = 3
B to C = 5
B to D = 4
C to D = 3"""
        graph = day9.map_distances(input_string)
        expected_paths = [['A', 'B', 'C', 'D'], ['A', 'C', 'B', 'D'], ['A', 'B', 'D'], ['A', 'C', 'D']]
        results = day9.get_all_paths_from_a_to_b('A', 'D', graph)
        self.assertTrue(all([expect in results for expect in expected_paths]))
        self.assertTrue(all([result in expected_paths for result in results]))
Exemplo n.º 7
0
    def test_convert_input_to_lookup_table(self):
        input_string = """A to B = 3
A to C = 2
A to B = 3
B to C = 5
B to D = 4
C to D = 3"""
        expect = {
            'A': {'B': 3, 'C': 2},
            'B': {'A': 3, 'C': 5, 'D': 4},
            'C': {'A': 2, 'B': 5, 'D': 3},
            'D': {'B': 4, 'C': 3}
        }
        result = day9.map_distances(input_string)
        self.assertEqual(expect, result)
Exemplo n.º 8
0
 def test_advent_puzzle(self):
     advent_graph = day9.map_distances(day9.INPUT_STRING)
     result_path, result_dist = day9.get_shortest_complete_path(advent_graph)
     print result_path
     print result_dist