Projet

Général

Profil

« Précédent | Suivant » 

Révision 291

Ajouté par ahkurklu il y a presque 4 ans

Ajout fonction calcule_distance et test unitaire

Voir les différences:

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