def testAdditionalFunctions(self): a = Graph(['a', 'b', 'c']) a.add_edge('a', 'b', 'label1') a.add_edge('b', 'c', 'label1') a.add_edge('b', 'a', 'label2') self.assertTrue( str(a) == "<Graph: 3 node(s), 3 edge(s), 2 unique label(s)>") self.assertTrue( repr(a) == "<Graph: ('a': ('b', 'label1'))('b': ('a', 'label2'),('c', 'label1'))('c': )>") self.assertListEqual(a.edges('label1'), [('a', 'b'), ('b', 'c')]) self.assertListEqual(a.labels(), ['label1', 'label2'])
def testAdditionalFunctions(self): a = Graph(["a", "b", "c"]) a.add_edge("a", "b", "label1") a.add_edge("b", "c", "label1") a.add_edge("b", "a", "label2") self.assertEqual(str(a), "<Graph: 3 node(s), 3 edge(s), 2 unique label(s)>") self.assertEqual( repr(a), "<Graph: ('a': ('b', 'label1'))('b': ('a', 'label2'),('c', 'label1'))('c': )>", ) self.assertEqual(a.edges("label1"), [("a", "b"), ("b", "c")]) self.assertEqual(a.labels(), ["label1", "label2"])
def testAdditionalFunctions(self): a = Graph(['a', 'b', 'c']) a.add_edge('a', 'b', 'label1') a.add_edge('b', 'c', 'label1') a.add_edge('b', 'a', 'label2') self.assertTrue( str(a) == "<Graph: 3 node(s), 3 edge(s), 2 unique label(s)>") self.assertTrue( repr(a) == "<Graph: ('a': ('b', 'label1'))('b': ('a', 'label2'),('c', 'label1'))('c': )>" ) self.assertListEqual(a.edges('label1'), [('a', 'b'), ('b', 'c')]) self.assertListEqual(a.labels(), ['label1', 'label2'])
def testRemoveNode(self): a = Graph(['a', 'b', 'c', 'd', 'e']) a.add_edge('a', 'e', 'label1') a.add_edge('b', 'e', 'label1') a.add_edge('c', 'e', 'label2') a.add_edge('d', 'e', 'label3') a.add_edge('e', 'd', 'label4') a.add_edge('a', 'b', 'label5') a.remove_node('e') b = Graph(['a', 'b', 'c', 'd']) b.add_edge('a', 'b', 'label5') self.assertEqual(a, b) # , "incorrect node removal")
def test_RemoveNode(self): a = Graph(['a', 'b', 'c', 'd', 'e']) a.add_edge('a', 'e', 'label1') a.add_edge('b', 'e', 'label1') a.add_edge('c', 'e', 'label2') a.add_edge('d', 'e', 'label3') a.add_edge('e', 'd', 'label4') a.add_edge('a', 'b', 'label5') a.remove_node('e') b = Graph(['a', 'b', 'c', 'd']) b.add_edge('a', 'b', 'label5') self.assertEqual(a, b) # , "incorrect node removal")
def test_RemoveNode(self): a = Graph(["a", "b", "c", "d", "e"]) a.add_edge("a", "e", "label1") a.add_edge("b", "e", "label1") a.add_edge("c", "e", "label2") a.add_edge("d", "e", "label3") a.add_edge("e", "d", "label4") a.add_edge("a", "b", "label5") a.remove_node("e") b = Graph(["a", "b", "c", "d"]) b.add_edge("a", "b", "label5") self.assertEqual(a, b) # , "incorrect node removal")
def test_Edges(self): a = Graph(['a', 'b', 'c', 'd']) a.add_edge('a', 'b', 'label1') self.assertEqual(a.child_edges('a'), [('b', 'label1')]) # , "incorrect child edges") a.add_edge('b', 'a', 'label2') self.assertEqual(a.parent_edges('a'), [('b', 'label2')]) # , "incorrect parent edges") a.add_edge('b', 'c', 'label3') self.assertEqual(a.parent_edges('c'), [('b', 'label3')]) # , "incorrect parent edges") self.assertEqual(sorted(a.children('b')), ['a', 'c'], "incorrect children") self.assertEqual(a.children('d'), [], "incorrect children for singleton") self.assertEqual(a.parents('a'), ['b'], "incorrect parents")
def test_Edges(self): a = Graph(["a", "b", "c", "d"]) a.add_edge("a", "b", "label1") self.assertEqual(a.child_edges("a"), [("b", "label1")]) a.add_edge("b", "a", "label2") self.assertEqual(a.parent_edges("a"), [("b", "label2")]) a.add_edge("b", "c", "label3") self.assertEqual(a.parent_edges("c"), [("b", "label3")]) self.assertEqual(sorted(a.children("b")), ["a", "c"], "incorrect children") self.assertEqual(a.children("d"), [], "incorrect children for singleton") self.assertEqual(a.parents("a"), ["b"], "incorrect parents")
def testEquals(self): a = Graph(['a', 'b', 'c']) a.add_edge('a', 'b', 'label1') a.add_edge('b', 'c', 'label1') a.add_edge('b', 'a', 'label2') b = Graph(['a', 'b', 'c']) self.assertNotEqual(a, b, "equal to similar nodes, no edges") b.add_edge('a', 'b', 'label1') self.assertNotEqual(a, b, "equal to similar nodes, edge subset") b.add_edge('b', 'c', 'label1') b.add_edge('b', 'a', 'label2') self.assertEqual(a, b, "not equal to similar") c = Graph(['a', 'b', 'c']) c.add_edge('a', 'b', 'label2') c.add_edge('b', 'c', 'label2') c.add_edge('b', 'a', 'label1') self.assertNotEqual(a, c, "equal to similar with different labels") self.assertNotEqual(c, Graph(), "equal to empty graph") self.assertEqual(Graph(), Graph(), "empty graph not equal to self")
def test_Equals(self): a = Graph(['a', 'b', 'c']) a.add_edge('a', 'b', 'label1') a.add_edge('b', 'c', 'label1') a.add_edge('b', 'a', 'label2') b = Graph(['a', 'b', 'c']) self.assertNotEqual(a, b, "equal to similar nodes, no edges") b.add_edge('a', 'b', 'label1') self.assertNotEqual(a, b, "equal to similar nodes, edge subset") b.add_edge('b', 'c', 'label1') b.add_edge('b', 'a', 'label2') self.assertEqual(a, b, "not equal to similar") c = Graph(['a', 'b', 'c']) c.add_edge('a', 'b', 'label2') c.add_edge('b', 'c', 'label2') c.add_edge('b', 'a', 'label1') self.assertNotEqual(a, c, "equal to similar with different labels") self.assertNotEqual(c, Graph(), "equal to empty graph") self.assertEqual(Graph(), Graph(), "empty graph not equal to self")
def test_Equals(self): a = Graph(["a", "b", "c"]) a.add_edge("a", "b", "label1") a.add_edge("b", "c", "label1") a.add_edge("b", "a", "label2") b = Graph(["a", "b", "c"]) self.assertNotEqual(a, b, "equal to similar nodes, no edges") b.add_edge("a", "b", "label1") self.assertNotEqual(a, b, "equal to similar nodes, edge subset") b.add_edge("b", "c", "label1") b.add_edge("b", "a", "label2") self.assertEqual(a, b, "not equal to similar") c = Graph(["a", "b", "c"]) c.add_edge("a", "b", "label2") c.add_edge("b", "c", "label2") c.add_edge("b", "a", "label1") self.assertNotEqual(a, c, "equal to similar with different labels") self.assertNotEqual(c, Graph(), "equal to empty graph") self.assertEqual(Graph(), Graph(), "empty graph not equal to self")