Contraintes sur l'association Calendar <-> Travel non respectées
Description du besoin
Les contraintes entre Travel
et Calendar
ne sont pas respectées.
On peut actuellement:
- Associer autant de
travel
que l'on souhaite pour un mêmecalendar
. - Ajouter des
travel
null dans uncalendar
. - Avoir des instances de la classe
Travel
ayant uncalendar
null. - Changer de
calendar
pour un voyage.
Choix des tests à effectuer
Afin de satisfaire ce ticket, la classe Calendar
devra :
- Accepter la création d'instances de
Travel
avec les contraintes suivantes:- Tester que l'ensemble
travels
ne contient pas plus de 10 de voyages. (refuser l'insertion dans le cas contraire). - Tester que dans le cas d'insertions de voyages dans l'ensemble
travels
ceci ne soient pas vides.
- Tester que l'ensemble
Par ailleurs la classe Travel
devra:
- Créer une instance sans que
parent
soit null / ou lors de la modification ducalendar
depuis la méthodeSetParent
.- Tester dans le constructeur que
parent
n'est pas null - Tester dans la méthode
SetParent
queparent
n'est pas null. (Dans les deux cas il faut refuser l'insertion et renvoyer une exception)
- Tester dans le constructeur que
Solution à mettre en œuvre
Les changements concernent uniquement les classes Travel
et Calendar
:
- Pour la classe
Travel
on doit modifier le constructeur et la méthodeSetParent
:- Ils doivent refuser les arguments
null
et renvoyer uneRuntimeExpection
de typeIllegalArgumentException
.
- Ils doivent refuser les arguments
- Pour la classe
Calendar
on doit uniquement modifier la méthodeaddTravel
:- Elle doit renvoyer une une
RuntimeExpection
de typeIllegalArgumentException
lorsque la taille detravel
excède 10.
- Elle doit renvoyer une une
Issue numéro 3 dans l’énoncé