Пример #1
0
def test():
    test_puzzle = """1163751742
1381373672
2136511328
3694931569
7463417111
1319128137
1359912421
3125421639
1293138521
2311944581"""
    g = parse_puzzle(test_puzzle)
    path = retworkx.dijkstra_shortest_paths(g, 0, len(g) - 1, weight_fn=float)
    print(sum(g[i] for i in list(path[len(g) - 1])[1:]))

    g = extend_and_parse_puzzle(test_puzzle)
    path = retworkx.dijkstra_shortest_paths(g, 0, len(g) - 1, weight_fn=float)
    print(sum(g[i] for i in list(path[len(g) - 1])[1:]))
Пример #2
0
 def test_deepcopy(self):
     paths = retworkx.dijkstra_shortest_paths(self.dag, 0)
     paths_copy = copy.deepcopy(paths)
     self.assertEqual(paths, paths_copy)
Пример #3
0
 def test__gt__not_implemented(self):
     with self.assertRaises(NotImplementedError):
         retworkx.dijkstra_shortest_paths(self.dag, 0) > {1: [0, 2]}
Пример #4
0
def part_2() -> str:
    g = extend_and_parse_puzzle(puzzle)
    path = retworkx.dijkstra_shortest_paths(g, 0, len(g) - 1, weight_fn=float)
    return str(sum(g[i] for i in list(path[len(g) - 1])[1:]))
Пример #5
0
 def test_not_contains(self):
     res = retworkx.dijkstra_shortest_paths(self.dag, 0)
     self.assertNotIn(0, res)
Пример #6
0
 def test_items(self):
     items = retworkx.dijkstra_shortest_paths(self.dag, 0).items()
     self.assertEqual([(1, [0, 1])], list(items))
Пример #7
0
 def test_keys(self):
     keys = retworkx.dijkstra_shortest_paths(self.dag, 0).keys()
     self.assertEqual([1], list(keys))
Пример #8
0
 def test_hash(self):
     res = retworkx.dijkstra_shortest_paths(self.dag, 0)
     hash_res = hash(res)
     self.assertIsInstance(hash_res, int)
     # Assert hash is stable
     self.assertEqual(hash_res, hash(res))
Пример #9
0
 def test__eq__invalid_inner_type(self):
     self.assertFalse(
         retworkx.dijkstra_shortest_paths(self.dag, 0) == {0: {
             "a": None
         }})
Пример #10
0
 def test__eq__invalid_type(self):
     self.assertFalse(
         retworkx.dijkstra_shortest_paths(self.dag, 0) == ["a", None])
Пример #11
0
 def test_eq__same_type(self):
     self.assertEqual(
         retworkx.dijkstra_shortest_paths(self.dag, 0),
         retworkx.dijkstra_shortest_paths(self.dag, 0),
     )
Пример #12
0
 def test__eq__different_length(self):
     self.assertFalse(
         retworkx.dijkstra_shortest_paths(self.dag, 0) == {
             1: [0, 1],
             2: [0, 2]
         })
Пример #13
0
 def test__eq__not_match_values(self):
     self.assertFalse(
         retworkx.dijkstra_shortest_paths(self.dag, 0) == {1: [0, 2]})
Пример #14
0
 def test__eq__not_match_keys(self):
     self.assertFalse(
         retworkx.dijkstra_shortest_paths(self.dag, 0) == {2: [0, 1]})
Пример #15
0
 def test__eq__match(self):
     self.assertTrue(
         retworkx.dijkstra_shortest_paths(self.dag, 0) == {1: [0, 1]})
Пример #16
0
 def test_pickle(self):
     paths = retworkx.dijkstra_shortest_paths(self.dag, 0)
     paths_pickle = pickle.dumps(paths)
     paths_copy = pickle.loads(paths_pickle)
     self.assertEqual(paths, paths_copy)
Пример #17
0
 def test_str(self):
     res = retworkx.dijkstra_shortest_paths(self.dag, 0)
     self.assertEqual("PathMapping{1: [0, 1]}", str(res))
Пример #18
0
 def test__ne__match(self):
     self.assertFalse(
         retworkx.dijkstra_shortest_paths(self.dag, 0) != {1: [0, 1]})
Пример #19
0
 def test_index_error(self):
     res = retworkx.dijkstra_shortest_paths(self.dag, 0)
     with self.assertRaises(IndexError):
         res[42]
Пример #20
0
 def test__ne__not_match(self):
     self.assertTrue(
         retworkx.dijkstra_shortest_paths(self.dag, 0) != {2: [0, 1]})
Пример #21
0
 def test_values(self):
     values = retworkx.dijkstra_shortest_paths(self.dag, 0).values()
     self.assertEqual([[0, 1]], list(values))
Пример #22
0
 def test__ne__not_match_values(self):
     self.assertTrue(
         retworkx.dijkstra_shortest_paths(self.dag, 0) != {1: [0, 2]})
Пример #23
0
 def test_iter(self):
     mapping_iter = iter(retworkx.dijkstra_shortest_paths(self.dag, 0))
     output = list(mapping_iter)
     self.assertEqual(output, [1])
Пример #24
0
 def test__ne__different_length(self):
     self.assertTrue(
         retworkx.dijkstra_shortest_paths(self.dag, 0) != {
             1: [0, 1],
             2: [0, 2]
         })
Пример #25
0
 def test_dijkstra_shortest_paths(self):
     res = retworkx.dijkstra_shortest_paths(self.graph, 0)
     self.assertIsInstance(res, retworkx.PathMapping)
Пример #26
0
 def test__ne__invalid_type(self):
     self.assertTrue(
         retworkx.dijkstra_shortest_paths(self.dag, 0) != ["a", None])