parent
309d217751
commit
13d96fa74a
@ -0,0 +1,55 @@
|
|||||||
|
import model.Board;
|
||||||
|
import model.Player;
|
||||||
|
import org.junit.jupiter.api.Assertions;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.params.ParameterizedTest;
|
||||||
|
import org.junit.jupiter.params.provider.Arguments;
|
||||||
|
import org.junit.jupiter.params.provider.MethodSource;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
|
public class BoardTests {
|
||||||
|
public static Stream<Arguments> getSetBoxTestData() {
|
||||||
|
Random rng = RandomSingleton.get;
|
||||||
|
int col = rng.nextInt();
|
||||||
|
int row = rng.nextInt();
|
||||||
|
boolean shouldThrow = col >= 1 && col <= 3 && row >= 1 && row <= 3;
|
||||||
|
return Stream.of(
|
||||||
|
Arguments.of(1, 1, false),
|
||||||
|
Arguments.of(1, 3, false),
|
||||||
|
Arguments.of(0, 2, true),
|
||||||
|
Arguments.of(4, 2, true),
|
||||||
|
Arguments.of(2, 0, true),
|
||||||
|
Arguments.of(2, 4, true),
|
||||||
|
Arguments.of(col, row, shouldThrow)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void constructorInitialisesValuesToNull(){
|
||||||
|
Board b = new Board();
|
||||||
|
for (int i = 1; i <= 3; ++i)
|
||||||
|
for (int j = 1; j <= 3; ++j)
|
||||||
|
Assertions.assertNull(b.getBox(i, j));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ParameterizedTest
|
||||||
|
@MethodSource("getSetBoxTestData")
|
||||||
|
public void getSetBoxTests(Object[] args){
|
||||||
|
Board b = new Board();
|
||||||
|
Player p = Player.X;
|
||||||
|
int col = (int) args[0];
|
||||||
|
int row = (int) args[1];
|
||||||
|
boolean shouldThrow = (boolean) args[2];
|
||||||
|
|
||||||
|
if (shouldThrow){
|
||||||
|
Assertions.assertThrows(IndexOutOfBoundsException.class, ()-> b.setBox(col, row, p));
|
||||||
|
Assertions.assertThrows(IndexOutOfBoundsException.class, ()-> b.getBox(col, row));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
b.setBox(col, row, p);
|
||||||
|
Assertions.assertEquals(p, b.getBox(col, row));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public class RandomSingleton {
|
||||||
|
public static Random get = new Random();
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in new issue