# Prompts ## Prompt 1: Créer une classe Calculatrice Crée un fichier python contenant une classe Calculatrice. Cette classe doit encapsuler une valeur sur laquelle on pourra faire des opérations. ## Prompt 2: Simplifier la classe Calculatrice Supprime le constructeur et toutes les méthodes de la classe Calculatrice. Garde juste une classe vide. ## Prompt 3: Règles de travail TDD À partir de maintenant, tu ne dois ajouter des méthodes que sur demande explicite. Aucune méthode ne doit être ajoutée tant que la fonction de test correspondante (dont le nom est préfixé par "test_") n'a pas été créée avant, autrement que par toi. Avant d'écrire une méthode, tu dois rédiger une docstring et me la proposer pour validation. Tu ne dois ensuite pas valider un code tant que toutes les méthodes de test ne s'exécutent pas. ## Prompt 4: Ajouter un constructeur à Calculatrice Ajoute un constructeur prenant en paramètre la valeur initiale encapsulée dans la calculatrice. ## Prompt 5: Règle de typage Rajoute comme règle au fichier AGENTS.md que les fonctions doivent toujours être typées (paramètres et valeur de retour), et applique-le au code actuel. ## Prompt 6: Valeur privée et méthode get_valeur Modifie la classe Calculatrice pour que la valeur encapsulée soit privée et rajoute une méthode get_valeur afin de pouvoir la récupérer. Rajoute également comme règle au fichier AGENTS.md qu'il ne faut pas faire de commit si les tests ne passent pas. ## Prompt 7: Correction variable privée Les variables privées doivent être précédées de 2 tirets de soulignement et non 1 seul. Corrige le problème. ## Prompt 8: Méthode addition Ajoute une méthode addition permettant d'ajouter une valeur. ## Prompt 9: Méthodes soustraction, multiplication et division Ajoute les méthodes soustraction, multiplication et division en procédant de la même façon. ## Prompt 10: Gestion de l'historique Rajoute une gestion de l'historique : l'initialisation ainsi que chacune des opérations effectuées ensuite doivent être stockées dans une liste dont on peut récupérer la valeur grâce à une méthode "get_historique". ## Prompt 11: Méthode get_expression Ajoute une méthode get_expression permettant de convertir l'historique en une chaîne évaluable directement par Python. Par exemple, l'historique ["Initialisation: 2", "Addition de 5", "Multiplication par 3"] doit être converti en "(2 + 5) * 3". ## Prompt 12: Séparation des fichiers de test Le fichier de test est trop gros. Sépare-le en plusieurs fichiers : 1 par méthode testée. ## Prompt 13: Simplification des conditions booléennes Une expression de test après un "if" ne devrait pas contenir plusieurs opérateurs booléens. Corrige cela, sans pour autant créer des tests imbriqués.