This variant now runs all tests even if one test fails:
public void testIntegrationGetProperNumerator() {
int failures = 0;
StringBuffer failureMessage = new StringBuffer();
for (int i = 0; i < data.length; i++) {
int[] row = data[i];
Fraction f = Fraction.getFraction(row[0], row[1]);
try {
assertEquals(row[2], f.getProperNumerator());
}
catch (AssertionFailedError err) {
failures++;
failureMessage.append(err.getMessage() + "\n");
}
}
if (failures > 0) fail(failureMessage.toString());
}