diff --git a/plugins/amda/tests-resources/TestAmdaResultParser/spectro/ValidSpectrogram1.txt b/plugins/amda/tests-resources/TestAmdaResultParser/spectro/ValidSpectrogram1.txt new file mode 100644 index 0000000..53737ce --- /dev/null +++ b/plugins/amda/tests-resources/TestAmdaResultParser/spectro/ValidSpectrogram1.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 +# PARAMETER_TABLE_MAX_VALUES[0] : 6.50000,8.70000,11.4000 +# 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] +# +2012-11-06T09:14:35.000 16313.780 15405.838 8946.475 +2012-11-06T09:16:10.000 12631.465 11957.925 18133.158 +2012-11-06T09:17:45.000 8223.368 15026.249 10875.621 +2012-11-06T09:19:20.000 27595.301 25617.533 24051.619 +2012-11-06T09:20:55.000 12820.613 11179.109 19283.221 \ No newline at end of file diff --git a/plugins/amda/tests-resources/TestAmdaResultParser/spectro/ValidSpectrogram2.txt b/plugins/amda/tests-resources/TestAmdaResultParser/spectro/ValidSpectrogram2.txt new file mode 100644 index 0000000..609650f --- /dev/null +++ b/plugins/amda/tests-resources/TestAmdaResultParser/spectro/ValidSpectrogram2.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 16313.780 15405.838 8946.475 20907.664 +2012-11-06T09:16:10.000 12631.465 11957.925 18133.158 32076.725 +2012-11-06T09:17:45.000 8223.368 15026.249 10875.621 13008.381 +2012-11-06T09:19:20.000 27595.301 25617.533 24051.619 13142.759 +2012-11-06T09:20:55.000 12820.613 11179.109 19283.221 23226.998 \ No newline at end of file diff --git a/plugins/amda/tests-resources/TestAmdaResultParser/spectro/ValidSpectrogram3.txt b/plugins/amda/tests-resources/TestAmdaResultParser/spectro/ValidSpectrogram3.txt new file mode 100644 index 0000000..d726d7e --- /dev/null +++ b/plugins/amda/tests-resources/TestAmdaResultParser/spectro/ValidSpectrogram3.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] : 8.70000,6.50000,11.4000,5.00000 +# PARAMETER_TABLE_MAX_VALUES[0] : 11.4000,8.70000,14.6000,6.50000 +# 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 8946.475 15405.838 20907.664 16313.780 +2012-11-06T09:16:10.000 18133.158 11957.925 32076.725 12631.465 +2012-11-06T09:17:45.000 10875.621 15026.249 13008.381 8223.368 +2012-11-06T09:19:20.000 24051.619 25617.533 13142.759 27595.301 +2012-11-06T09:20:55.000 19283.221 11179.109 23226.998 12820.613 \ No newline at end of file diff --git a/plugins/amda/tests/TestAmdaResultParser.cpp b/plugins/amda/tests/TestAmdaResultParser.cpp index a86a691..382f802 100644 --- a/plugins/amda/tests/TestAmdaResultParser.cpp +++ b/plugins/amda/tests/TestAmdaResultParser.cpp @@ -331,6 +331,47 @@ void TestAmdaResultParser::testReadSpectrogramTxt_data() // Test cases // // ////////// // + // Valid files + QTest::newRow("Valid file (three bands)") + << QStringLiteral("spectro/ValidSpectrogram1.txt") + << 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}) // middle of the intervals of each band + .setValuesUnit(Unit{"eV/(cm^2-s-sr-eV)"}) + .setValuesData(QVector >{ + {16313.780, 12631.465, 8223.368, 27595.301, 12820.613}, + {15405.838, 11957.925, 15026.249, 25617.533, 11179.109}, + {8946.475, 18133.158, 10875.621, 24051.619, 19283.221}}); + + auto fourBandsResult + = 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 >{ + {16313.780, 12631.465, 8223.368, 27595.301, 12820.613}, + {15405.838, 11957.925, 15026.249, 25617.533, 11179.109}, + {8946.475, 18133.158, 10875.621, 24051.619, 19283.221}, + {20907.664, 32076.725, 13008.381, 13142.759, 23226.998}}); + + QTest::newRow("Valid file (four bands)") + << QStringLiteral("spectro/ValidSpectrogram2.txt") << fourBandsResult; + QTest::newRow("Valid file (four unsorted bands)") + << QStringLiteral("spectro/ValidSpectrogram3.txt") + << fourBandsResult; // Bands and values are sorted + } void TestAmdaResultParser::testReadSpectrogramTxt()