mirror of
https://github.com/inf112-v20/Fiasko.git
synced 2025-01-31 23:29:36 +01:00
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:
parent
4b07882d47
commit
827c8e0aed
@ -40,7 +40,7 @@ public enum TileType {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the numerical id used for alternate identification of a tile type
|
* Gets the numerical id used for alternate identification of a tile type
|
||||||
* @return <p>The numerical id of the tile</p>
|
* @return <p>The numerical id of the tile type</p>
|
||||||
*/
|
*/
|
||||||
public int getTileTypeID() {
|
public int getTileTypeID() {
|
||||||
return this.tileTypeID;
|
return this.tileTypeID;
|
||||||
@ -48,8 +48,8 @@ public enum TileType {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a tile type value from its numerical representation
|
* Gets a tile type value from its numerical representation
|
||||||
* @param tileTypeID <p>The numerical representation of a tile tpye</p>
|
* @param tileTypeID <p>The numerical representation of a tile type</p>
|
||||||
* @return <p>The enum value representing the tile type</p>
|
* @return <p>The enum value representing the tile type, or null if the id is invalid</p>
|
||||||
*/
|
*/
|
||||||
public static TileType getTileTypeFromID(int tileTypeID) {
|
public static TileType getTileTypeFromID(int tileTypeID) {
|
||||||
for (TileType type : TileType.values()) {
|
for (TileType type : TileType.values()) {
|
||||||
|
@ -3,34 +3,58 @@ package inf112.fiasko.roborally;
|
|||||||
import inf112.fiasko.roborally.abstractions.TileType;
|
import inf112.fiasko.roborally.abstractions.TileType;
|
||||||
import org.junit.Test;
|
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.assertEquals;
|
||||||
import static org.junit.Assert.assertNull;
|
import static org.junit.Assert.assertNull;
|
||||||
|
|
||||||
public class TileTypeTest {
|
public class TileTypeTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getTileTypeIDForHole() {
|
public void getTileTypeIDForHole() {
|
||||||
assertEquals(2, TileType.HOLE.getTileTypeID());
|
assertEquals(2, TileType.HOLE.getTileTypeID());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getTileTypeFromHoleID() {
|
public void getTileTypeFromHoleID() {
|
||||||
assertEquals(TileType.HOLE, TileType.getTileTypeFromID(2));
|
assertEquals(TileType.HOLE, TileType.getTileTypeFromID(2));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getTileTypeIDForWrench() {
|
public void getTileTypeIDForWrench() {
|
||||||
assertEquals(21, TileType.WRENCH.getTileTypeID());
|
assertEquals(21, TileType.WRENCH.getTileTypeID());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getTileTypeFromWrenchID() {
|
public void getTileTypeFromWrenchID() {
|
||||||
assertEquals(TileType.WRENCH, TileType.getTileTypeFromID(21));
|
assertEquals(TileType.WRENCH, TileType.getTileTypeFromID(21));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void allTileTypesIDConversionToIDAndBack() {
|
public void allTileTypesIDConversionToIDAndBack() {
|
||||||
for (TileType type : TileType.values()) {
|
for (TileType type : TileType.values()) {
|
||||||
assertEquals(type, TileType.getTileTypeFromID(type.getTileTypeID()));
|
assertEquals(type, TileType.getTileTypeFromID(type.getTileTypeID()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void invalidTileTypeIDReturnsNull() {
|
public void invalidTileTypeIDReturnsNull() {
|
||||||
assertNull(TileType.getTileTypeFromID(-1));
|
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());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user