TP de Synthèse - Mastermind

<note important>Attention à bien lire (et respecter) toutes les consignes rappelées dans cette page !</note>

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
  • 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.
  • 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.
  • 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)