diff --git a/src/test/java/model/RandomTileSetGeneratorTest.java b/src/test/java/model/RandomTileSetGeneratorTest.java new file mode 100644 index 0000000000000000000000000000000000000000..40fc91e39d010eee253491883a8cd9a767f5b06b --- /dev/null +++ b/src/test/java/model/RandomTileSetGeneratorTest.java @@ -0,0 +1,37 @@ +package model; + +import javafx.scene.paint.Color; +import org.junit.jupiter.api.Test; + +import java.util.List; +import java.util.Random; + +import static org.assertj.core.api.Assertions.assertThat; + +public class RandomTileSetGeneratorTest { + @Test + void testNextTile(){ + Side redSide = new ColoredSide(Color.RED); + Side blueSide = new ColoredSide(Color.BLUE); + + Tile blueTile = new UniformTile(blueSide); + Tile redTile = new UniformTile(redSide); + Tile blueRedTile = new WangTile(new Side[]{redSide, redSide, blueSide, blueSide}); + + Square square = new ArraySquare(); + Square northNeighbor = new ArraySquare(); + Square westNeighbor = new ArraySquare(); + + northNeighbor.put(redTile); + westNeighbor.put(blueTile); + + square.setNeighbor(northNeighbor, CardinalDirection.NORTH); + square.setNeighbor(westNeighbor, CardinalDirection.WEST); + + TileGenerator tileGenerator = new RandomTileSetGenerator(List.of(redTile, blueTile, blueRedTile), + new Random(0)); + + for(int index = 0; index < 10; index++) + assertThat(tileGenerator.nextTile(square)).isEqualTo(blueRedTile); + } +}