From 5e855f3d1c5354c7fc7d6f06fe2e4dc50d02730f Mon Sep 17 00:00:00 2001 From: bridja Date: Thu, 27 Nov 2025 10:46:18 +0100 Subject: [PATCH 1/2] Fix: Add Well for the game --- .../automation/rock_paper_scissors/play/domain/Move.java | 8 ++++++-- .../rock_paper_scissors/play/domain/MoveTest.java | 5 ++++- 2 files changed, 10 insertions(+), 3 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..db024c8 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,17 @@ 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..20ca004 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,10 @@ 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.WELL), + Arguments.of(Move.SCISSORS,Move.PAPER), + Arguments.of(Move.WELL,Move.ROCK), + Arguments.of(Move.WELL,Move.SCISSORS) ); } } -- 2.52.0 From 7a6d438a400d7866e30261b663a9259b5ee20cf9 Mon Sep 17 00:00:00 2001 From: bridja Date: Thu, 27 Nov 2025 10:56:41 +0100 Subject: [PATCH 2/2] Fix: Add Final test --- .../automation/rock_paper_scissors/play/domain/MoveTest.java | 2 +- .../rock_paper_scissors/play/spi/RandomCpuPickerTest.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) 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 20ca004..2fd5b03 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}") 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..b2d5769 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 @@ -3,6 +3,7 @@ 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 org.junit.jupiter.params.provider.Arguments; import java.util.HashSet; import java.util.Set; @@ -20,9 +21,10 @@ 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.WELL)); } } \ No newline at end of file -- 2.52.0