Révision 291
Ajouté par ahkurklu il y a presque 4 ans
main.c | ||
---|---|---|
if (resultat == 1){
|
||
printf("La position de la trame est Latitude : %f Longitude : %f\n\n",p.latitude,p.longitude);
|
||
}
|
||
}
|
||
|
||
|
||
float calcule_distance(Position p_1, Position p_2){
|
||
|
||
float distance;
|
||
float rad = M_PI/180;
|
||
distance = 6378445*acos(sin(p_1.latitude*rad)*sin(p_2.latitude*rad)+cos(p_1.latitude*rad)*cos(p_2.latitude*rad)*cos(p_1.longitude*rad - p_2.longitude*rad));
|
||
return distance;
|
||
}
|
||
|
||
void tests_unitaires_distance(void){
|
||
Position p1 ={45.7833,3.0833};
|
||
Position p2 = {48.8534,2.3488};
|
||
int distance = (int)calcule_distance(p1,p2); // cast dans int car erreur avec float malgr? que les valeur sont identique
|
||
if(distance != 346239){
|
||
printf("Erreur test unitaire distance\n");
|
||
exit(-1);
|
||
}
|
||
|
||
p2.latitude = 44.8333;
|
||
p2.longitude = -0.5667;
|
||
distance = (int)calcule_distance(p1,p2);
|
||
if(distance != 304678){
|
||
printf("Erreur test unitaire distance\n");
|
||
exit(-1);
|
||
}
|
||
|
||
}
|
||
|
||
//Ajouter vos tests unitaires dans cette fonction.
|
||
... | ... | |
test_unitaire_conversion_lat_float();
|
||
test_unitaire_conversion_long_float();
|
||
test_unitaire_conversion_long_lat_float();
|
||
tests_unitaires_decode_tram();
|
||
tests_unitaires_decode_tram();
|
||
tests_unitaires_distance();
|
||
}
|
||
|
||
|
Formats disponibles : Unified diff
Ajout fonction calcule_distance et test unitaire