Esempio n. 1
0
        public void SingleVertexCover()
        {
            var sut   = new VertexCoverSimpleApproximation();
            var graph = new int[4][];

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

            var vertexCover = sut.GetVertexCover(graph);

            Assert.Collection(vertexCover, arg => Assert.Equal(0, arg), arg => Assert.Equal(3, arg));
        }
Esempio n. 2
0
        public void BaselineOptimized()
        {
            var sut   = new VertexCoverSimpleApproximation();
            var graph = new int[7][];

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

            var vertexCover = sut.GetVertexCoverOptimized(graph);

            Assert.Collection(vertexCover,
                              arg => Assert.Equal(0, arg),
                              arg => Assert.Equal(3, arg),
                              arg => Assert.Equal(5, arg));
        }