pdf - e-book - archive - github.com

2.12  Tests unitaires

2.12.1  Prise en main

Exercice 1 Test

Mettez en place une batterie de tests unitaires pour les interfaces suivantes :

package testsUnitaires.tp;

/**
 * 
 * Spécifie un point dans le plan (on remarquera qu'un point est aussi un
 * vecteur).
 *
 */

public interface InterfacePoint
{
 public int getOrd();

 public int getAbs();

 public void setOrd(int ord);

 public void setAbs(int abs);

 /**
  * Retourne la somme des deux points.
  */

 public InterfacePoint add(InterfacePoint p);

 public boolean equals(InterfacePoint p);
}

Télécharger le fichier

Corrigé

package testsUnitaires.tp;

/**
 * Représente un object mobile dans le plan.
 */

public interface InterfaceCursor
{
 /**
  * Retourne la position de l'objet.
  */
 public InterfacePoint getPosition();

 /**
  * Retourne la direction vers laquelle l'objet est tourné.
  */
 public InterfacePoint getDirection();

 /**
  * Restaure la position à 0 et la direction à (1, 0)
  */

 /**
  * Détermine la position de l'objet.
  */
 public void setPosition(InterfacePoint position);

 /**
  * Détermine la direction vers laquelle l'objet est tourné.
  */
 public void setDirection(InterfacePoint direction);

 /**
  * Restaure la position à 0 et la direction à (1, 0)
  */
 public void reset();

 /**
  * Fait avancer le mobile d'un pas dans la direction dans laquelle il est
  * tourné.
  */
 public void stepStraigth();

 /**
  * Fait pivoter l'objet d'un quart de tour vers la gauche.
  */
 public void turnLeft();

 /**
  * Fait pivoter l'objet d'un quart de tour vers la droite.
  */
 public void turnRight();
}

Télécharger le fichier

Corrigé

Exercice 2 Implémentation

Implémentez ces deux interfaces.

Corrigé

Corrigé

2.12.2  Pour aller plus loin

Exercice 3 Echanges de tests

Échangez vos classes de test avec celles d’un autre étudiant, voire avec celles du corrigé. Est-ce que ces tests fonctionnent ?

Exercice 4 Echanges de points

Échangez vos implémentations de la classe InterfacePoint. Est-ce que les tests fonctionnent encore ? Est-ce que vos tests fonctionnent avec les implémentations du corrigé ?