Beispiel #1
0
        public void Test_three_disconnected_graphs()
        {
            var result = new UndirectedGraphConnectivity().FindNumberConnectedElements(new[]
            {
                new[] { 2 },    // 0
                new int[] { },  // 1
                new[] { 3, 0 }, // 2
                new[] { 2, 4 }, // 3
                new[] { 3 },    // 4
                new[] { 6, 7 }, // 5
                new[] { 5 },    // 6
                new[] { 5, 8 }, // 7
                new[] { 7 } // 8
            });

            result.Should().HaveCount(9);
            result.Min().Should().Be(1);
            result.Max().Should().Be(3);
            result[0].Should().Be(1);
            result[1].Should().Be(2);
            result[2].Should().Be(1);
            result[3].Should().Be(1);
            result[4].Should().Be(1);
            result[5].Should().Be(3);
            result[6].Should().Be(3);
            result[7].Should().Be(3);
            result[8].Should().Be(3);
        }