summaryrefslogtreecommitdiff
path: root/sem_5/HLIN505_Java/HLIN505/src/visites/toTest
diff options
context:
space:
mode:
Diffstat (limited to 'sem_5/HLIN505_Java/HLIN505/src/visites/toTest')
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Etape.java57
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/visites/toTest/NatureEtape.java8
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Parcours.java65
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestEtqpe.java16
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestParcours.java17
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestTroncon.java16
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Troncon.java69
7 files changed, 248 insertions, 0 deletions
diff --git a/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Etape.java b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Etape.java
new file mode 100644
index 0000000..6cc127c
--- /dev/null
+++ b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Etape.java
@@ -0,0 +1,57 @@
+package visites.toTest;
+
+public class Etape {
+ private int dureeVisite;
+ private NatureEtape type;
+ private String nom;
+ private String rue;
+
+ public Etape(String nom, String rue, int dureeVisite, NatureEtape type) {
+ this.nom=nom;
+ this.dureeVisite = dureeVisite;
+ this.type = type;
+ }
+
+ public NatureEtape getType() {
+ return type;
+ }
+
+ public void setType(NatureEtape type) {
+ this.type = type;
+ }
+
+ public String getNom() {
+ return nom;
+ }
+
+ public void setNom(String nom) {
+ this.nom = nom;
+ }
+
+ public int getDureeVisite() {
+ return dureeVisite;
+ }
+
+ public void setDureeVisite(int dureeVisite) {
+ this.dureeVisite = dureeVisite;
+ }
+
+ public String getRue() {
+ return rue;
+ }
+/**
+ * vérifie que l'étape est correcte, c'est à dire que la durée de visite n'est nulle que s'il s'agit d'un lieu d'intérêt sans visite.
+ * @return vrai ssi duree de visite nulle <=> lieu d'intérêt sans visite
+ */
+ public boolean estCorrecte(){
+ if ( dureeVisite == 0 ) {
+ if (type==NatureEtape.lieuInteretSansVisite) {
+ return true;
+ }
+ else {
+ return false;
+ }
+ }
+ return type!=NatureEtape.lieuInteretSansVisite;
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/NatureEtape.java b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/NatureEtape.java
new file mode 100644
index 0000000..807dff6
--- /dev/null
+++ b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/NatureEtape.java
@@ -0,0 +1,8 @@
+package visites.toTest;
+
+public enum NatureEtape {
+musee,
+visiteMonument,
+visiteJardin,
+lieuInteretSansVisite;
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Parcours.java b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Parcours.java
new file mode 100644
index 0000000..ccc0db9
--- /dev/null
+++ b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Parcours.java
@@ -0,0 +1,65 @@
+package visites.toTest;
+import java.util.Vector;
+
+
+public class Parcours {
+ private Vector<Troncon> troncons=new Vector<Troncon>();
+
+ public void ajoutTroncon(Troncon t){
+ boolean ajout=true;
+
+ if (!troncons.isEmpty()){
+ Troncon dernierTroncon = troncons.lastElement();
+ if (dernierTroncon.getArrivee()!=t.getDepart()){
+ System.out.println("erreur");
+ ajout=false;
+ }
+ }
+ if (ajout){
+ troncons.add(t);
+ }
+ }
+/***
+ * Calcul de la durée du parcours
+ * @return somme des temps de trajet des tronçons et des visites des étapes
+ */
+ public int calculDuree(){
+ int resultat=0;
+ for (Troncon t:troncons){
+ resultat+=t.getTempsTrajet();
+ resultat+=t.getDepart().getDureeVisite();
+ }
+ return resultat;
+ }
+
+ /**
+ * méthode permettant de déterminer s'il y a des boucles dans le circuit, autre que début/arrivée si le parcours est un circuit.
+ * On considère qu'il y a une boucle dès qu'il y a à l'intérieur du parcours deux passages par la même étape.
+ * @return retourne vrai ssi il y a au moins une boucle dans le parcours, autre que début/arrivée
+ */
+ public boolean existeBoucle(){
+ Vector<Etape> etapes=new Vector<Etape>();
+ for (Troncon t:troncons){
+ etapes.add(t.getDepart());
+ etapes.add(t.getArrivee());
+ }
+ int posEtape=0;
+ for (Etape etape:etapes){
+ for (int i=posEtape+1;i<etapes.size();i++){
+ // on regarde de posEtape+1 à la fin de etapes s'il y a une étape égale à etape
+ if (etapes.get(i).equals(etape)){
+ return false;
+ }
+ }
+ posEtape++;
+ }
+ return true;
+ }
+/**
+ * permet de déterminer si le parcours est un circuit (termine au point de départ)
+ * @return vrai ssi le départ et l'arrivée sont indentiques.
+ */
+ public boolean estUnCircuit(){
+ return troncons.firstElement().getDepart().equals(troncons.lastElement().getArrivee());
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestEtqpe.java b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestEtqpe.java
new file mode 100644
index 0000000..19820bc
--- /dev/null
+++ b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestEtqpe.java
@@ -0,0 +1,16 @@
+package visites.toTest;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class TestEtqpe {
+ Etape e;
+
+ @Test
+ public void test() {
+ e = new Etape("Mont Saint Michel","Faubourg St Honoré",180,NatureEtape.visiteMonument);
+ assertTrue(e.estCorrecte());
+ }
+
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestParcours.java b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestParcours.java
new file mode 100644
index 0000000..281830d
--- /dev/null
+++ b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestParcours.java
@@ -0,0 +1,17 @@
+package visites.toTest;
+
+import static org.junit.Assert.*;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+public class TestParcours {
+ Parcours parcours;
+
+ @Test
+ public void test() {
+
+ }
+
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestTroncon.java b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestTroncon.java
new file mode 100644
index 0000000..6fecbd6
--- /dev/null
+++ b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestTroncon.java
@@ -0,0 +1,16 @@
+package visites.toTest;
+
+import static org.junit.Assert.*;
+
+import java.util.Vector;
+
+import org.junit.Test;
+
+public class TestTroncon {
+ Troncon t;
+ @Test
+ public void test() {
+ t= new Troncon(Etape depart, Etape arrivee, int tempsTrajet, Vector<String> rues)
+ }
+
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Troncon.java b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Troncon.java
new file mode 100644
index 0000000..460b833
--- /dev/null
+++ b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Troncon.java
@@ -0,0 +1,69 @@
+package visites.toTest;
+
+import java.util.Vector;
+
+
+public class Troncon {
+ private Etape depart;
+ private Etape arrivee;
+ private int tempsTrajet;
+ private Vector<String> rues;
+
+ public Troncon(Etape depart, Etape arrivee, int tempsTrajet, Vector<String> rues) {
+ this.depart = depart;
+ this.arrivee = arrivee;
+ this.tempsTrajet = tempsTrajet;
+ this.rues=rues;
+ }
+ public Troncon(Etape depart, Etape arrivee, int tempsTrajet) {
+ this.depart = depart;
+ this.arrivee = arrivee;
+ this.tempsTrajet = tempsTrajet; // rues non initialisé
+ }
+
+ public int getTempsTrajet() {
+ return tempsTrajet;
+ }
+ public void setTempsTrajet(int tempsTrajet) {
+ this.tempsTrajet = tempsTrajet;
+ }
+ public Etape getDepart() {
+ return depart;
+ }
+ public void setDepart(Etape depart) {
+ this.depart = depart;
+ }
+ public Etape getArrivee() {
+ return arrivee;
+ }
+ public void setArrivee(Etape arrivee) {
+ this.arrivee = arrivee;
+ }
+
+ /***
+ * vérifie que la première rue de rues est la rue de départ, et la dernière celle d'arrivée
+ * @return vrai ssi la première rue de rues est la rue de départ, et la dernière celle d'arrivée
+ */
+ public boolean verif(){
+ boolean result;
+ result=depart.getRue()==rues.firstElement();
+ result=result&&arrivee.getRue()==rues.lastElement();
+ return result;
+ }
+
+ /**
+ * vérifie que les noms des rues sont 2 à 2 différentes
+ * @return vrai ssi les noms de rues sont 2 à 2 différentes
+ */
+ public boolean verifListeRues(){
+ for (String r1:rues){
+ for (String r2:rues){
+ if (r1.equals(r2)){
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+}