In the validateRanges() method in IntegerGenerator, part of the method checks to see if there are enough values it is able to produce given the range, interval and whether looping is allowed. I.e. for a range of [-2, 2] and interval of 1, there are 5 unique values it is able to produce (-2, -1, 0, 1, 2) which, if looping is not allowed, means the most values(rows) it can produce is 5.
The method incorrectly adds 1 to the range (i.e. endRange-startRange) which when given an interval of 1, it incorrectly reports the number of values it can produce to be greater (by 1) than what it should
To test this I modified a the test case testIntegerSeqNoLoopBackwards() in IntegerGeneratorTest and set the values to produce when instantiating the IntegerGenerator to be 4 (it was set to 5 because it is using a range of [-2, 2]). This should have caused the test to fail when running ant clean test but instead it still passed
Correction:
The test was incorrectly done (values to produce should have been set to 6) and in fact the IntegerGenerator does correctly catch this condition, however the code to calculate the values available is misleading and should be cleaned up for clarity.