TP de Synthèse - Mastermind
<note important>Attention à bien lire (et respecter) toutes les consignes rappelées dans cette page !</note>
Récapitulatif des documents à rendre
Date limite : vendredi 20 décembre - 18h00
Modalités de rendu : un mail bien formé par groupe (bien formé = sujet, contenu clair et sans fautes d'orthographe, signé de tous les membres du groupe). Le message doit contenir UNE pièce jointe au format .zip (où gz) contenant l'ensemble des documents à fournir (cf. ci-dessous).
Documents à fournir :
- Le rapport dont le plan a été fourni en cours, avec, entre autres :
- Le tableau d'estimation des coûts, mis à jour.
- Un exemple commenté d'implémentation de test unitaire
- La javadoc du projet
- Le code source du projet
- Un README
Exigences quant au formatage du code
- Les accolades des classes sont sur la ligne suivante.
- Les accolades des méthodes sont sur la ligne suivante, avec une demi-indentation.
- Les “else” passent systématiquement à la ligne.
- Indentation de 4 caractères.
- Dans les commentaires, les descriptions de paramètres sont alignées.
Exigences quant à la javadoc
- La javadoc doit être livrée en HTML, dans son format classique.
- Au moins une classe de votre programme doit être entièrement documentée.
Exigences quant aux tests unitaires
- Vous devez obligatoirement implémenter au moins un test unitaire, et décrire ce test dans le rapport.
Idées de tests unitaires issues de vos brainstormings
- Une couleur dans la combinaison à trouver n’existe pas
- L’ordi trouve la combinaison (algo fonctionne)
- On ne trouve pas en 10 coups la solution alors qu’on est pas limité (interface graphique ne plante pas)
- On passe au tour suivant sans avoir entré toutes les couleurs
- On recommence une partie en plein jeu (remise à zéro des compteurs et de la grille)
- Rentrer une combinaison vide
- Mettre n fois la même couleur dans une combinaison de n
- Rentrer une combinaison de taille n au lieu d'une combinaison de taille m avec n>m
- Test de couleur : Marron ⇒ erreur, ROUGE ⇒ rouge, ou toute autre saisie est rendue invalide si la couleur n’y est pas
- Test des paramètres : Nb de test, Nb de position, Erreur de choix ⇒ se comporte bien en fonction des choix utilisateurs
- Proposition Invalide : vérifier que si l’algo retourne un mauvais type, ou longueur ou autre, la validation s’arrête
- Vérifier que la fonction incrément respecte l'ordre lexicographique
- L’utilisateur ne rentre rien.
- Vérification de la saisie (majuscules et caractères spéciaux).
- Il y a plusieurs fois la même couleur que ce soit dans la solution ou dans la réponse.
- Si une couleur est bien placée, ne plus pouvoir réutiliser cette couleur.
- Dans notre programme on demande a l'utilisateur de rentrer des nombres entre 0 et 8 correspondant à une des huit couleurs disponibles.
- saisir des valeurs négatives
- saisir des caractères
- saisir trop de valeurs (plus de 4)
- saisir pas assez de valeurs (moins de 4)
- saisir une couleur qui n'existe pas (9)