Modifications de code pour les tests unitaires écrits
pendant le cours sur les tests
Nous donnons ici la liste des modifications effectuées sur le
projet MediaGraph pour écrire les tests présentés
dans le cours sur les tests. Cette liste récapitulative ne précise pas
le raisonnement amenant ces changements ; pour cela, référez-vous
au cours.
Nous attirons l'attention sur l'importance de lire (par exemple en
travail personnel) et de comprendre la liste des modifications qui
suit. C'est un excellent exercice de révision de beaucoup de concepts
orientés objet : interface, classe abstraite, exception,
constructeur, etc.
-
Dans le paquetage util, une nouvelle
interface HasInvariant et une nouvelle
exception InvariantBroken.
-
Dans le paquetage mediatheque :
-
dans la classe FicheEmprunt :
-
ajout de l'importation de l'exception InvariantBroken,
-
dans le constructeur, ajout des blocs try et catch
autour de l'appel à la méthode emprunter() sur le document,
-
ajout de l'exception InvariantBroken dans le prototype de
restituer,
-
dans la classe Mediatheque :
-
ajout de l'importation de l'exception InvariantBroken,
-
ajout des blocs try et catch pour attraper les
exceptions de type InvariantBroken et les traduire en une
exception métier OperationImpossible en précisant la raison
(« Invariant Document non respecté »),
-
Dans le paquetage document :
-
dans la classe Document :
-
ajout des importations des exception et interface ;
-
déclaration de l'implantation de l'interface HasInvariant,
qui demande l'ajout de la méthode invariant définissant les
instructions pour la vérification des invariants ;
-
dans les méthodes qui changent l'état de l'instance
(metEmpruntable, metConsultable, emprunter
et restituer), ajout des appels à la
méthode invariant et levée d'une exception lorsque
l'invariant n'est pas respecté ;
-
mise à jour de la méthode toString pour afficher
« SAFE » ou « UNSAFE » selon
que l'invariant est vrai ou faux ;
-
dans les classes Audio, Livre
et Video :
-
ajout de l'importation de l'exception InvariantBroken,
-
mise à jour du prototype de la méthode emprunter pour lever
l'exception InvariantBroken,
-
dans la classe Video :
-
redéfinition de la méthode invariant pour s'assurer que la
durée d'un film doit toujours être positive,
-
mise à jour du commentaire du constructeur.
$Id: unitaires_cours.html 1541 2016-01-05 08:07:10Z conan $