1 Commits
main ... DEV

Author SHA1 Message Date
7924a1698f modified: src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Move.java
modified:   src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/spi/RandomCpuPicker.java
	modified:   src/test/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/MoveTest.java
	modified:   src/test/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/spi/RandomCpuPickerTest.java
2025-11-27 11:05:44 +01:00
4 changed files with 13 additions and 7 deletions

View File

@@ -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;
};
}
}

View File

@@ -1,10 +1,10 @@
package fr.iut_fbleau.info.but3.automation.rock_paper_scissors.play.spi;
import java.util.Random;
import fr.iut_fbleau.info.but3.automation.rock_paper_scissors.ddd.DomainService;
import fr.iut_fbleau.info.but3.automation.rock_paper_scissors.play.domain.Move;
import java.util.Random;
@DomainService
public class RandomCpuPicker implements CpuPick {

View File

@@ -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,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.SCISSORS,Move.PAPER),
Arguments.of(Move.WELL,Move.ROCK),
Arguments.of(Move.WELL,Move.SCISSORS),
Arguments.of(Move.PAPER,Move.WELL)
);
}
}

View File

@@ -20,9 +20,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));
}
}