Cours
Vous pouvez récupérer le support de cours ici.
Démarrage
Récupérez le fichier ./tp_junit.zip qui contient les 2 fichiers sources. Créez un projet sous Eclipse. Ajoutez le fichier Queue.java
Créez un nouveau dossier source (clic droit puis New > Source folder) nommé test
. Effectuez ensuite un clic droit sur Queue
puis New > Junit Test Case. Choisissez votre répertoire test
comme répertoire source. Vous voilà normalement prêt à faire du TDD.
QueueTest
en utilisant le QueueTest
fourni dans l'archive zip.
Partie 1 : FIFO
Cette partie concerne la définition d'une structure First In, First Out (FIFO) : une file.
Passer les tests
Lancer les tests avec Eclipse.
En vous aidant des méthodes proposées par la classe LinkedList<E>
, écrivez votre Queue<E>
.
Les besoins changent
Les besoins ont changé, il faudrait rajouter quelques méthodes:
public int size()
Qui renverra la taille de la liste.
public E front()
Qui renvoie le prochain élément de la file sans le retirer.
Développer la classe en suivant un processus de TDD :
- Ecrivez les méthodes vides
- Ecrivez les tests correspondants
- Les tests vont échouer
- Modifiez le code pour faire passer les tests
Partie 2 : LIFO
Il se trouve que le chef de projet a exprimé le besoin d'une pile (ou stack). Une pile est une structure First In, Last Out (FILO ou LIFO). Comme une pile d'assiettes par exemple, le dernier rentré est le premier à ressortir.
Définir les besoins et les tests
Créez la classe Stack
vide ainsi que les méthodes vides dont vous avez besoin.
Réfléchissez à vos besoins et écrivez les tests (indice: ils devraient être assez similaires à ceux de la partie 1).
Ecrire le code
Ecrivez le code permettant d'implémenter la pile (indice, lui aussi devrait être proche du code de Queue
).
Partie 3 (Bonus)
Cette partie bonus n'est pas à rendre, vous pouvez la faire si vous avez fini le TP en avance ou si vous voulez mettre à l'épreuve vos talents.
Il s'agit de refaire la partie 1 sans utiliser les classes Java (LinkedList
, ArrayList
, Vector
, …) ni de tableaux. En fait, il faut définir une liste chaînée manuellement. Chaque élément possède une référence vers l'élément suivant (notion de chaîne).
Partie 4 (Super-bonus)
Cette partie super-bonus n'est pas à rendre et correspond au tutoriel officiel de JUnit.
Il s'agit de faire les exercices du fichier suivant : TPJUnit.pdf
Rendu du travail
A la fin de la séance, envoyez les archives .zip correspondant à votre travail achevé à Gauthier Picard.