예제 #1
0
 def test__eq__different_length(self):
     self.assertFalse(
         retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn) ==
         {0: {
             1: 1.0,
             2: 2.0
         }})
예제 #2
0
 def test__ne__match(self):
     self.assertFalse(
         retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn) != {
             0: {
                 1: 1.0
             },
             1: {}
         })
예제 #3
0
 def test__eq__match(self):
     self.assertTrue(
         retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn) == {
             0: {
                 1: 1.0
             },
             1: {}
         })
예제 #4
0
 def test__ne__different_length(self):
     self.assertTrue(
         retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn) != {
             0: {
                 1: 1.0
             },
             2: {
                 1: 2.0
             }
         })
예제 #5
0
 def test_str(self):
     res = retworkx.all_pairs_dijkstra_path_lengths(self.dag,
                                                    lambda _: 3.14)
     # Since all_pairs_dijkstra_path_lengths() is parallel the order of the
     # output is non-determinisitic
     valid_values = [
         "AllPairsPathLengthMapping{1: PathLengthMapping{}, "
         "0: PathLengthMapping{1: 3.14}}",
         "AllPairsPathLengthMapping{"
         "0: PathLengthMapping{1: 3.14}, "
         "1: PathLengthMapping{}}",
     ]
     self.assertIn(str(res), valid_values)
예제 #6
0
 def test_index_error(self):
     res = retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn)
     with self.assertRaises(IndexError):
         res[42]
예제 #7
0
 def test_hash(self):
     res = retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn)
     hash_res = hash(res)
     self.assertIsInstance(hash_res, int)
     # Assert hash is stable
     self.assertEqual(hash_res, hash(res))
예제 #8
0
 def test_pickle(self):
     paths = retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn)
     paths_pickle = pickle.dumps(paths)
     paths_copy = pickle.loads(paths_pickle)
     self.assertEqual(paths, paths_copy)
예제 #9
0
 def test__eq__not_match_values(self):
     self.assertFalse(
         retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn) ==
         {0: {
             2: 2.0
         }})
예제 #10
0
 def test_not_contains(self):
     res = retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn)
     self.assertNotIn(2, res)
예제 #11
0
 def test_items(self):
     items = retworkx.all_pairs_dijkstra_path_lengths(self.dag,
                                                      self.fn).items()
     # Since run in parallel the order is not deterministic
     valid_expected = [[(0, {1: 1.0}), (1, {})], [(1, {}), (0, {1: 1.0})]]
     self.assertIn(list(items), valid_expected)
예제 #12
0
 def test__ne__not_match_values(self):
     self.assertTrue(
         retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn) !=
         {0: {
             1: 2.0
         }})
예제 #13
0
 def test__eq__invalid_inner_type(self):
     self.assertFalse(
         retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn) ==
         {0: "a"})
예제 #14
0
 def test_eq__same_type(self):
     self.assertEqual(
         retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn),
         retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn),
     )
예제 #15
0
 def test_keys(self):
     keys = retworkx.all_pairs_dijkstra_path_lengths(self.dag,
                                                     self.fn).keys()
     self.assertEqual([0, 1], list(sorted((keys))))
예제 #16
0
 def test_values(self):
     values = retworkx.all_pairs_dijkstra_path_lengths(self.dag,
                                                       self.fn).values()
     # Since run in parallel the order is not deterministic
     valid_expected = [[{}, {1: 1.0}], [{1: 1.0}, {}]]
     self.assertIn(list(values), valid_expected)
예제 #17
0
 def test__ne__invalid_type(self):
     self.assertTrue(
         retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn) !=
         {1: []})
예제 #18
0
 def test_iter(self):
     mapping_iter = iter(
         retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn))
     output = list(sorted(mapping_iter))
     self.assertEqual(output, [0, 1])
예제 #19
0
 def test__gt__not_implemented(self):
     with self.assertRaises(NotImplementedError):
         retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn) > {
             1: 1.0
         }
예제 #20
0
 def test_all_pairs_dijkstra_path_lengthss(self):
     res = retworkx.all_pairs_dijkstra_path_lengths(self.graph, lambda _: 1)
     self.assertIsInstance(res, retworkx.AllPairsPathLengthMapping)
예제 #21
0
 def test_deepcopy(self):
     paths = retworkx.all_pairs_dijkstra_path_lengths(self.dag, self.fn)
     paths_copy = copy.deepcopy(paths)
     self.assertEqual(paths, paths_copy)