Beispiel #1
0
        public void MultiSolutionSudokuProperlySolved()
        {
            var TestSolver = new SudokuSolver();

            TestSolver.MaxSolutions = 1;
            for (int i = 0; i < TestIterations; i++)
            {
                var TestSudoku = GenerateRandomSudoku();
                TestSolver.SetInput(TestSudoku);
                TestSolver.Solve();
                var TestSolution = TestSolver.ConvertSolution(0);
                Assert.IsTrue(TestSolution.Valid);
            }
        }
Beispiel #2
0
        public void SingleSolutionSudokuProperlySolved()
        {
            var TestSudoku = new SudokuGrid();

            TestSudoku.LinearArr = new byte[81]
            {
                5, 3, 0, 0, 7, 0, 0, 0, 0,
                6, 0, 0, 1, 9, 5, 0, 0, 0,
                0, 9, 8, 0, 0, 0, 0, 6, 0,
                8, 0, 0, 0, 6, 0, 0, 0, 3,
                4, 0, 0, 8, 0, 3, 0, 0, 1,
                7, 0, 0, 0, 2, 0, 0, 0, 6,
                0, 6, 0, 0, 0, 0, 2, 8, 0,
                0, 0, 0, 4, 1, 9, 0, 0, 5,
                0, 0, 0, 0, 8, 0, 0, 7, 9
            };
            var TestSolver = new SudokuSolver();

            TestSolver.SetInput(TestSudoku);
            TestSolver.Solve();
            Assert.AreEqual(TestSolver.Solutions.Count, 1);

            var TestSolution = TestSolver.ConvertSolution(0);

            byte[] ExpectedSolution = new byte[81]
            {
                5, 3, 4, 6, 7, 8, 9, 1, 2,
                6, 7, 2, 1, 9, 5, 3, 4, 8,
                1, 9, 8, 3, 4, 2, 5, 6, 7,
                8, 5, 9, 7, 6, 1, 4, 2, 3,
                4, 2, 6, 8, 5, 3, 7, 9, 1,
                7, 1, 3, 9, 2, 4, 8, 5, 6,
                9, 6, 1, 5, 3, 7, 2, 8, 4,
                2, 8, 7, 4, 1, 9, 6, 3, 5,
                3, 4, 5, 2, 8, 6, 1, 7, 9
            };

            for (int i = 0; i < TestSolution.LinearArr.Length; i++)
            {
                Assert.AreEqual(ExpectedSolution[i], TestSolution.LinearArr[i]);
            }
        }
        public void SingleSolutionSudokuProperlySolved()
        {
            var TestSudoku = new SudokuGrid();
            TestSudoku.LinearArr = new byte[81]
            {
                5, 3, 0, 0, 7, 0, 0, 0, 0,
                6, 0, 0, 1, 9, 5, 0, 0, 0,
                0, 9, 8, 0, 0, 0, 0, 6, 0,
                8, 0, 0, 0, 6, 0, 0, 0, 3,
                4, 0, 0, 8, 0, 3, 0, 0, 1,
                7, 0, 0, 0, 2, 0, 0, 0, 6,
                0, 6, 0, 0, 0, 0, 2, 8, 0,
                0, 0, 0, 4, 1, 9, 0, 0, 5,
                0, 0, 0, 0, 8, 0, 0, 7, 9
            };
            var TestSolver = new SudokuSolver();
            TestSolver.SetInput(TestSudoku);
            TestSolver.Solve();
            Assert.AreEqual(TestSolver.Solutions.Count, 1);

            var TestSolution = TestSolver.ConvertSolution(0);
            byte[] ExpectedSolution = new byte[81]
            {
                5, 3, 4, 6, 7, 8, 9, 1, 2,
                6, 7, 2, 1, 9, 5, 3, 4, 8,
                1, 9, 8, 3, 4, 2, 5, 6, 7,
                8, 5, 9, 7, 6, 1, 4, 2, 3,
                4, 2, 6, 8, 5, 3, 7, 9, 1,
                7, 1, 3, 9, 2, 4, 8, 5, 6,
                9, 6, 1, 5, 3, 7, 2, 8, 4,
                2, 8, 7, 4, 1, 9, 6, 3, 5,
                3, 4, 5, 2, 8, 6, 1, 7, 9
            };

            for (int i = 0; i < TestSolution.LinearArr.Length; i++)
            {
                Assert.AreEqual(ExpectedSolution[i], TestSolution.LinearArr[i]);
            }
        }
 public void MultiSolutionSudokuProperlySolved()
 {
     var TestSolver = new SudokuSolver();
     TestSolver.MaxSolutions = 1;
     for (int i = 0; i < TestIterations; i++)
     {
         var TestSudoku = GenerateRandomSudoku();
         TestSolver.SetInput(TestSudoku);
         TestSolver.Solve();
         var TestSolution = TestSolver.ConvertSolution(0);
         Assert.IsTrue(TestSolution.Valid);
     }
 }