No description
Find a file
2025-12-05 09:58:38 +01:00
corporate add multiple readme.md 2025-11-19 13:44:31 +01:00
fermes Ajout de quelques espaces dans fermes/animals.csv 2025-12-05 09:58:38 +01:00
readme.md Fix multiple things in readme.md 2025-11-20 12:05:50 +01:00

Tests pour le mini projet / TD4

N'ajoutez pas ces tests dans votre projet

N'utilisez pas ces tests pour le test coverage. Écrivez vos propres tests. Vous n'avez pas besoin d'aller aussi loin dans vos tests tant que vous avez 100% de test coverage. Utilisez ces tests uniquement pour vérifier que votre code ne tombe pas dans certains pièges.

L'idée est d'essayer de mettre en commun le plus de pièges possible. Parce qu'on pense que le but est d'apprendre pas de se faire piéger.

Composition

Chaque dossier contient :

  • un readme qui précise ce que vérifie chaque .alg
  • des CSV de données
  • un ou plusieurs .alg à tester
  • un dossier expected avec les .json et .csv attendus

Lancer les tests

Commencez par cloner ce repo. Vous pouvez le télécharger en zip ou utiliser :

git clone https://forgejo.liklenb.ddnsfree.com/Sama/tests_mma.git

Ouvrez un terminal à la racine de votre projet. La commande :

mvn package

doit générer un .jar dans le dossier target.

Déplacez-le .jar à la racine de ce repo à côté des dossiers corporate, fermes et du readme.md. Ouvrez un terminal dans l'un des dossiers corporate ou fermes et exécutez :

java -jar ../<nom de votre fichier.jar> <fichier>.alg

pour générer le .json.

(À l'aide, la commande retourne aucun attribut manifest principal dans <nom de vôtre fichier.jar>: vous devez installer un plugin maven pour inclure toutes les dépendances dans le .jar.)

Puis :

java -jar ../<nom de vôtre fichier.jar> <fichier>.json

pour générer le fichier output.csv.

Quel que soit le test :

  • Le JSON généré par votre code doit être dans le dossier où vous avez exécuté la commande. (Dans le dossier corporate ou fermes)
  • Le fichier JSON doit avoir le même nom que le fichier .alg.
  • Le CSV généré doit être dans un dossier results, lui-même dans le dossier où vous avez exécuté la commande.
  • Le CSV doit toujours s'appeler output.csv.

Dans le cas contraire l'automate ne trouvera pas les fichiers. Faites très attention. Ne faites pas de fautes d'orthographe.

Je n'ai pas le même JSON est-ce que c'est normal ?

Ça dépend. On n'a peut-être pas géré de la même manière la sensibilité à la casse par exemple. Si votre code ne plante pas, c'est déjà bien. C'est le CSV final qui va déterminer s'il y a une erreur.

Je n'ai pas le même CSV final est-ce que c'est normal ?

Vous DEVEZ avoir un CSV final identique, ordre des lignes des colonnes exclues. Si seul l'ordre des colonnes et des lignes diffère aucun problème.

Sinon c'est qu'il y a un problème. Faites-le vous-même à la main. Si vous avez toujours le même résultat, c'est que je me suis trompé.

Dites le vite qu'on puisse le corriger pour les autres.

Améliorations

Si vous avez l'idée d'un test qui n'est pas déjà pris en compte dans les exemples. Envoyez-le sur le groupe. On l'ajoutera pour que tout le monde puisse vérifier.