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);
        }
Exemple #2
0
        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));
        }