From 975bb8643792e1fa8a10859a2b311792116317c7 Mon Sep 17 00:00:00 2001 From: arnaudlabourel <arnaud.labourel@univ-amu.fr> Date: Tue, 9 Nov 2021 11:35:13 +0100 Subject: [PATCH] Added tests for RandomConstrainedWangTileGenerator --- ...andomConstrainedWangTileGeneratorTest.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/test/java/model/RandomConstrainedWangTileGeneratorTest.java diff --git a/src/test/java/model/RandomConstrainedWangTileGeneratorTest.java b/src/test/java/model/RandomConstrainedWangTileGeneratorTest.java new file mode 100644 index 0000000..1510a23 --- /dev/null +++ b/src/test/java/model/RandomConstrainedWangTileGeneratorTest.java @@ -0,0 +1,41 @@ +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 RandomConstrainedWangTileGeneratorTest { + @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); + + 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 RandomConstrainedWangTileGenerator(List.of(Color.BLUE, Color.RED), + new Random(0)); + + for(int index = 0; index < 10; index++){ + Tile tile = tileGenerator.nextTile(square); + assertThat(tile.side(CardinalDirection.NORTH)).isEqualTo(redSide); + assertThat(tile.side(CardinalDirection.WEST)).isEqualTo(blueSide); + assertThat(tile.side(CardinalDirection.EAST)).isIn(List.of(redSide, blueSide)); + assertThat(tile.side(CardinalDirection.SOUTH)).isIn(List.of(redSide, blueSide)); + } + } +} -- GitLab