@Test public void testSolveAllManuallyApplied() { sudoku.getField(Position.get(0, 0)).setCurrentValue(0); sudoku.getField(Position.get(5, 0)).setCurrentValue(6); sudoku.getField(Position.get(7, 0)).setCurrentValue(8); sudoku.getField(Position.get(1, 1)).setCurrentValue(2); sudoku.getField(Position.get(4, 1)).setCurrentValue(1); sudoku.getField(Position.get(8, 1)).setCurrentValue(7); sudoku.getField(Position.get(2, 2)).setCurrentValue(8); sudoku.getField(Position.get(3, 2)).setCurrentValue(5); sudoku.getField(Position.get(6, 2)).setCurrentValue(4); sudoku.getField(Position.get(2, 3)).setCurrentValue(4); sudoku.getField(Position.get(3, 3)).setCurrentValue(2); sudoku.getField(Position.get(6, 3)).setCurrentValue(8); sudoku.getField(Position.get(1, 4)).setCurrentValue(0); sudoku.getField(Position.get(4, 4)).setCurrentValue(7); sudoku.getField(Position.get(8, 4)).setCurrentValue(1); sudoku.getField(Position.get(0, 5)).setCurrentValue(5); sudoku.getField(Position.get(5, 5)).setCurrentValue(3); sudoku.getField(Position.get(0, 6)).setCurrentValue(2); sudoku.getField(Position.get(7, 6)).setCurrentValue(0); sudoku.getField(Position.get(1, 7)).setCurrentValue(3); sudoku.getField(Position.get(8, 7)).setCurrentValue(6); sudoku.getField(Position.get(2, 8)).setCurrentValue(6); sudoku.getField(Position.get(6, 8)).setCurrentValue(2); solver.solveAll(true, false); List<Solution> solutions = solver.getSolutions(); for (Solution solution : solutions) { assertTrue(solution.getAction() != null); solution.getAction().execute(); Iterator<SolveDerivation> it = solution.getDerivationIterator(); SolveDerivation sd = null; while (it.hasNext()) { sd = it.next(); assertTrue(sd != null); } } SudokuTestUtilities.printSudoku(sudoku); for (Field f : this.sudoku) { assertTrue(f.getCurrentValue() != Field.EMPTYVAL); } }
@Test public void solveAllIncorrect() { sudoku.getField(Position.get(0, 0)).setCurrentValue(0); sudoku.getField(Position.get(1, 0)).setCurrentValue(0); assertFalse(solver.solveAll(true, false)); }