Пример #1
0
        public void SingleEdgeGraph()
        {
            var graph = new int[2][];

            graph[0] = new[] { 1 };
            graph[1] = new[] { 0 };
            var checker = new BipartiteChecker();

            Assert.True(checker.IsBipartite(graph));
        }
Пример #2
0
        public void ThreeNodeNotBipartite()
        {
            var graph = new int[3][];

            graph[0] = new[] { 1, 2 };
            graph[1] = new[] { 0, 2 };
            graph[2] = new[] { 0, 1 };
            var checker = new BipartiteChecker();

            Assert.False(checker.IsBipartite(graph));
        }
Пример #3
0
        public void TestCase_3()
        {
            var graph = new int[4][];

            graph[0] = new[] { 1 };
            graph[1] = new[] { 0, 3 };
            graph[2] = new[] { 3 };
            graph[3] = new[] { 1, 2 };

            var checker = new BipartiteChecker();

            Assert.True(checker.IsBipartite(graph));
        }
Пример #4
0
        public void TestCase_2()
        {
            var graph = new int[4][];

            graph[0] = new[] { 1, 2, 3 };
            graph[1] = new[] { 0, 2 };
            graph[2] = new[] { 3, 1, 0 };
            graph[3] = new[] { 0, 2 };

            var checker = new BipartiteChecker();

            Assert.False(checker.IsBipartite(graph));
        }
Пример #5
0
        public void TwoComponents()
        {
            var graph = new int[6][];

            graph[0] = new[] { 1 };
            graph[1] = new[] { 0, 3 };
            graph[2] = new[] { 4, 5 };
            graph[3] = new[] { 1 };
            graph[4] = new[] { 2 };
            graph[5] = new[] { 2 };

            var checker = new BipartiteChecker();

            Assert.True(checker.IsBipartite(graph));
        }