Bureau-du-Forestier-en-chef / FMT

Forest Management Tool a C++ library for forest planning.
https://bureau-du-forestier-en-chef.github.io/FMTdocs/
15 stars 1 forks source link

Écriture des FMToutput >256 charactères #226

Closed gcyr closed 3 months ago

gcyr commented 3 months ago

Erreur : 25, Ligne numéro(24),dans le fichier .\22_REGL_PROV_AVSP_P1_VALID_SANSSEQ.OUT SOURCE ~FMT0A_3 FORP TOUTES GSR0005 ? NAT ? INC ? ? NA NA NA ? ? NA NA ? ? NA REGAPAR _AREA 1.000000 + ~FMT0A_11 FORP 2+ GSR0014 ? NAT ? INC ? ? NA NA NA ? ? NA NA ? ? NA REGAREG _AREA * 2.000000 + ~FMT0A_11 FORP 2+ GSR0013 ? NAT ? INC ? ? NA NA NA ?

Dans la méthode FMToutput::operator std::string() on ne doit jamais dépasser 256 charactères par ligne dans la partie SOURCE de l'output. Chaque ligne doit être sous la forme mask facteur + pour s'assurer du bon fonctionnement du parser. Ne pas oublier de passer l'ensemble des tests avant le merge . Voir les tests testmodelwriter.cpp

martel21324 commented 3 months ago

On a créer une fonctiopn splitSource qui sépare la source selon les opérateur + et - et vérifier si la longeur est au dela de 256 caractères par section entre les \n. Nous l'avons créer en dehors de fmt afin de réussir a créer nos test. Reste a implémenter la fonction après confirmation et créer le test dans fmt

martel21324 commented 3 months ago

La fonction qui compte le nombre de caractères par ligne a lever des erreurs dans les tests existant lorsque la ligne comportait beaucoup de nombre semblable a 140000.0000000. Nous avons donc créer une nouvelle fonction dans FMTouputsource qui trim les 0 après la virgule et qui arrête lorsqu'il tombe sur un autre nombre ou le point. static std::string FMToutputsource::trimDouble(const std::string& string_number)