Exemple #1
0
        public void TestSudokuGenerator()
        {
            try
            {
                #region samurai level
                {
                    var generator     = SudokuGenerator.GetGenerator(9, Common.Difficulty.Samurai);
                    var unsolvedBoard = generator.Generate();
                    Assert.IsNotNull(unsolvedBoard);
                    var solvedBoard = SudokuSolver.GetSolver(unsolvedBoard).Solve();
                    Assert.AreEqual(generator.BaseBoard, solvedBoard);
                }
                #endregion

                #region hard level
                {
                    var generator     = SudokuGenerator.GetGenerator(9, Common.Difficulty.Hard);
                    var unsolvedBoard = generator.Generate();
                    Assert.IsNotNull(unsolvedBoard);
                    var solvedBoard = SudokuSolver.GetSolver(unsolvedBoard).Solve();
                    Assert.AreEqual(generator.BaseBoard, solvedBoard);
                }
                #endregion

                #region medium level
                {
                    var generator     = SudokuGenerator.GetGenerator(9, Common.Difficulty.Medium);
                    var unsolvedBoard = generator.Generate();
                    Assert.IsNotNull(unsolvedBoard);
                    var solvedBoard = SudokuSolver.GetSolver(unsolvedBoard).Solve();
                    Assert.AreEqual(generator.BaseBoard, solvedBoard);
                }
                #endregion

                #region easy level
                {
                    var generator     = SudokuGenerator.GetGenerator(9, Common.Difficulty.Easy);
                    var unsolvedBoard = generator.Generate();
                    Assert.IsNotNull(unsolvedBoard);
                    var solvedBoard = SudokuSolver.GetSolver(unsolvedBoard).Solve();
                    Assert.AreEqual(generator.BaseBoard, solvedBoard);
                }
                #endregion
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }
        }