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); }