def test_labels_and_colors(self): graph = retworkx.PyGraph() graph.add_nodes_from(list(range(8))) edge_list = [ (0, 1, 5), (1, 2, 2), (2, 3, 7), (3, 0, 6), (5, 6, 1), (4, 5, 7), (6, 7, 3), (7, 4, 7), ] labels = {} labels[0] = r"$a$" labels[1] = r"$b$" labels[2] = r"$c$" labels[3] = r"$d$" labels[4] = r"$\alpha$" labels[5] = r"$\beta$" labels[6] = r"$\gamma$" labels[7] = r"$\delta$" graph.add_edges_from(edge_list) pos = retworkx.random_layout(graph) mpl_draw( graph, pos=pos, node_list=[0, 1, 2, 3], node_color="r", edge_list=[(0, 1), (1, 2), (2, 3), (3, 0)], node_size=500, alpha=0.75, width=1.0, labels=lambda x: labels[x], font_size=16, ) mpl_draw( graph, pos=pos, node_list=[4, 5, 6, 7], node_color="b", node_size=500, alpha=0.5, edge_list=[(4, 5), (5, 6), (6, 7), (7, 4)], width=8, edge_color="r", rotate=False, edge_labels=lambda edge: labels[edge], ) fig = plt.gcf() _save_images(fig, "test_labels_and_colors.png")
def test_values(self): values = retworkx.random_layout(self.dag, seed=10244242).values() expected = [[0.4883489113112722, 0.6545867364101975]] self.assertEqual(expected, list(values))
def test_keys(self): keys = retworkx.random_layout(self.dag, seed=10244242).keys() self.assertEqual([0], list(keys))
def test_index_error(self): res = retworkx.random_layout(self.dag, seed=10244242) with self.assertRaises(IndexError): res[42]
def test_hash(self): res = retworkx.random_layout(self.dag, seed=10244242) hash_res = hash(res) self.assertIsInstance(hash_res, int) # Assert hash is stable self.assertEqual(hash_res, hash(res))
def test_str(self): res = retworkx.random_layout(self.dag, seed=10244242) self.assertEqual( "Pos2DMapping{0: [0.4883489113112722, 0.6545867364101975]}", str(res), )
def test_eq__same_type(self): self.assertEqual( retworkx.random_layout(self.dag, seed=10244242), retworkx.random_layout(self.dag, seed=10244242), )
def test_not_contains(self): res = retworkx.random_layout(self.dag, seed=10244242) self.assertNotIn(1, res)
def test__gt__not_implemented(self): with self.assertRaises(NotImplementedError): retworkx.random_layout(self.dag, seed=10244242) > {1: 1.0}
def test__ne__invalid_type(self): self.assertTrue( retworkx.random_layout(self.dag, seed=10244242) != ["a", None])
def test__ne__different_length(self): res = retworkx.random_layout(self.dag, seed=10244242) self.assertTrue(res != {1: 1.0, 2: 2.0})
def test__ne__not_match_values(self): self.assertTrue( retworkx.random_layout(self.dag, seed=10244242) != {1: 2.0})
def test__ne__match(self): res = retworkx.random_layout(self.dag, seed=10244242) self.assertFalse(res != {0: (0.4883489113112722, 0.6545867364101975)})
def test__eq__invalid_type(self): self.assertFalse( retworkx.random_layout(self.dag, seed=10244242) == {"a": None})
def test_items(self): items = retworkx.random_layout(self.dag, seed=10244242).items() self.assertEqual([(0, [0.4883489113112722, 0.6545867364101975])], list(items))
def test_iter(self): mapping_iter = iter(retworkx.random_layout(self.dag, seed=10244242)) output = list(mapping_iter) self.assertEqual(output, [0])
def test_deepcopy(self): positions = retworkx.random_layout(self.dag) positions_copy = copy.deepcopy(positions) self.assertEqual(positions_copy, positions)
def test_pickle(self): pos = retworkx.random_layout(self.dag) pos_pickle = pickle.dumps(pos) pos_copy = pickle.loads(pos_pickle) self.assertEqual(pos, pos_copy)
def test__eq__not_match_values(self): self.assertFalse( retworkx.random_layout(self.dag, seed=10244242) == {1: 2.0})