Vecteur d'entiers
Version courte
Pour chacune des classes vue en TD vous devez écrire des tests pour chacune des méthodes et ensuite vous implémenterez
ces méthodes. Vous avez un exemple de squelette pour la classe Vector
.
Objectif
L'objectif de ce TP est de mettre en place des pratiques de programmation permettant de produire un code correct et lisible. Ce premier TP est assez long à réaliser. Il est impératif de vous concentrer sur votre TP et de travailler entre les TP pour le terminer.
La démarche que vous allez suivre pour implémenter les exercices du TD est la suivante. Vous allez faire dans l'ordre les trois points suivants :
- Écriture de commentaires pour spécifier précisément le comportement des classes et méthodes
- Écriture de tests permettant de vérifier la totalité de la spécification.
- Écriture du code des méthodes de façon la plus lisible possible.
Écriture des tests
Les tests permettent de vérifier à chaque étape du développement que le code écrit est correct, c'est-à-dire, qu'il vérifie les spécifications. Les tests vont être écrits sous la forme de petites méthodes qui vérifient un des comportements attendus.
Placez vous sur la classe VectorTest
et exécutez son contenu à l'aide du double triangle
vert à coté de la classe sous InteliJ IDEA. Normalement, vous devriez voir apparaître le
résultat de l'exécution des test de la classe.
En effet, chaque méthode de ses méthodes est annotée par @Test
et donc exécuté
comme un test par JUnit
. Pour le moment, tous les tests sauf quatre sont désactivés car ils
sont précédés de l'annotation @Disabled
.
Vous allez devoir copmpléter le code des méthodes dans la classe Vector
afin que les tests
déjà écrits complétement (ceux sans commentaire // TODO
) passent. Ensuite, vous devez
compléter les tests incomplets dans VectorTest
et éventuellement corriger des problèmes dans
Vector
afin que ces tests passent. Il vous faudra enlever les annotations @Disabled
pour les lancer.
Finalement, vous devez ajouter vos propres tests afin de garantir le respect des spécifications par la classe Vector
.