Testing and Debugging
Table Driven Test
A loop over small input and expected-output tables can test a method repeatedly.
Table Driven Test
TableDrivenTest.java
public class TableDrivenTest {
static int clampLow(int value) {
if (value < 0) {
return 0;
}
return value;
}
public static void main(String[] args) {
int offset = ;
int[] inputs = {-2, 0, 5};
int[] expected = {0, 0, 5};
int failures = 0;
for (int i = 0; i < inputs.length; i++) {
int actual = clampLow(inputs[i] + offset);
if (actual != expected[i]) {
failures++;
}
}
System.out.println("failures=" + failures);
}
}
public class TableDrivenTest {
static int clampLow(int value) {
if (value < 0) {
return 0;
}
return value;
}
public static void main(String[] args) {
int offset = ;
int[] inputs = {-2, 0, 5};
int[] expected = {0, 0, 5};
int failures = 0;
for (int i = 0; i < inputs.length; i++) {
int actual = clampLow(inputs[i] + offset);
if (actual != expected[i]) {
failures++;
}
}
System.out.println("failures=" + failures);
}
}
public class TableDrivenTest {
static int clampLow(int value) {
if (value < 0) {
return 0;
}
return value;
}
public static void main(String[] args) {
int offset = ;
int[] inputs = {-2, 0, 5};
int[] expected = {0, 0, 5};
int failures = 0;
for (int i = 0; i < inputs.length; i++) {
int actual = clampLow(inputs[i] + offset);
if (actual != expected[i]) {
failures++;
}
}
System.out.println("failures=" + failures);
}
}
test table
Each array index represents one test case.
failure count
Counting mismatches gives a compact summary of the test run.