Example #1
0
        public void GenerateSudokuTest(Enums.SudokuDifficulty diff, int threshold)
        {
            var sudoku = SudokuGenerator.GenerateFull();

            sudoku.Transpose();
            Assert.AreEqual(true, CheckSudoku(sudoku));

            sudoku.SwapSmallRows(0, 0, 2);
            Assert.AreEqual(true, CheckSudoku(sudoku));

            sudoku.SwapBigRows(0, 2);
            Assert.AreEqual(true, CheckSudoku(sudoku));

            SudokuGenerator.RunShuffle(sudoku, 10, CancellationToken.None);
            Assert.AreEqual(true, CheckSudoku(sudoku));

            var settings = new GenerationSettings
            {
                Difficulty = Enums.SudokuDifficulty.Medium
            };

            sudoku = SudokuGenerator.Generate(settings, CancellationToken.None);
            Assert.GreaterOrEqual(sudoku.DifficultyPoints, Domain.Sudoku.MediumThreshold);
        }