class Solver {

    public Puzzle solvePuzzle() {
        Puzzle workingPuzzle = new Puzzle(originalPuzzle);
        solve(workingPuzzle);
        return workingPuzzle;
    }

}

class SolverTest {

    @Test
    public void ValidPuzzle_Solve_NoNullValues() {


        //Arrange & Act
        Puzzle solvedPuzzle = solvePuzzle(getPuzzle());

        //Assert
        for (int x = 0; x < Puzzle.SIZE; x++) {
            for (int y = 0; y < Puzzle.SIZE; y++) {
                Point currentPoint = new Point(x, y);
                Assert.assertNotNull(solvedPuzzle.getNumber(currentPoint));
            }
        }
    }

}