From 99a4fdd24129d4873d842c1374bd87c25de9ae67 Mon Sep 17 00:00:00 2001 From: kara-mosr Date: Thu, 27 Nov 2025 10:14:30 +0100 Subject: [PATCH] ajout du puit --- .../rock_paper_scissors/play/domain/Move.java | 6 ++++-- .../rock_paper_scissors/play/domain/MoveTest.java | 13 ++++++++----- .../play/spi/RandomCpuPickerTest.java | 7 ++++--- 3 files changed, 16 insertions(+), 10 deletions(-) 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..34c1f20 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 PAPER -> other == ROCK; + case PAPER -> other == ROCK || other == WELL; case SCISSORS -> other == PAPER; + case WELL -> other == ROCK || other == SCISSORS; }; } } 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..a4d30ef 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 @@ -1,6 +1,5 @@ package fr.iut_fbleau.info.but3.automation.rock_paper_scissors.play.domain; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -14,7 +13,8 @@ class MoveTest { @Test void should_check_move_size(){ - Assertions.assertEquals(3, Move.values().length); + // On a maintenant 4 coups : ROCK, PAPER, SCISSORS, WELL + assertEquals(4, Move.values().length); } @ParameterizedTest(name = "{0} should beat {1}") @@ -31,9 +31,12 @@ class MoveTest { static Stream winnable(){ return Stream.of( - Arguments.of(Move.ROCK,Move.SCISSORS), - Arguments.of(Move.PAPER,Move.ROCK), - Arguments.of(Move.SCISSORS,Move.PAPER) + Arguments.of(Move.ROCK, Move.SCISSORS), + Arguments.of(Move.PAPER, Move.ROCK), + Arguments.of(Move.SCISSORS, Move.PAPER), + Arguments.of(Move.WELL, Move.ROCK), + Arguments.of(Move.WELL, Move.SCISSORS), + Arguments.of(Move.PAPER, Move.WELL) ); } } 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..0566cd2 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 @@ -1,7 +1,6 @@ package fr.iut_fbleau.info.but3.automation.rock_paper_scissors.play.spi; import fr.iut_fbleau.info.but3.automation.rock_paper_scissors.play.domain.Move; -import fr.iut_fbleau.info.but3.automation.rock_paper_scissors.play.spi.RandomCpuPicker; import org.junit.jupiter.api.Test; import java.util.HashSet; @@ -20,9 +19,11 @@ class RandomCpuPickerTest { obtainedMoves.add(picker.pick()); } - assertEquals(3, obtainedMoves.size()); + // Il doit maintenant pouvoir jouer 4 coups + assertEquals(4, obtainedMoves.size()); 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 +}