public void UnconnectedGraphTest() { var edges = new List <Edge>(); edges.Add(new Edge(1, 2, 10)); var nodes = new HashSet <int> { 1, 2, 3 }; Assert.Throws <UnconnectedGraphException>(() => KruskalAlgorithm.GetMinimumSpanningTree(edges, nodes)); }
public void GraphTest() { var edges = new List <Edge>(); edges.Add(new Edge(1, 2, -10)); edges.Add(new Edge(2, 3, -20)); edges.Add(new Edge(3, 5, -30)); edges.Add(new Edge(5, 4, -40)); edges.Add(new Edge(1, 4, -1)); edges.Add(new Edge(1, 5, -3)); edges.Add(new Edge(3, 4, -2)); var answerList = new List <Edge>(); answerList.Add(new Edge(5, 4, -40)); answerList.Add(new Edge(3, 5, -30)); answerList.Add(new Edge(2, 3, -20)); answerList.Add(new Edge(1, 2, -10)); var nodes = new HashSet <int> { 1, 2, 3, 4, 5 }; Assert.IsTrue(answerList.SequenceEqual(KruskalAlgorithm.GetMinimumSpanningTree(edges, nodes), new ListComparer())); }