-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTestQualiteAirPoint.cpp
146 lines (122 loc) · 6.02 KB
/
TestQualiteAirPoint.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#include <iostream>
#include "../Model.h"
/* Nous fixons une limite de 43 à 48.6 en latitude et de -2 à 6.3 en longitude */
void test0(); //Test qualité air point: Point normal
void test1(); //Test qualité air point: Point inexistant
void test2(); //Test qualité air Point: Date erronée: pas de valeurs entre début et fin
void test3(); //Test qualité air Point: Date erronée: date de debut pas atteint
void test4(); //Test qualité air Point: Date erronée: date fin avant date début
void test5(); //Test qualité air point: Date début et fin très éloignée
void test6(); //Test qualité air Point: Point sur un capteur
void test7(); //Test qualité air Point: Point sur la limite minimale
void test8(); //Test qualité air Point: Point sur la limite maximale
void testPerformance();
int droits=0;
int main(){
test0(); //ok
test1(); //ok
test2(); //ok
test3(); //ok
test4(); //ok
test5(); //ok
test6(); //ok
test7(); //ok
test8(); //ok
testPerformance(); //ok
}
void test0(){ //Point normal
cout<<"\n==================================\nTest 0 : Point normal"<<endl;
cout<<"Resultat attendu: Qualite air en ce point: 7"<<endl;
genererListeCapteurs("Data/DataSetTest-QualiteAirPoint/sensorTest0.csv");
genererListeMesures("Data/DataSetTest-QualiteAirPoint/measureTest0.csv");
cout<<"Resultat:";
QualiteAirPoint(45,5, "2020-01-01 12:00:00", "2021-02-20 12:00:00");
destructionListes();
}
void test1(){ //Point inexistant
cout<<"\n==================================\nTest 1 : Point inexistant (dehors de la limite)"<<endl;
cout<<"Resultat attendu: Ce point n'appartient pas a la zone de mesure"<<endl;
genererListeCapteurs("Data/DataSetTest-QualiteAirPoint/sensorTest0.csv");
genererListeMesures("Data/DataSetTest-QualiteAirPoint/measureTest0.csv");
cout<<"Resultat:";
QualiteAirPoint(49,8, "2019-01-01 12:00:00", "2021-02-20 12:00:00");
destructionListes();
}
void test2(){ //Pas de valeurs entre date début et date fin
cout<<"\n==================================\nTest 2 : Pas de mesures entre date debut et date fin"<<endl;
cout<<"Resultat attendu: Pas de mesures entre ces deux dates"<<endl;
genererListeCapteurs("Data/DataSetTest-QualiteAirPoint/sensorTest0.csv");
genererListeMesures("Data/DataSetTest-QualiteAirPoint/measureTest0.csv");
cout<<"Resultat:";
QualiteAirPoint(45,5, "2021-01-01 12:00:00", "2021-02-20 12:00:00");
destructionListes();
}
void test3(){ //Date debut pas encore atteint
cout<<"\n==================================\nTest 3 : Date debut pas encore atteint"<<endl;
genererListeCapteurs("Data/DataSetTest-QualiteAirPoint/sensorTest0.csv");
cout<<"Resultat attendu: Erreur, date de debut non atteint"<<endl;
genererListeMesures("Data/DataSetTest-QualiteAirPoint/measureTest0.csv");
cout<<"Resultat:";
QualiteAirPoint(45,5, "2021-01-01 12:00:00", "2022-02-20 12:00:00");
destructionListes();
}
void test4(){ //Date fin avant date début
cout<<"\n==================================\nTest 4 : Date fin avant date debut"<<endl;
cout<<"Resultat attendu: Erreur, date fin avant date debut"<<endl;
genererListeCapteurs("Data/DataSetTest-QualiteAirPoint/sensorTest0.csv");
genererListeMesures("Data/DataSetTest-QualiteAirPoint/measureTest0.csv");
cout<<"Resultat:";
QualiteAirPoint(45,5, "2020-01-01 12:00:00", "2019-02-20 12:00:00");
destructionListes();
}
void test5(){ //Dates debut fin éloignées
cout<<"\n==================================\nTest 5 : Date debut et fin tres eloignees"<<endl;
cout<<"Resultat attendu: Qualite air en ce point: 7"<<endl;
genererListeCapteurs("Data/DataSetTest-QualiteAirPoint/sensorTest0.csv");
genererListeMesures("Data/DataSetTest-QualiteAirPoint/measureTest0.csv");
cout<<"Resultat:";
QualiteAirPoint(45,5, "2018-01-01 12:00:00", "2021-02-20 12:00:00");
destructionListes();
}
void test6(){ //Point sur un capteur
cout<<"\n==================================\nTest 6 : Point sur un capteur"<<endl;
cout<<"Resultat attendu: Qualite air en ce point: 3"<<endl;
genererListeCapteurs("Data/DataSetTest-QualiteAirPoint/sensorTest1.csv");
genererListeMesures("Data/DataSetTest-QualiteAirPoint/measureTest1.csv");
cout<<"Resultat:";
QualiteAirPoint(45,5.4, "2019-01-01 12:00:00", "2021-02-20 12:00:00");
destructionListes();
}
void test7(){ //Point sur la limite minimale
cout<<"\n==================================\nTest 7 : Point sur la limite minimale"<<endl;
cout<<"Resultat attendu: Qualite air en ce point: 5"<<endl;
genererListeCapteurs("Data/DataSetTest-QualiteAirPoint/sensorTest2.csv");
genererListeMesures("Data/DataSetTest-QualiteAirPoint/measureTest2.csv");
cout<<"Resultat:";
QualiteAirPoint(43,-2, "2018-01-01 12:00:00", "2021-02-20 12:00:00");
destructionListes();
}
void test8(){ //Point sur la limite maximale
cout<<"\n==================================\nTest 8 : Point sur la limite maximale"<<endl;
cout<<"Resultat attendu: Qualite air en ce point: 4"<<endl;
genererListeCapteurs("Data/DataSetTest-QualiteAirPoint/sensorTest2.csv");
genererListeMesures("Data/DataSetTest-QualiteAirPoint/measureTest2.csv");
cout<<"Resultat:";
QualiteAirPoint(48.6,6.3, "2018-01-01 12:00:00", "2021-02-20 12:00:00");
destructionListes();
}
void testPerformance(){
cout << "\n==================================\nTest de performance : temps d'execution" << endl;
cout << "Resultat attendu:\nTemps pour le chargement des donnees < 3sec\nTemps d'execution de l'algorithme < 1sec" << endl;
clock_t start,mid,end;
start=clock();
genererListeCapteurs("Data/sensors.csv");
genererListeMesures("Data/measurements.csv");
mid=clock();
QualiteAirPoint(45,5, "2019-01-01 12:00:00","2020-12-31 12:00:00");
end=clock();
cout << "Resultat:" << endl;
cout<< "Temps de chargement des donnees: "<<float(mid-start)/CLOCKS_PER_SEC<<"s"<<endl;
cout<< "Temps d'execution de l'algorithme: "<< float(end-start)/CLOCKS_PER_SEC<<"s"<<endl;
destructionListes();
}