diff --git a/pom.xml b/pom.xml
index 8d6d7fe..7b09c1b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,6 +17,12 @@
5.8.2
test
+
+ org.assertj
+ assertj-core
+ 3.4.1
+ test
+
diff --git a/src/test/java/latice/LaticeTest.java b/src/test/java/latice/LaticeTest.java
new file mode 100644
index 0000000..6613aff
--- /dev/null
+++ b/src/test/java/latice/LaticeTest.java
@@ -0,0 +1,227 @@
+package latice;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import java.util.ArrayList;
+
+import org.junit.jupiter.api.Test;
+import static org.assertj.core.api.Assertions.*;
+
+import latice.model.Color;
+import latice.model.Deck;
+import latice.model.Player;
+import latice.model.Position;
+import latice.model.Rack;
+import latice.model.Score;
+import latice.model.Shape;
+import latice.model.Tile;
+
+class LaticeTest {
+
+ //VEUILLEZ SAISIR Marc COMME NOM DU JOUEUR DANS LA CONSOLE
+
+
+ @Test
+ void should_return_tile_with_position_shape_color() {
+ //Arrange
+ Tile tile = new Tile(Color.GREEN, Shape.BIRD);
+ final int COLUMN = 10;
+ final int ROW = 10;
+
+
+ //Act
+ Color returnedColor = tile.getColor();
+ Shape returnedShape = tile.getShape();
+ tile.setPosition(new Position(ROW, COLUMN));
+ Integer returnedRowPosition = tile.getPositionRow();
+ Integer returnedColumnPosition = tile.getPositionColumn();
+
+
+ //Assert
+ assertEquals(Color.GREEN, returnedColor);
+ assertEquals(Shape.BIRD, returnedShape);
+ assertEquals(ROW, returnedRowPosition);
+ assertEquals(COLUMN, returnedColumnPosition);
+
+ }
+
+ @Test
+ void should_return_good_score() {
+ //Arrange
+ Score score = new Score();
+ final int POINTS = 0;
+
+ //Act
+ score.setScore(POINTS);
+
+ //Assert
+ assertEquals(POINTS, score.getScore());
+ }
+
+ @Test
+ void deck_test(){
+ //Arrange
+ ArrayList listOfTile = new ArrayList();
+ Deck deck;
+
+ //Act
+ for (Color color : Color.values()) {
+ for (Shape shape : Shape.values()) {
+ Tile tile = new Tile(color, shape);
+ System.out.println(color.getStringColor() + shape.getStringShape()+ ".png");
+
+ listOfTile.add(tile);
+
+ }
+ }
+ deck = new Deck(listOfTile);
+
+ //Assert
+ assertEquals(listOfTile, deck.getListTile());
+
+
+ }
+
+ @Test
+ void should_change_rack() {
+ //Arrange
+ ArrayList listOfTile = new ArrayList();
+ Deck deck;
+ Deck deck2;
+ Rack rack;
+ Rack rack2;
+
+ //Act
+ for (Color color : Color.values()) {
+ for (Shape shape : Shape.values()) {
+ Tile tile = new Tile(color, shape);
+ System.out.println(color.getStringColor() + shape.getStringShape()+ ".png");
+
+ listOfTile.add(tile);
+
+ }
+ }
+ deck = new Deck(listOfTile);
+ deck2 = new Deck(listOfTile);
+
+ rack = new Rack(deck);
+ rack2 = new Rack(deck2);
+
+ //Assert
+ assertEquals(5, rack.getListRackTile().size());
+
+ //changeRack Test
+ rack2.changeRack();
+
+ assertThat(rack.getListRackTile())
+ .isNotEqualTo(rack2.getListRackTile());
+
+
+ }
+
+ @Test
+ void should_set_new_rack() {
+ //Arrange
+ ArrayList listOfTile = new ArrayList();
+ Deck deck;
+ Deck deck2;
+ Rack rack;
+ Rack rack2;
+
+ //Act
+ for (Color color : Color.values()) {
+ for (Shape shape : Shape.values()) {
+ Tile tile = new Tile(color, shape);
+ System.out.println(color.getStringColor() + shape.getStringShape()+ ".png");
+
+ listOfTile.add(tile);
+
+ }
+ }
+ deck = new Deck(listOfTile);
+ deck2 = new Deck(listOfTile);
+ rack = new Rack(deck);
+ rack2 = new Rack(deck2);
+ rack.setListRackTile(rack2.getListRackTile());
+
+ //Assert
+ assertEquals(rack.getListRackTile(), rack2.getListRackTile());
+ }
+
+ @Test
+ void should_remove_tile_from_rack() {
+ //Arrange
+ ArrayList listOfTile = new ArrayList();
+ Deck deck;
+ Rack rack;
+
+ //Act
+ for (Color color : Color.values()) {
+ for (Shape shape : Shape.values()) {
+ Tile tile = new Tile(color, shape);
+ System.out.println(color.getStringColor() + shape.getStringShape()+ ".png");
+
+ listOfTile.add(tile);
+
+ }
+ }
+ deck = new Deck(listOfTile);
+ rack = new Rack(deck);
+ rack.removeTile(rack.getListRackTile().get(0));
+
+ //Assert
+ assertEquals(4, rack.getListRackTile().size());
+
+ }
+
+ @Test
+ void test_getters_and_seters_of_Player_class() {
+ //Arrange
+ ArrayList listOfTile = new ArrayList();
+ Deck deck;
+ Rack rack;
+
+ for (Color color : Color.values()) {
+ for (Shape shape : Shape.values()) {
+ Tile tile = new Tile(color, shape);
+ System.out.println(color.getStringColor() + shape.getStringShape()+ ".png");
+
+ listOfTile.add(tile);
+
+ }
+ }
+ deck = new Deck(listOfTile);
+ rack = new Rack(deck);
+ Player player = new Player("Marc", new Score(), deck, rack);
+
+ //Act
+
+
+ //Assert
+ assertEquals("Marc", player.getName());
+ assertEquals(0, player.getScore());
+ assertEquals(rack, player.getRack());
+
+ player.addScore(2);
+ assertEquals(2, player.getScore());
+
+ player.diffScore(1);
+ assertEquals(1, player.getScore());
+
+ }
+
+
+
+ /*@Test
+ void () {
+ //Arrange
+
+ //Act
+
+ //Assert
+
+ }*/
+
+
+
+}