Я работаю над приложением, которое имеет сетку, и только некоторые точки сетки считаются действительными. Мне нужно тщательно проверить это со всеми возможными значениями сетки или, по крайней мере, со всеми граничными точками.
Я пробовал параметризованные тесты. Работает нормально, ожидая, что данные станут неуправляемыми после определенного момента. Пример теста для сетки 3х3 приведен ниже.
@RunWith(Parameterized.class)
public class GridGameTest {
@Parameters
public static Collection<Object[]> data(){
return Arrays.asList(new Object[][] {
{ 0, 0, false }, { 0, 1, false }, { 0, 2, false },
{ 1, 0, false }, { 1, 1, true }, { 1, 2, false },
{ 2, 0, false }, { 2, 1, false }, { 2, 2, false }
} );
}
private final int x;
private final int y;
private final boolean isValid;
public GridGameTest(int x, int y, boolean isValid){
this.x = x;
this.y = y;
this.isValid = isValid;
}
@Test
public void testParameterizedInput(){
Grid grid = new Grid(3,3);
assertEquals(isValid, grid.isPointValid(new Point(x,y)));
}
}
Любые входные данные о том, как группировать / управлять данными, чтобы мой тест оставался простым и читаемым ??