public void GenerateTest() { var solver = new ClassicSudokuSolver(EClassicSudokuType.Classic9x9); var generator = new ClassicSudokuGenerator(solver); var level = new SudokuLevel(ESudokuLevel.Medium); var data = generator.Generate(level); var resultOfSolvingGeneratedSudoku = solver.Solve(data.Data); Assert.IsTrue(resultOfSolvingGeneratedSudoku.HasUniqueSolution); }
public static ISudoku GetSudoku(ESudokuType type) { ISudokuSolver solver; ISudokuGenerator generator; switch (type) { case ESudokuType.Classic9X9: solver = new ClassicSudokuSolver(EClassicSudokuType.Classic9x9); generator = new ClassicSudokuGenerator((IClassicSudokuSolver)solver); break; case ESudokuType.Classic16X16: solver = new ClassicSudokuSolver(EClassicSudokuType.Classic16x16); generator = new ClassicSudokuGenerator((IClassicSudokuSolver)solver); break; default: throw new NotSupportedException(Enum.GetName(typeof(ESudokuType), type)); } return(new Sudoku(solver, generator)); }