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()));
        }