diff --git a/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Move.java b/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Move.java index 29eb0fd..33146b1 100644 --- a/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Move.java +++ b/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Move.java @@ -3,13 +3,15 @@ package fr.iut_fbleau.info.but3.automation.rock_paper_scissors.play.domain; public enum Move { ROCK, PAPER, - SCISSORS; + SCISSORS, + PUIT; public boolean beats(Move other) { return switch (this) { case ROCK -> other == SCISSORS; - case PAPER -> other == ROCK; + case PAPER -> other == ROCK || other == PUIT; case SCISSORS -> other == PAPER; + case PUIT -> other == SCISSORS || other == ROCK; }; } } diff --git a/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/web/PlayController.java b/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/web/PlayController.java index e5d3dcc..9799398 100644 --- a/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/web/PlayController.java +++ b/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/web/PlayController.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/play") -@Tag(name = "Play", description = "Rock Paper Scissors game endpoints") +@Tag(name = "Play", description = "Rock Paper Scissors Puit game endpoints") public class PlayController { private final RockPaperScissorsPlay rockPaperScissorsPlay; @@ -26,7 +26,7 @@ public class PlayController { @Operation( summary = "Play a round", - description = "Play a round of Rock Paper Scissors against the CPU", + description = "Play a round of Rock Paper Scissors PUIT against the CPU", responses = { @ApiResponse( responseCode = "200", diff --git a/src/test/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/PlayControllerTest.java b/src/test/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/PlayControllerTest.java index 1e0cd10..638f08d 100644 --- a/src/test/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/PlayControllerTest.java +++ b/src/test/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/PlayControllerTest.java @@ -46,7 +46,9 @@ public class PlayControllerTest { public static Stream scenario() { return Stream.of( Arguments.of(Move.ROCK, Move.SCISSORS, WIN), - Arguments.of(Move.ROCK, Move.PAPER, LOOSE) + Arguments.of(Move.ROCK, Move.PAPER, LOOSE), + Arguments.of(Move.ROCK, Move.PUIT, LOOSE) + ); } diff --git a/src/test/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/MoveTest.java b/src/test/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/MoveTest.java index c21526b..f082785 100644 --- a/src/test/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/MoveTest.java +++ b/src/test/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/MoveTest.java @@ -14,7 +14,7 @@ class MoveTest { @Test void should_check_move_size(){ - Assertions.assertEquals(3, Move.values().length); + Assertions.assertEquals(4, Move.values().length); } @ParameterizedTest(name = "{0} should beat {1}") @@ -33,7 +33,12 @@ class MoveTest { return Stream.of( Arguments.of(Move.ROCK,Move.SCISSORS), Arguments.of(Move.PAPER,Move.ROCK), - Arguments.of(Move.SCISSORS,Move.PAPER) + Arguments.of(Move.PAPER,Move.PUIT), + Arguments.of(Move.SCISSORS,Move.PAPER), + Arguments.of(Move.PUIT,Move.ROCK), + Arguments.of(Move.PUIT,Move.SCISSORS) + + ); } } diff --git a/src/test/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/spi/RandomCpuPickerTest.java b/src/test/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/spi/RandomCpuPickerTest.java index 9a09192..26b3a8b 100644 --- a/src/test/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/spi/RandomCpuPickerTest.java +++ b/src/test/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/spi/RandomCpuPickerTest.java @@ -20,9 +20,11 @@ class RandomCpuPickerTest { obtainedMoves.add(picker.pick()); } - assertEquals(3, obtainedMoves.size()); + assertEquals(4, obtainedMoves.size()); assertTrue(obtainedMoves.contains(Move.ROCK)); assertTrue(obtainedMoves.contains(Move.PAPER)); assertTrue(obtainedMoves.contains(Move.SCISSORS)); + assertTrue(obtainedMoves.contains(Move.PUIT)); + } } \ No newline at end of file