class TestSpanningTree(unittest.TestCase): def setUp(self): self.spanning_tree = SpanningTree(7) def test_manipulateEdges(self): self.spanning_tree.addEdge(Edge(0, 1)) self.assertEqual(1, self.spanning_tree.maxDegree()) self.assertEqual(1, self.spanning_tree.edgeCount()) self.spanning_tree.addEdge(Edge(1, 2)) self.assertEqual(2, self.spanning_tree.maxDegree()) self.assertEqual(2, self.spanning_tree.edgeCount()) self.spanning_tree.removeLastEdge() self.assertEqual(1, self.spanning_tree.maxDegree()) self.assertEqual(1, self.spanning_tree.edgeCount()) self.spanning_tree.removeLastEdge() self.assertEqual(0, self.spanning_tree.maxDegree()) self.assertEqual(0, self.spanning_tree.edgeCount()) def test_maxDegree(self): self.spanning_tree.addEdge(Edge(0, 1)) self.spanning_tree.addEdge(Edge(1, 2)) self.spanning_tree.addEdge(Edge(1, 3)) self.assertEqual(3, self.spanning_tree.maxDegree()) def test_maxDegreeWith(self): self.spanning_tree.addEdge(Edge(0, 1)) self.spanning_tree.addEdge(Edge(1, 2)) degree = self.spanning_tree.maxDegreeWith(Edge(1, 3)) self.assertEqual(3, degree) def test_str(self): self.spanning_tree.addEdge(Edge(0, 1)) self.spanning_tree.addEdge(Edge(1, 2)) self.spanning_tree.addEdge(Edge(1, 3)) expected = "(0, 1), (1, 2), (1, 3)" actual = self.spanning_tree.__str__() self.assertEqual(expected, actual) def test_duplicate_edges(self): self.spanning_tree.addEdge(Edge(1, 2)) self.assertEqual(1, self.spanning_tree.edgeCount()) self.spanning_tree.addEdge(Edge(1, 2)) self.assertEqual(1, self.spanning_tree.edgeCount())