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..893fa11 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, + WELL; public boolean beats(Move other) { return switch (this) { - case ROCK -> other == SCISSORS; + case ROCK -> (other == SCISSORS || other == WELL); case PAPER -> other == ROCK; - case SCISSORS -> other == PAPER; + case SCISSORS -> (other == PAPER || other == WELL); + case WELL -> other == PAPER; }; } } 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..0f601ef 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.WELL, Move.PAPER, LOOSE), + Arguments.of(Move.WELL, Move.ROCK, WIN) ); } 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..17db9cc 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 @@ -33,7 +33,8 @@ 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.SCISSORS,Move.PAPER), + Arguments.of(Move.WELL,Move.ROCK) ); } } 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..7a9c9a0 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 @@ -24,5 +24,6 @@ class RandomCpuPickerTest { assertTrue(obtainedMoves.contains(Move.ROCK)); assertTrue(obtainedMoves.contains(Move.PAPER)); assertTrue(obtainedMoves.contains(Move.SCISSORS)); + assertTrue(obtainedMoves.contains(Move.WELL)); } } \ No newline at end of file