test_class.file: puzzlesolver/src/test/java/uk/co/samuelpratt/sudoku/puzzlesolver/PuzzleTest.java
test_class.identifier: PuzzleTest
test_case.body: @Test(expected = IllegalArgumentException.class)
      public void InvalidCol_SetNumber_IllegalArgumentExceptionThrown() {
          Puzzle sut = new Puzzle();
          Point invalidPoint = new Point(Puzzle.SIZE + 1, 0);
          Integer validNumber = 0;
  
          sut.setNumber(invalidPoint, validNumber);
      }
test_case.class_method_signature: PuzzleTest.InvalidCol_SetNumber_IllegalArgumentExceptionThrown()
test_case.full_signature: @Test(expected = IllegalArgumentException.class) public void InvalidCol_SetNumber_IllegalArgumentExceptionThrown()
test_case.identifier: InvalidCol_SetNumber_IllegalArgumentExceptionThrown
test_case.invocations: setNumber
test_case.modifiers: @Test(expected = IllegalArgumentException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void InvalidCol_SetNumber_IllegalArgumentExceptionThrown()
focal_class.declarator: SIZE = 9
focal_class.modifier: public static final
focal_class.original_string: public static final int SIZE = 9;
focal_class.type: int
focal_class.var_name: SIZE
focal_class.declarator: MAX_VALUE = 9
focal_class.modifier: static final
focal_class.original_string: static final int MAX_VALUE = 9;
focal_class.type: int
focal_class.var_name: MAX_VALUE
focal_class.declarator: MIN_VALUE = 1
focal_class.modifier: static final
focal_class.original_string: static final int MIN_VALUE = 1;
focal_class.type: int
focal_class.var_name: MIN_VALUE
focal_class.declarator: Numbers
focal_class.modifier: private
focal_class.original_string: private Integer[][] Numbers;
focal_class.type: Integer[][]
focal_class.var_name: Numbers
focal_class.file: puzzlesolver/src/main/java/uk/co/samuelpratt/sudoku/puzzlesolver/Puzzle.java
focal_class.identifier: Puzzle
focal_class.class_method_signature: Puzzle.Puzzle()
focal_class.full_signature: public  Puzzle()
focal_class.identifier: Puzzle
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  Puzzle()
focal_class.class_method_signature: Puzzle.Puzzle(Puzzle toCopy)
focal_class.full_signature:   Puzzle(Puzzle toCopy)
focal_class.identifier: Puzzle
focal_class.parameters: (Puzzle toCopy)
focal_class.signature:  Puzzle(Puzzle toCopy)
focal_class.class_method_signature: Puzzle.Puzzle(Integer[][] problem)
focal_class.full_signature: public  Puzzle(Integer[][] problem)
focal_class.identifier: Puzzle
focal_class.modifiers: public
focal_class.parameters: (Integer[][] problem)
focal_class.signature:  Puzzle(Integer[][] problem)
focal_class.class_method_signature: Puzzle.initNumbers()
focal_class.full_signature: private void initNumbers()
focal_class.identifier: initNumbers
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void initNumbers()
focal_class.class_method_signature: Puzzle.AssertValidIndexes(Point point)
focal_class.full_signature: private void AssertValidIndexes(Point point)
focal_class.identifier: AssertValidIndexes
focal_class.modifiers: private
focal_class.parameters: (Point point)
focal_class.return: void
focal_class.signature: void AssertValidIndexes(Point point)
focal_class.class_method_signature: Puzzle.setNumber(Point point, Integer value)
focal_class.full_signature: public void setNumber(Point point, Integer value)
focal_class.identifier: setNumber
focal_class.modifiers: public
focal_class.parameters: (Point point, Integer value)
focal_class.return: void
focal_class.signature: void setNumber(Point point, Integer value)
focal_class.class_method_signature: Puzzle.eraseNumber(Point point)
focal_class.full_signature:  void eraseNumber(Point point)
focal_class.identifier: eraseNumber
focal_class.parameters: (Point point)
focal_class.return: void
focal_class.signature: void eraseNumber(Point point)
focal_class.class_method_signature: Puzzle.assertValidValue(Integer value)
focal_class.full_signature: private void assertValidValue(Integer value)
focal_class.identifier: assertValidValue
focal_class.modifiers: private
focal_class.parameters: (Integer value)
focal_class.return: void
focal_class.signature: void assertValidValue(Integer value)
focal_class.class_method_signature: Puzzle.getNumber(Point point)
focal_class.full_signature: public Integer getNumber(Point point)
focal_class.identifier: getNumber
focal_class.modifiers: public
focal_class.parameters: (Point point)
focal_class.return: Integer
focal_class.signature: Integer getNumber(Point point)
focal_class.class_method_signature: Puzzle.findNextUnassignedLocation()
focal_class.full_signature:  Point findNextUnassignedLocation()
focal_class.identifier: findNextUnassignedLocation
focal_class.parameters: ()
focal_class.return: Point
focal_class.signature: Point findNextUnassignedLocation()
focal_class.class_method_signature: Puzzle.noConflicts(Point point, Integer number)
focal_class.full_signature:  Boolean noConflicts(Point point, Integer number)
focal_class.identifier: noConflicts
focal_class.parameters: (Point point, Integer number)
focal_class.return: Boolean
focal_class.signature: Boolean noConflicts(Point point, Integer number)
focal_class.class_method_signature: Puzzle.isRowConflict(int y, Integer number)
focal_class.full_signature: private boolean isRowConflict(int y, Integer number)
focal_class.identifier: isRowConflict
focal_class.modifiers: private
focal_class.parameters: (int y, Integer number)
focal_class.return: boolean
focal_class.signature: boolean isRowConflict(int y, Integer number)
focal_class.class_method_signature: Puzzle.isColumnConflict(int x, Integer number)
focal_class.full_signature: private boolean isColumnConflict(int x, Integer number)
focal_class.identifier: isColumnConflict
focal_class.modifiers: private
focal_class.parameters: (int x, Integer number)
focal_class.return: boolean
focal_class.signature: boolean isColumnConflict(int x, Integer number)
focal_method.body: public void setNumber(Point point, Integer value) throws IllegalArgumentException {
          AssertValidIndexes(point);
          assertValidValue(value);
          Numbers[point.x][point.y] = value;
      }
focal_method.class_method_signature: Puzzle.setNumber(Point point, Integer value)
focal_method.full_signature: public void setNumber(Point point, Integer value)
focal_method.identifier: setNumber
focal_method.invocations: AssertValidIndexes assertValidValue
focal_method.modifiers: public
focal_method.parameters: (Point point, Integer value)
focal_method.return: void
focal_method.signature: void setNumber(Point point, Integer value)