Legger til en ekstra test og forbedrer kommentarer for TileType

Fikser en skrivefeil i beskrivelsen av getTileTypeFromID
Legger til en ekstra test som sjekker at alle TileType verdier har en unik id
This commit is contained in:
2020-02-17 20:58:55 +01:00
parent 4b07882d47
commit 827c8e0aed
2 changed files with 27 additions and 3 deletions

View File

@ -3,34 +3,58 @@ package inf112.fiasko.roborally;
import inf112.fiasko.roborally.abstractions.TileType;
import org.junit.Test;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
public class TileTypeTest {
@Test
public void getTileTypeIDForHole() {
assertEquals(2, TileType.HOLE.getTileTypeID());
}
@Test
public void getTileTypeFromHoleID() {
assertEquals(TileType.HOLE, TileType.getTileTypeFromID(2));
}
@Test
public void getTileTypeIDForWrench() {
assertEquals(21, TileType.WRENCH.getTileTypeID());
}
@Test
public void getTileTypeFromWrenchID() {
assertEquals(TileType.WRENCH, TileType.getTileTypeFromID(21));
}
@Test
public void allTileTypesIDConversionToIDAndBack() {
for (TileType type : TileType.values()) {
assertEquals(type, TileType.getTileTypeFromID(type.getTileTypeID()));
}
}
@Test
public void invalidTileTypeIDReturnsNull() {
assertNull(TileType.getTileTypeFromID(-1));
}
@Test
public void allTilesHaveUniqueId() {
/* This test is also done implicitly by the allTileTypesIDConversionToIDAndBack test, but that test may fail
even if this test passes, so this test is needed for clarity. */
Set<Integer> set = new HashSet<>();
List<Integer> list = new ArrayList<>();
for (TileType type : TileType.values()) {
set.add(type.getTileTypeID());
list.add(type.getTileTypeID());
}
assertEquals(list.size(), set.size());
}
}