Issue #4 : Tests -> Association Bidirectionelle : Correspondance <-> Travel
- Implémentation de la classe
CorrespondenceTest
J'ai créé plusieurs Tests qui sont les suivants :
- on veut que la ville de départ soit différente de celle d'arrivée lors d'une correspondence dans un voyage.
- whenStartCityIsDifferentOfArrivalCity(){} : assertTrue(); renvoie TRUE (cas qui doit se réaliser, qui est acceptable)
- whenStartCityIsEqualOfArrivalCity(){} : assertFalse(); renvoie TRUE (cas qui ne doit pas arriver)
- on veut que la date de départ d'une correspondence soit inférieure à la date d'arrivée.
- whenStartTimeIsBeforeArrivalTime(){} : assertTrue(); renvoie TRUE (cas qui doit se réaliser, qui est acceptable)
- whenArrivalTimeIsBeforeStartTime(){} : assertFalse(); renvoie TRUE (cas qui ne doit pas arriver)
-
whenStartTimeIsEqualToArrivalTime(){} : assertFalse(); renvoie TRUE (cas qui ne doit pas arriver)
- on doit s'assurer que quand on ajoute une correspondence à un voyage (
Travel
) celui-ci soit bien ajouté. -
checkAssociationConstructor(){} : on veut s'assurer qu'au moment de la construction de l'objet
Correspondence
leTravel
passé en paramètre contienne bien cette corespondance.
- Modification de la classe
Correspondance
J'ai modifié les méthodes :
-
setStartTime(LocalDateTime st){} et setArrivalTime(LocalDateTime at){} en y ajoutant une
throw new IllegalArgumentException();
. Pour empêcher que la date de départ soit supérieur à la date d'arrivée et inversement. -
setStartCity(){} et setDestinationCity(){} en y ajoutant également une
throw new IllegalArgumentException();
Pour empêcher que la ville de départ ne soit la même que celle d'arrivée.
Pour la classe
Test
etTravelTest
je ne vais créer et implémenter que les méthodes liées à la classeCorrespondance
par l'association bidirectionelle
- Modification de la classe
Travel
- J'ai modifié la classe
Travel
en rajoutant un attribut au constructeur. On veut qu'au moment de la construction de l'objetTravel
, ce dernier doit avoir au moins un correspondance.
- Implémentation de la classe
TravelTest
- J'ai déclaré un nouvel attribut private Correspondence 'corres'. Ce qui entraîne une modification de la classe
Calendar
etCalendarTest
Je veux faire mes tests sur cet attribut. Ces test ont pour but de vérifierle bon fonctionnement de la méthodeaddCorrespondence(Correspondence steps)
de la classeTravel
: - checkAddCorrespondence(){} : on veut s'assurer que l'ajout d'une correspondance s'effectue bien. C'est-à-dire que la correspondance ajouté se trouve bien à la fin de la liste de Correspondance du Voyage.
- checkNoCorrespondenceDuplication(){} : on ne veut pas deux fois la même correspondance dans un même voyage.
- StartTimeOfIOneCorrespondenceIsAfterArrivalTimeOfPreviousCorrespondence(){} : On veut s'assurer que l'heure d'arriver d'une correspondance soit inférieure à celle de départ de la prochaine correspondance.
- StartCityOfOneCorrespondenceIsTheSameAsArrivalCityOfPreviousCorrespondence()(){} ; On veut s'assurer que la ville d'arriver d'une correspondence est bien la ville de départ de la suivante.