예제 #1
0
        public void Test_SolveBoard_Solved()
        {
            int[,] array = new int[9, 9]
            {
                { 0, 0, 9, 0, 0, 0, 0, 0, 0, },
                { 3, 0, 4, 0, 8, 1, 0, 2, 0, },
                { 0, 8, 6, 5, 0, 0, 0, 0, 0, },
                { 9, 0, 1, 3, 0, 0, 0, 0, 2, },
                { 0, 0, 0, 0, 4, 0, 0, 0, 0, },
                { 6, 0, 0, 0, 0, 2, 4, 0, 1 },
                { 0, 0, 0, 0, 0, 3, 2, 6, 0 },
                { 0, 3, 0, 4, 1, 0, 5, 0, 8 },
                { 0, 0, 0, 0, 0, 0, 1, 0, 0, },
            };

            SudokoBoard   board  = SudokoBoard.CreateBoard(array);
            ISudokoSolver solver = new SudokoSolver(board);

            solver.SolveBoard();
            board = solver.GetBoard();

            bool isSolved = SudokuHelper.IsBoardSolved(board);

            Assert.IsTrue(isSolved);
        }
예제 #2
0
        public void Test_IsBoardSolved_UnSolved()
        {
            int[,] array = new int[9, 9]
            {
                { 5, 1, 9, 2, 3, 7, 8, 4, 6 },
                { 0, 7, 4, 6, 8, 1, 9, 2, 5 },
                { 2, 8, 6, 5, 9, 4, 3, 1, 7 },
                { 9, 4, 1, 3, 6, 8, 7, 5, 2 },
                { 8, 2, 7, 1, 4, 5, 6, 3, 9 },
                { 6, 5, 3, 9, 7, 2, 4, 8, 1 },
                { 1, 9, 8, 7, 5, 3, 2, 6, 4 },
                { 7, 3, 2, 4, 1, 6, 5, 9, 8 },
                { 4, 6, 5, 8, 2, 9, 1, 7, 3 }
            };

            SudokoBoard board = SudokoBoard.CreateBoard(array);

            bool isSolved = SudokuHelper.IsBoardSolved(board);

            Assert.IsFalse(isSolved);
        }