forked from jzitnik/twodcraft
test: Added some tests
This commit is contained in:
parent
30af2b6feb
commit
fed35d3a02
5
pom.xml
5
pom.xml
@ -21,6 +21,11 @@
|
|||||||
<version>1.18.36</version>
|
<version>1.18.36</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.jupiter</groupId>
|
||||||
|
<artifactId>junit-jupiter</artifactId>
|
||||||
|
<version>5.8.2</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
|
@ -200,14 +200,17 @@ public class SpriteLoader {
|
|||||||
SPRITES_MAP.put(SPRITES.ITEM_COAL_ORE, new SimpleSprite("items/coal_ore.ans"));
|
SPRITES_MAP.put(SPRITES.ITEM_COAL_ORE, new SimpleSprite("items/coal_ore.ans"));
|
||||||
SPRITES_MAP.put(SPRITES.ITEM_IRON_ORE, new SimpleSprite("items/iron_ore.ans"));
|
SPRITES_MAP.put(SPRITES.ITEM_IRON_ORE, new SimpleSprite("items/iron_ore.ans"));
|
||||||
SPRITES_MAP.put(SPRITES.ITEM_GOLD_ORE, new SimpleSprite("items/gold_ore.ans"));
|
SPRITES_MAP.put(SPRITES.ITEM_GOLD_ORE, new SimpleSprite("items/gold_ore.ans"));
|
||||||
|
SPRITES_MAP.put(SPRITES.ITEM_DIAMOND_ORE, new SimpleSprite("items/diamond_ore.ans"));
|
||||||
|
|
||||||
SPRITES_MAP.put(SPRITES.ITEM_COAL_BLOCK, new SimpleSprite("items/coal_block.ans"));
|
SPRITES_MAP.put(SPRITES.ITEM_COAL_BLOCK, new SimpleSprite("items/coal_block.ans"));
|
||||||
SPRITES_MAP.put(SPRITES.ITEM_IRON_BLOCK, new SimpleSprite("items/iron_block.ans"));
|
SPRITES_MAP.put(SPRITES.ITEM_IRON_BLOCK, new SimpleSprite("items/iron_block.ans"));
|
||||||
SPRITES_MAP.put(SPRITES.ITEM_GOLD_BLOCK, new SimpleSprite("items/gold_block.ans"));
|
SPRITES_MAP.put(SPRITES.ITEM_GOLD_BLOCK, new SimpleSprite("items/gold_block.ans"));
|
||||||
|
SPRITES_MAP.put(SPRITES.ITEM_DIAMOND_BLOCK, new SimpleSprite("items/diamond_block.ans"));
|
||||||
|
|
||||||
SPRITES_MAP.put(SPRITES.COAL, new SimpleSprite("items/coal.ans"));
|
SPRITES_MAP.put(SPRITES.COAL, new SimpleSprite("items/coal.ans"));
|
||||||
SPRITES_MAP.put(SPRITES.ITEM_IRON_INGOT, new SimpleSprite("items/iron_ingot.ans"));
|
SPRITES_MAP.put(SPRITES.ITEM_IRON_INGOT, new SimpleSprite("items/iron_ingot.ans"));
|
||||||
SPRITES_MAP.put(SPRITES.ITEM_GOLD_INGOT, new SimpleSprite("items/gold_ingot.ans"));
|
SPRITES_MAP.put(SPRITES.ITEM_GOLD_INGOT, new SimpleSprite("items/gold_ingot.ans"));
|
||||||
|
SPRITES_MAP.put(SPRITES.DIAMOND, new SimpleSprite("items/diamond.ans"));
|
||||||
|
|
||||||
// Work Items
|
// Work Items
|
||||||
SPRITES_MAP.put(SPRITES.ITEM_CRAFTING_TABLE, new SimpleSprite("items/crafting_table.ans"));
|
SPRITES_MAP.put(SPRITES.ITEM_CRAFTING_TABLE, new SimpleSprite("items/crafting_table.ans"));
|
||||||
|
@ -8,6 +8,6 @@ import cz.jzitnik.game.entities.items.ItemType;
|
|||||||
@ItemRegistry("coal")
|
@ItemRegistry("coal")
|
||||||
public class CoalItem extends Item {
|
public class CoalItem extends Item {
|
||||||
public CoalItem() {
|
public CoalItem() {
|
||||||
super("coal", "Coal", ItemType.USELESS_ITEM, SpriteLoader.SPRITES.ITEM_COAL_ORE);
|
super("coal", "Coal", ItemType.USELESS_ITEM, SpriteLoader.SPRITES.COAL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,6 @@ import cz.jzitnik.game.entities.items.ItemType;
|
|||||||
@ItemRegistry("steak")
|
@ItemRegistry("steak")
|
||||||
public class SteakItem extends Item {
|
public class SteakItem extends Item {
|
||||||
public SteakItem() {
|
public SteakItem() {
|
||||||
super("steak", "Steak", ItemType.FOOD, SpriteLoader.SPRITES.ITEM_BEEF, 4);
|
super("steak", "Steak", ItemType.FOOD, SpriteLoader.SPRITES.ITEM_STEAK, 4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,7 @@ public class Generation {
|
|||||||
// Spawn player at a valid starting point
|
// Spawn player at a valid starting point
|
||||||
world[terrainHeight[256] - 1][256].add(steveBlock2);
|
world[terrainHeight[256] - 1][256].add(steveBlock2);
|
||||||
world[terrainHeight[256] - 2][256].add(steveBlock);
|
world[terrainHeight[256] - 2][256].add(steveBlock);
|
||||||
|
world[terrainHeight[256] - 1][256 + 1].add(ItemBlockSupplier.getBlock("water"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void initializeWorld(List<Block>[][] world) {
|
private static void initializeWorld(List<Block>[][] world) {
|
||||||
|
@ -2,6 +2,8 @@ package cz.jzitnik.game.sprites;
|
|||||||
|
|
||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class Air extends Sprite {
|
public class Air extends Sprite {
|
||||||
public String getSprite() {
|
public String getSprite() {
|
||||||
StringBuilder sprite = new StringBuilder();
|
StringBuilder sprite = new StringBuilder();
|
||||||
@ -15,4 +17,9 @@ public class Air extends Sprite {
|
|||||||
public String getSprite(Enum e) {
|
public String getSprite(Enum e) {
|
||||||
throw new RuntimeException("Imposible state");
|
throw new RuntimeException("Imposible state");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<Enum>> getStates() {
|
||||||
|
return Optional.empty();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,8 @@ package cz.jzitnik.game.sprites;
|
|||||||
import cz.jzitnik.tui.ResourceLoader;
|
import cz.jzitnik.tui.ResourceLoader;
|
||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class Bed extends Sprite {
|
public class Bed extends Sprite {
|
||||||
public enum BedState {
|
public enum BedState {
|
||||||
LEFT,
|
LEFT,
|
||||||
@ -22,4 +24,9 @@ public class Bed extends Sprite {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<BedState>> getStates() {
|
||||||
|
return Optional.of(BedState.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import cz.jzitnik.tui.ResourceLoader;
|
|||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class Breaking extends Sprite {
|
public class Breaking extends Sprite {
|
||||||
public enum BreakingState {
|
public enum BreakingState {
|
||||||
@ -28,4 +29,9 @@ public class Breaking extends Sprite {
|
|||||||
default -> throw new IllegalStateException("Unexpected value: " + key);
|
default -> throw new IllegalStateException("Unexpected value: " + key);
|
||||||
})));
|
})));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<BreakingState>> getStates() {
|
||||||
|
return Optional.of(BreakingState.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,8 @@ package cz.jzitnik.game.sprites;
|
|||||||
import cz.jzitnik.tui.ResourceLoader;
|
import cz.jzitnik.tui.ResourceLoader;
|
||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class Cow extends Sprite {
|
public class Cow extends Sprite {
|
||||||
public enum CowState{
|
public enum CowState{
|
||||||
LEFT,
|
LEFT,
|
||||||
@ -26,4 +28,9 @@ public class Cow extends Sprite {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<CowState>> getStates() {
|
||||||
|
return Optional.of(CowState.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,8 @@ package cz.jzitnik.game.sprites;
|
|||||||
import cz.jzitnik.tui.ResourceLoader;
|
import cz.jzitnik.tui.ResourceLoader;
|
||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class Furnace extends Sprite {
|
public class Furnace extends Sprite {
|
||||||
public enum FurnaceState {
|
public enum FurnaceState {
|
||||||
OFF,
|
OFF,
|
||||||
@ -22,4 +24,9 @@ public class Furnace extends Sprite {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<FurnaceState>> getStates() {
|
||||||
|
return Optional.of(FurnaceState.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,8 @@ package cz.jzitnik.game.sprites;
|
|||||||
import cz.jzitnik.tui.ResourceLoader;
|
import cz.jzitnik.tui.ResourceLoader;
|
||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class Heart extends Sprite {
|
public class Heart extends Sprite {
|
||||||
public enum HeartState {
|
public enum HeartState {
|
||||||
OFF,
|
OFF,
|
||||||
@ -10,7 +12,7 @@ public class Heart extends Sprite {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String getSprite() {
|
public String getSprite() {
|
||||||
throw new RuntimeException("Idk");
|
return getSprite(HeartState.OFF);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSprite(Enum e) {
|
public String getSprite(Enum e) {
|
||||||
@ -22,4 +24,9 @@ public class Heart extends Sprite {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<HeartState>> getStates() {
|
||||||
|
return Optional.of(HeartState.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,8 @@ package cz.jzitnik.game.sprites;
|
|||||||
import cz.jzitnik.tui.ResourceLoader;
|
import cz.jzitnik.tui.ResourceLoader;
|
||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class Hunger extends Sprite {
|
public class Hunger extends Sprite {
|
||||||
public enum HungerState {
|
public enum HungerState {
|
||||||
OFF,
|
OFF,
|
||||||
@ -10,7 +12,7 @@ public class Hunger extends Sprite {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String getSprite() {
|
public String getSprite() {
|
||||||
throw new RuntimeException("Idk");
|
return getSprite(HungerState.OFF);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSprite(Enum e) {
|
public String getSprite(Enum e) {
|
||||||
@ -22,4 +24,9 @@ public class Hunger extends Sprite {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<HungerState>> getStates() {
|
||||||
|
return Optional.of(HungerState.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,8 @@ package cz.jzitnik.game.sprites;
|
|||||||
import cz.jzitnik.tui.ResourceLoader;
|
import cz.jzitnik.tui.ResourceLoader;
|
||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class OakDoor extends Sprite {
|
public class OakDoor extends Sprite {
|
||||||
public enum OakDoorState {
|
public enum OakDoorState {
|
||||||
TOP,
|
TOP,
|
||||||
@ -26,4 +28,9 @@ public class OakDoor extends Sprite {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<OakDoorState>> getStates() {
|
||||||
|
return Optional.of(OakDoorState.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,8 @@ package cz.jzitnik.game.sprites;
|
|||||||
import cz.jzitnik.tui.ResourceLoader;
|
import cz.jzitnik.tui.ResourceLoader;
|
||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class Pig extends Sprite {
|
public class Pig extends Sprite {
|
||||||
public enum PigState{
|
public enum PigState{
|
||||||
LEFT,
|
LEFT,
|
||||||
@ -26,4 +28,9 @@ public class Pig extends Sprite {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<PigState>> getStates() {
|
||||||
|
return Optional.of(PigState.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,8 @@ package cz.jzitnik.game.sprites;
|
|||||||
import cz.jzitnik.tui.ResourceLoader;
|
import cz.jzitnik.tui.ResourceLoader;
|
||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class Sheep extends Sprite {
|
public class Sheep extends Sprite {
|
||||||
public enum SheepState {
|
public enum SheepState {
|
||||||
WHITE_LEFT,
|
WHITE_LEFT,
|
||||||
@ -77,4 +79,9 @@ public class Sheep extends Sprite {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<SheepState>> getStates() {
|
||||||
|
return Optional.of(SheepState.class);
|
||||||
|
}
|
||||||
}
|
}
|
@ -3,6 +3,8 @@ package cz.jzitnik.game.sprites;
|
|||||||
import cz.jzitnik.tui.ResourceLoader;
|
import cz.jzitnik.tui.ResourceLoader;
|
||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class SimpleSprite extends Sprite {
|
public class SimpleSprite extends Sprite {
|
||||||
private final String resource;
|
private final String resource;
|
||||||
|
|
||||||
@ -17,4 +19,9 @@ public class SimpleSprite extends Sprite {
|
|||||||
public String getSprite(Enum key) {
|
public String getSprite(Enum key) {
|
||||||
throw new RuntimeException("Imposible state");
|
throw new RuntimeException("Imposible state");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<Enum>> getStates() {
|
||||||
|
return Optional.empty();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,8 @@ package cz.jzitnik.game.sprites;
|
|||||||
import cz.jzitnik.tui.ResourceLoader;
|
import cz.jzitnik.tui.ResourceLoader;
|
||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class Steve extends Sprite {
|
public class Steve extends Sprite {
|
||||||
public enum SteveState{
|
public enum SteveState{
|
||||||
FIRST,
|
FIRST,
|
||||||
@ -10,7 +12,7 @@ public class Steve extends Sprite {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String getSprite() {
|
public String getSprite() {
|
||||||
throw new RuntimeException("Error");
|
return getSprite(SteveState.FIRST);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSprite(Enum e) {
|
public String getSprite(Enum e) {
|
||||||
@ -22,4 +24,9 @@ public class Steve extends Sprite {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<SteveState>> getStates() {
|
||||||
|
return Optional.of(SteveState.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,8 @@ package cz.jzitnik.game.sprites;
|
|||||||
import cz.jzitnik.tui.ResourceLoader;
|
import cz.jzitnik.tui.ResourceLoader;
|
||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class Water extends Sprite {
|
public class Water extends Sprite {
|
||||||
public enum WaterState {
|
public enum WaterState {
|
||||||
FIRST,
|
FIRST,
|
||||||
@ -52,4 +54,9 @@ public class Water extends Sprite {
|
|||||||
|
|
||||||
return stringBuilder.toString();
|
return stringBuilder.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<WaterState>> getStates() {
|
||||||
|
return Optional.of(WaterState.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,8 @@ package cz.jzitnik.game.sprites;
|
|||||||
import cz.jzitnik.tui.ResourceLoader;
|
import cz.jzitnik.tui.ResourceLoader;
|
||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class Wool extends Sprite {
|
public class Wool extends Sprite {
|
||||||
public enum WoolState {
|
public enum WoolState {
|
||||||
WHITE,
|
WHITE,
|
||||||
@ -31,4 +33,9 @@ public class Wool extends Sprite {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<WoolState>> getStates() {
|
||||||
|
return Optional.of(WoolState.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,8 @@ package cz.jzitnik.game.sprites;
|
|||||||
import cz.jzitnik.tui.ResourceLoader;
|
import cz.jzitnik.tui.ResourceLoader;
|
||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class WoolItem extends Sprite {
|
public class WoolItem extends Sprite {
|
||||||
public enum WoolItemState {
|
public enum WoolItemState {
|
||||||
WHITE,
|
WHITE,
|
||||||
@ -31,4 +33,9 @@ public class WoolItem extends Sprite {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<WoolItemState>> getStates() {
|
||||||
|
return Optional.of(WoolItemState.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,8 @@ package cz.jzitnik.game.sprites.ui;
|
|||||||
import cz.jzitnik.tui.ResourceLoader;
|
import cz.jzitnik.tui.ResourceLoader;
|
||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class Font extends Sprite {
|
public class Font extends Sprite {
|
||||||
public enum FontState {
|
public enum FontState {
|
||||||
A,B,C,D,E,F,G,H,I,J,K,
|
A,B,C,D,E,F,G,H,I,J,K,
|
||||||
@ -24,4 +26,9 @@ public class Font extends Sprite {
|
|||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<Enum>> getStates() {
|
||||||
|
return Optional.empty();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import cz.jzitnik.tui.ResourceLoader;
|
|||||||
import cz.jzitnik.tui.Sprite;
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class Number extends Sprite {
|
public class Number extends Sprite {
|
||||||
public enum NumberState {
|
public enum NumberState {
|
||||||
@ -58,4 +59,9 @@ public class Number extends Sprite {
|
|||||||
default -> throw new IllegalStateException("Unexpected value: " + key);
|
default -> throw new IllegalStateException("Unexpected value: " + key);
|
||||||
})));
|
})));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<Class<NumberState>> getStates() {
|
||||||
|
return Optional.of(NumberState.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
package cz.jzitnik.tui;
|
package cz.jzitnik.tui;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public abstract class Sprite<E extends Enum<E>> {
|
public abstract class Sprite<E extends Enum<E>> {
|
||||||
public abstract String getSprite();
|
public abstract String getSprite();
|
||||||
public abstract String getSprite(E key);
|
public abstract String getSprite(E key);
|
||||||
|
public abstract Optional<Class<Enum>> getStates();
|
||||||
}
|
}
|
||||||
|
35
src/test/java/cz/jzitnik/game/SpriteLoaderTest.java
Normal file
35
src/test/java/cz/jzitnik/game/SpriteLoaderTest.java
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
package cz.jzitnik.game;
|
||||||
|
|
||||||
|
import cz.jzitnik.tui.Sprite;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
public class SpriteLoaderTest {
|
||||||
|
@Test
|
||||||
|
@DisplayName("Verify all SPRITES enum values are present in SPRITES_MAP")
|
||||||
|
void testAllSpritesArePresent() {
|
||||||
|
for (SpriteLoader.SPRITES spriteEnum : SpriteLoader.SPRITES.values()) {
|
||||||
|
assertTrue(SpriteLoader.SPRITES_MAP.containsKey(spriteEnum), "Missing sprite: " + spriteEnum);
|
||||||
|
assertNotNull(SpriteLoader.SPRITES_MAP.get(spriteEnum), "Sprite is null: " + spriteEnum);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("Ensure that for each sprite all the resources are present.")
|
||||||
|
void testAllResourcesArePresent() {
|
||||||
|
for (SpriteLoader.SPRITES spriteEnum : SpriteLoader.SPRITES_MAP.keySet()) {
|
||||||
|
Sprite sprite = SpriteLoader.SPRITES_MAP.get(spriteEnum);
|
||||||
|
assertNotNull(sprite.getSprite(),
|
||||||
|
"getSprite() couldn't find file for: " + spriteEnum);
|
||||||
|
|
||||||
|
if (sprite.getStates().isPresent()) {
|
||||||
|
for (Enum state : ((Class<Enum>) SpriteLoader.SPRITES_MAP.get(spriteEnum).getStates().get()).getEnumConstants()) {
|
||||||
|
assertNotNull(SpriteLoader.SPRITES_MAP.get(spriteEnum).getSprite(state),
|
||||||
|
"getSprite("+state+") couldn't find file for: " + spriteEnum);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
25
src/test/java/cz/jzitnik/game/smelting/SmeltingTest.java
Normal file
25
src/test/java/cz/jzitnik/game/smelting/SmeltingTest.java
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
package cz.jzitnik.game.smelting;
|
||||||
|
|
||||||
|
import cz.jzitnik.game.entities.items.Item;
|
||||||
|
import cz.jzitnik.game.entities.items.ItemBlockSupplier;
|
||||||
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.function.Executable;
|
||||||
|
|
||||||
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
public class SmeltingTest {
|
||||||
|
@Test
|
||||||
|
@DisplayName("Verity that all items in Smelting are actual items")
|
||||||
|
void testAllItems() {
|
||||||
|
for (String item : Smelting.smeltingList.keySet()) {
|
||||||
|
assertDoesNotThrow(() -> ItemBlockSupplier.getItem(item));
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Supplier<Item> supplier: Smelting.smeltingList.values()) {
|
||||||
|
assertDoesNotThrow(supplier::get);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user