star-hitran

Load line-by-line data from the HITRAN database
git clone git://git.meso-star.fr/star-hitran.git
Log | Files | Refs | README | LICENSE

commit 808eeae91df662164d92f97632f445ee586c7cc6
parent 810f5fcd31d18abf39a445b220a7cd080bf3e73f
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Tue, 15 Feb 2022 10:08:17 +0100

Test the shitran_transitions_load function

Diffstat:
Msrc/test_shitran_transitions.c | 20+++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/src/test_shitran_transitions.c b/src/test_shitran_transitions.c @@ -33,7 +33,7 @@ print_transitions CHK(fp && (!ntransitions || transitions)); FOR_EACH(i, 0, ntransitions) { - fprintf(fp, + fprintf(fp, "%2d%1d%12.6f%10.3e 0.000E-00.%04d%5.3f%10.4f%4.2f%8.6f" " 0 0 0" /* Global upper quanta */ " 0 0 0" /* Global upper quanta */ @@ -110,10 +110,7 @@ test_load(struct shitran* shitran) CHK(shitran_transitions_get(NULL, &trs_list) == RES_BAD_ARG); CHK(shitran_transitions_get(trs, NULL) == RES_BAD_ARG); CHK(shitran_transitions_get(trs, &trs_list) == RES_OK); - - FOR_EACH(i, 0, n) { - CHK(transition_eq(trs_list+i, transitions+i)); - } + FOR_EACH(i, 0, n) CHK(transition_eq(trs_list+i, transitions+i)); CHK(shitran_transitions_ref_get(NULL) == RES_BAD_ARG); CHK(shitran_transitions_ref_get(trs) == RES_OK); @@ -122,6 +119,19 @@ test_load(struct shitran* shitran) CHK(shitran_transitions_ref_put(trs) == RES_OK); CHK(fclose(fp) == 0); + + CHK(shitran_transitions_load(NULL, filename, &trs) == RES_BAD_ARG); + CHK(shitran_transitions_load(shitran, NULL, &trs) == RES_BAD_ARG); + CHK(shitran_transitions_load(shitran, filename, NULL) == RES_BAD_ARG); + CHK(shitran_transitions_load(shitran, filename, &trs) == RES_OK); + + CHK(shitran_transitions_get_count(trs, &n) == RES_OK); + CHK(n == ntransitions); + + CHK(shitran_transitions_get(trs, &trs_list) == RES_OK); + FOR_EACH(i, 0, n) CHK(transition_eq(trs_list+i, transitions+i)); + + CHK(shitran_transitions_ref_put(trs) == RES_OK); } int