Scénarios en Gherkin standard validés par l'analyseur officiel ; ADR amendables

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Pierre MARTIN
2026-11-02 13:53:12 +01:00
co-authored by Claude Opus 5.5
parent 42ace839d2
commit 2ab30a4abe
14 changed files with 196 additions and 82 deletions
+27 -15
View File
@@ -2,29 +2,41 @@
La documentation utilisateur d'Ustagammon : un fichier par tâche réelle d'un
joueur, écrit pour lui. Ces fichiers sont la seule source (ADR 0008) :
l'application les affiche comme pages d'aide, et ils servent de tests de bout
en bout.
l'application les met en forme comme pages d'aide, et ils sont exécutés comme
tests d'intégration sur le domaine et le moteur réel.
Tant que l'outil d'exécution n'est pas choisi (avec le socle, fin de
l'étape 0), les scénarios se déroulent à la main : ils servent alors de guide
de test.
Tant que le domaine n'existe pas, les scénarios se déroulent à la main : ils
servent alors de guide de test.
## Format
Markdown avec Gherkin (`.feature.md`), étapes en français :
Gherkin standard (`.feature`), en français, validé par l'analyseur officiel de
Cucumber (`make test`) :
- `# Fonctionnalité : <la tâche>`, puis un court paragraphe qui explique à quoi
elle sert, pour le joueur ;
- `## Scénario : <un cas précis>` ;
- des étapes en liste : `* Étant donné …`, `* Quand …`, `* Et …`, `* Alors …`.
```gherkin
# language: fr
Fonctionnalité: <la tâche>
Règles d'écriture : la deuxième personne (« vous »), les mots du glossaire
(`docs/glossaire/`), des étapes que le joueur peut faire et vérifier lui-même,
pas de détail technique. La syntaxe exacte sera validée avec l'outil
d'exécution.
Un court paragraphe qui explique au joueur à quoi elle sert.
Scénario: <un cas précis>
Étant donné que <la situation de départ>
Quand <ce que fait le joueur>
Alors <ce qu'il constate>
Et <autre constat>
```
Règles d'écriture :
- la deuxième personne (« vous ») et les mots du glossaire (`docs/glossaire/`) ;
- des intentions, pas des gestes d'interface : « vous commencez une nouvelle
partie », pas « vous touchez le bouton Nouvelle partie ». Le même scénario
reste vrai quelle que soit l'interface, et peut piloter directement le
domaine ;
- des constats vérifiables par le joueur, sans détail technique.
## Scénarios
| Fichier | Tâche | Depuis |
| --- | --- | --- |
| [jouer-une-partie.feature.md](jouer-une-partie.feature.md) | Jouer une partie contre l'ordinateur | Étape 0d |
| [jouer-une-partie.feature](jouer-une-partie.feature) | Jouer une partie contre l'ordinateur | Étape 0d |
+45
View File
@@ -0,0 +1,45 @@
# language: fr
Fonctionnalité: Jouer une partie contre l'ordinateur
Vous jouez une partie complète contre l'ordinateur, qui s'appuie sur le
moteur GNU Backgammon. L'application tire les dés, n'accepte que les coups
permis par les règles, et l'ordinateur joue et décide du videau tout seul.
Scénario: Commencer une partie
Quand vous commencez une nouvelle partie
Alors les pions sont en position de départ
Et le premier jet de dés désigne qui commence
Scénario: Jouer un coup permis
Étant donné que c'est à vous de jouer avec le jet 3-1
Quand vous jouez 8/5 6/5
Alors votre coup est accepté
Et c'est au tour de l'ordinateur
Scénario: Un coup interdit est refusé
Étant donné que c'est à vous de jouer avec le jet 3-1
Quand vous essayez de jouer 8/4
Alors votre coup est refusé
Et la position n'a pas changé
Scénario: L'ordinateur joue
Étant donné que c'est au tour de l'ordinateur
Quand ses dés sont tirés
Alors il joue le coup recommandé par le moteur en moins de 2 secondes
Scénario: Prendre le double de l'ordinateur
Étant donné que l'ordinateur vous propose de doubler
Quand vous prenez
Alors la partie continue à valeur doublée
Et le videau est de votre côté : vous seul pourrez redoubler
Scénario: Passer le double de l'ordinateur
Étant donné que l'ordinateur vous propose de doubler
Quand vous passez
Alors la partie s'arrête
Et vous perdez la partie à sa valeur d'avant le double
Scénario: Finir la partie
Étant donné qu'un joueur a sorti tous ses pions
Alors la partie s'arrête
Et le résultat indique le gagnant et les points gagnés
@@ -1,48 +0,0 @@
# Fonctionnalité : Jouer une partie contre l'ordinateur
Vous jouez une partie complète contre l'ordinateur, qui s'appuie sur le moteur
GNU Backgammon. L'application tire les dés, vous propose uniquement des coups
permis par les règles, et l'ordinateur joue et décide du videau tout seul.
## Scénario : Commencer une partie
* Étant donné que vous avez ouvert Ustagammon
* Quand vous touchez « Nouvelle partie »
* Alors le plateau s'affiche avec les pions en position de départ
* Et le premier jet de dés désigne qui commence
## Scénario : Jouer votre coup
* Étant donné que c'est à vous de jouer et que les dés sont tirés
* Quand vous touchez un pion puis la case où vous voulez l'amener
* Alors le pion s'y déplace si ce déplacement est permis par les dés
* Et un déplacement interdit est refusé sans changer le plateau
* Quand vous avez utilisé vos dés
* Alors votre coup est validé et c'est au tour de l'ordinateur
## Scénario : L'ordinateur joue
* Étant donné que c'est au tour de l'ordinateur
* Quand ses dés sont tirés
* Alors il joue son coup en moins de 2 secondes
* Et son coup s'affiche sur le plateau
## Scénario : Prendre le double de l'ordinateur
* Étant donné que l'ordinateur vous propose de doubler
* Quand vous touchez « Prendre »
* Alors la partie continue à valeur doublée
* Et le videau passe de votre côté : vous seul pourrez redoubler
## Scénario : Passer le double de l'ordinateur
* Étant donné que l'ordinateur vous propose de doubler
* Quand vous touchez « Passer »
* Alors la partie s'arrête
* Et vous perdez la partie à sa valeur d'avant le double
## Scénario : Finir la partie
* Étant donné qu'un joueur a sorti tous ses pions
* Alors la partie s'arrête
* Et le résultat indique le gagnant et les points gagnés : simple, gammon ou backgammon, multipliés par le videau