From 6d53eb686f3e85d1e4aad50d7ab06d6afd47a5e2 2017-11-22 16:47:11 From: Alexandre Leroux Date: 2017-11-22 16:47:11 Subject: [PATCH] Adds valid test cases on NaN and fill values --- diff --git a/plugins/amda/tests-resources/TestAmdaResultParser/spectro/ValidSpectrogramFillValues.txt b/plugins/amda/tests-resources/TestAmdaResultParser/spectro/ValidSpectrogramFillValues.txt new file mode 100644 index 0000000..86b6b82 --- /dev/null +++ b/plugins/amda/tests-resources/TestAmdaResultParser/spectro/ValidSpectrogramFillValues.txt @@ -0,0 +1,59 @@ +# ----------- +# AMDA INFO : +# ----------- +# AMDA_ABOUT : Created by CDPP/AMDA(c) +# AMDA_VERSION : 3.5.0 +# AMDA_ACKNOWLEDGEMENT : CDPP/AMDA Team +# +# -------------- +# REQUEST INFO : +# -------------- +# REQUEST_STRUCTURE : one-file-per-parameter-per-interval +# REQUEST_TIME_FORMAT : ISO 8601 +# REQUEST_OUTPUT_PARAMS : tha_ion_sp +# +# ----------------- +# BASE PARAMETERS : +# ----------------- +# +# MISSION_ID : NONE +# +# INSTRUMENT_ID : NONE +# +# DATASET_ID : tha-esa-l2i +# DATASET_NAME : ion full mode +# DATASET_SOURCE : CDPP/DDServer +# DATASET_GLOBAL_START : 2007-03-07T18:53:59.134 +# DATASET_GLOBAL_STOP : 2017-11-04T18:35:25.907 +# DATASET_MIN_SAMPLING : 96 +# DATASET_MAX_SAMPLING : 385 +# +# PARAMETER_ID : tha_ion_sp +# PARAMETER_NAME : tha_ion_sp +# PARAMETER_SHORT_NAME : spectra +# PARAMETER_UNITS : eV/(cm^2-s-sr-eV) +# PARAMETER_TENSOR_ORDER : 0 +# PARAMETER_TABLE[0] : energy +# PARAMETER_TABLE_UNITS[0] : eV +# PARAMETER_TABLE_MIN_VALUES[0] : 5.00000,6.50000,8.70000,11.4000 +# PARAMETER_TABLE_MAX_VALUES[0] : 6.50000,8.70000,11.4000,14.6000 +# PARAMETER_FILL_VALUE : -1. +# PARAMETER_UCD : phys.flux.density;phys.energy;phys.atmol.ionStage +# +# +# --------------- +# INTERVAL INFO : +# --------------- +# INTERVAL_START : 2012-11-06T09:13:31.000 +# INTERVAL_STOP : 2012-11-06T09:21:00.000 +# +# ------ +# DATA : +# ------ +# DATA_COLUMNS : AMDA_TIME, tha_ion_sp[0], tha_ion_sp[1], tha_ion_sp[2], tha_ion_sp[3] +# +2012-11-06T09:14:35.000 -1.000 15405.838 8946.475 -1.000 +2012-11-06T09:16:10.000 12631.465 -1.000 18133.158 -1.000 +2012-11-06T09:17:45.000 8223.368 -1.000 10875.621 -1.000 +2012-11-06T09:19:20.000 27595.301 25617.533 24051.619 -1.000 +2012-11-06T09:20:55.000 12820.613 11179.109 19283.221 -1.000 \ No newline at end of file diff --git a/plugins/amda/tests-resources/TestAmdaResultParser/spectro/ValidSpectrogramNaNValues.txt b/plugins/amda/tests-resources/TestAmdaResultParser/spectro/ValidSpectrogramNaNValues.txt new file mode 100644 index 0000000..a5178ca --- /dev/null +++ b/plugins/amda/tests-resources/TestAmdaResultParser/spectro/ValidSpectrogramNaNValues.txt @@ -0,0 +1,59 @@ +# ----------- +# AMDA INFO : +# ----------- +# AMDA_ABOUT : Created by CDPP/AMDA(c) +# AMDA_VERSION : 3.5.0 +# AMDA_ACKNOWLEDGEMENT : CDPP/AMDA Team +# +# -------------- +# REQUEST INFO : +# -------------- +# REQUEST_STRUCTURE : one-file-per-parameter-per-interval +# REQUEST_TIME_FORMAT : ISO 8601 +# REQUEST_OUTPUT_PARAMS : tha_ion_sp +# +# ----------------- +# BASE PARAMETERS : +# ----------------- +# +# MISSION_ID : NONE +# +# INSTRUMENT_ID : NONE +# +# DATASET_ID : tha-esa-l2i +# DATASET_NAME : ion full mode +# DATASET_SOURCE : CDPP/DDServer +# DATASET_GLOBAL_START : 2007-03-07T18:53:59.134 +# DATASET_GLOBAL_STOP : 2017-11-04T18:35:25.907 +# DATASET_MIN_SAMPLING : 96 +# DATASET_MAX_SAMPLING : 385 +# +# PARAMETER_ID : tha_ion_sp +# PARAMETER_NAME : tha_ion_sp +# PARAMETER_SHORT_NAME : spectra +# PARAMETER_UNITS : eV/(cm^2-s-sr-eV) +# PARAMETER_TENSOR_ORDER : 0 +# PARAMETER_TABLE[0] : energy +# PARAMETER_TABLE_UNITS[0] : eV +# PARAMETER_TABLE_MIN_VALUES[0] : 5.00000,6.50000,8.70000,11.4000 +# PARAMETER_TABLE_MAX_VALUES[0] : 6.50000,8.70000,11.4000,14.6000 +# PARAMETER_FILL_VALUE : nan +# PARAMETER_UCD : phys.flux.density;phys.energy;phys.atmol.ionStage +# +# +# --------------- +# INTERVAL INFO : +# --------------- +# INTERVAL_START : 2012-11-06T09:13:31.000 +# INTERVAL_STOP : 2012-11-06T09:21:00.000 +# +# ------ +# DATA : +# ------ +# DATA_COLUMNS : AMDA_TIME, tha_ion_sp[0], tha_ion_sp[1], tha_ion_sp[2], tha_ion_sp[3] +# +2012-11-06T09:14:35.000 nan 15405.838 8946.475 nan +2012-11-06T09:16:10.000 12631.465 nan 18133.158 nan +2012-11-06T09:17:45.000 8223.368 nan 10875.621 nan +2012-11-06T09:19:20.000 27595.301 25617.533 24051.619 nan +2012-11-06T09:20:55.000 12820.613 11179.109 19283.221 nan \ No newline at end of file diff --git a/plugins/amda/tests/TestAmdaResultParser.cpp b/plugins/amda/tests/TestAmdaResultParser.cpp index 382f802..2b77784 100644 --- a/plugins/amda/tests/TestAmdaResultParser.cpp +++ b/plugins/amda/tests/TestAmdaResultParser.cpp @@ -372,6 +372,31 @@ void TestAmdaResultParser::testReadSpectrogramTxt_data() << QStringLiteral("spectro/ValidSpectrogram3.txt") << fourBandsResult; // Bands and values are sorted + auto nan = std::numeric_limits::quiet_NaN(); + + auto nanValuesResult + = ExpectedResults{} + .setParsingOK(true) + .setXAxisUnit(Unit{"t", true}) + .setXAxisData({dateTime(2012, 11, 6, 9, 14, 35), dateTime(2012, 11, 6, 9, 16, 10), + dateTime(2012, 11, 6, 9, 17, 45), dateTime(2012, 11, 6, 9, 19, 20), + dateTime(2012, 11, 6, 9, 20, 55)}) + .setYAxisEnabled(true) + .setYAxisUnit(Unit{"eV"}) + .setYAxisData({5.75, 7.6, 10.05, 13.}) // middle of the intervals of each band + .setValuesUnit(Unit{"eV/(cm^2-s-sr-eV)"}) + .setValuesData( + QVector >{{nan, 12631.465, 8223.368, 27595.301, 12820.613}, + {15405.838, nan, nan, 25617.533, 11179.109}, + {8946.475, 18133.158, 10875.621, 24051.619, 19283.221}, + {nan, nan, nan, nan, nan}}); + + QTest::newRow("Valid file (containing NaN values)") + << QStringLiteral("spectro/ValidSpectrogramNaNValues.txt") << nanValuesResult; + QTest::newRow("Valid file (containing fill values)") + << QStringLiteral("spectro/ValidSpectrogramFillValues.txt") + << nanValuesResult; // Fill values are replaced by NaN values in the data series + } void TestAmdaResultParser::testReadSpectrogramTxt()