Ejemplo n.º 1
0
        public void SudokuSolver_SolveRandomEasyGame()
        {
            // Arrange
            var game = SudokuGameFactory.Create(60, 2000);

            var solver = new SudokuSolver();

            // Act
            var solutions = solver.Solve(game.InitialBoard);

            // Assert
            Assert.Single(solutions);
            Assert.Equal(game.Solution, solutions.First());
            Assert.Equal(60, game.GivensCount);
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            SudokuEngine.factory.SudokuGameFactory factory = new SudokuGameFactory();
            SudokuGame game = factory.getGameByCSV(@"C:\sudoku\CSVGame.csv");
            //if (!game.isSolved())
            //{
            SudokuGame gameToSolve = game.DeepCloneWithSerialization();
            SudokuGame solvedGame  = SudokuEngine.SudokuSolver.solve(gameToSolve, SudokuAlgorithmFactory.LogicalBasedAlgo);

            solvedGame = SudokuEngine.SudokuSolver.solve(solvedGame, SudokuAlgorithmFactory.BruteForceAlgo);
            //solvedGame.isValid();
            //}
            //factory.saveGameSerialized(solvedGame, @"C:\sudoku\propvaSolvedGame.xml");
            factory.saveGameToCSV(solvedGame, @"C:\sudoku\CSVResolvedGame.csv");
            Console.WriteLine("solved:{0}", solvedGame.isSolved() && solvedGame.isValid());
            Console.ReadKey();
        }