Skip to content

fix: valider la taille du roll avant le calcul du score - #2

Merged
vbetsch merged 5 commits into
vbetsch:masterfrom
G1TS23:1-validate-roll-size-in-computescore
Oct 9, 2026
Merged

vbetsch merged 5 commits into
vbetsch:masterfrom
G1TS23:1-validate-roll-size-in-computescore

Conversation

@G1TS23

@G1TS23 G1TS23 commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Contexte

Yams.computeScore ne vérifiait jamais que le roll passé en paramètre contenait exactement 5 dés. Un roll de taille différente (4, 6, 0...) était accepté silencieusement et produisait un score calculé sur une base erronée.

Closes #1

Changements

  • Démarche TDD conservée : FAIL -> PASS -> REFACTOR
  • Ajout de la validation roll.size() != DICES_AMOUNT en tout début de computeScore, qui lève désormais une exception avant tout calcul de score
  • Création de InvalidRollSizeError (extends IllegalArgumentException), avec un message incluant à la fois la taille attendue et la taille réellement reçue
  • DICES_AMOUNT passée de private final à static final dans Yams, pour servir de source unique de vérité partagée avec InvalidRollSizeError
  • Ajout de tests couvrant les rolls trop courts, trop longs, et vides

Test plan

  • Nouveau test shouldThrowIllegalArgumentExceptionWhenGivenLessThanFiveDices
  • Nouveau test shouldThrowIllegalArgumentExceptionWhenGivenMoreThanFiveDices
  • Nouveau test shouldThrowIllegalArgumentExceptionWhenGivenNoDice
  • Suite de tests existante toujours verte

@vbetsch
vbetsch self-requested a review October 9, 2026 12:26

@vbetsch vbetsch left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reviewed ✔️

@vbetsch vbetsch changed the title fix: valider la taille du roll avant le calcul du score (#1) fix: valider la taille du roll avant le calcul du score Oct 9, 2026
@vbetsch
vbetsch merged commit 597e31c into vbetsch:master Oct 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

computeScore ne valide pas que le lancer contient exactement 5 dés

2 participants