Skip to content
Snippets Groups Projects
Commit b0f4592d authored by Gemma Guest's avatar Gemma Guest
Browse files

Improve batch decoder tests

The original test json string contained largely default/empty values so it is hard to tell whether they are really being loaded. Add a new string containing fully populated values as well as an "empty" batch representation containing defaults. Use these for the main window containing two batches.

Add a new unit test to test the case where the instrument has changed.

Re #28429
parent 1a49feae
No related branches found
No related tags found
No related merge requests found
......@@ -19,112 +19,387 @@
#include <QVariant>
namespace {
const static QString MAINWINDOW_JSON_STRING{
"{\"batches\": [{\"saveView\": {\"commaRadioButton\": true, "
"\"spaceRadioButton\": false, \"regexCheckBox\": false, \"savePathEdit\": "
"\"\", \"saveReductionResultsCheckBox\": false, \"titleCheckBox\": false, "
"\"filterEdit\": \"\", \"tabRadioButton\": false, \"prefixEdit\": \"\", "
"\"qResolutionCheckBox\": false, \"fileFormatComboBox\": 0}, \"runsView\": "
"{\"comboSearchInstrument\": 0, \"runsTable\": {\"projectSave\": true, "
"\"filterBox\": \"\", \"runsTableModel\": [{\"rows\": "
"[{\"reductionWorkspaces\": {\"inputRunNumbers\": [\"13460\"], \"iVsQ\": "
"\"\", \"transPair\": {\"firstTransRuns\": [], \"secondTransRuns\": []}, "
"\"iVsLambda\": \"\", \"iVsQBinned\": \"\"}, \"transRunNums\": "
"{\"firstTransRuns\": [], \"secondTransRuns\": []}, "
"\"scaleFactorPresent\": "
"false, \"qRangeOutput\": {\"maxPresent\": false, \"stepPresent\": false, "
"\"minPresent\": false}, \"reductionOptions\": {}, \"theta\": 0.5, "
"\"runNumbers\": [\"13460\"], \"qRange\": {\"maxPresent\": false, "
"\"stepPresent\": false, \"minPresent\": false}}], \"name\": \"123\", "
"\"postprocessedWorkspaceName\": \"\"}]}, \"textSearch\": \"123\"}, "
"\"eventView\": {\"disabledSlicingButton\": true, \"customEdit\": \"\", "
"\"logValueButton\": false, \"logValueEdit\": \"\", \"uniformEvenButton\": "
"false, \"logValueTypeEdit\": \"\", \"uniformButton\": false, "
"\"uniformEdit\": 1.0, \"customButton\": false, \"uniformEvenEdit\": 1}, "
"\"experimentView\": {\"perAngleDefaults\": {\"columnsNum\": 9, \"rows\": "
"[[\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\"]], \"rowsNum\": "
"1}, "
"\"startOverlapEdit\": 10.0, \"analysisModeComboBox\": 0, "
"\"reductionTypeComboBox\": 0, \"stitchEdit\": \"\", "
"\"floodWorkspaceWsSelector\": 0, \"includePartialBinsCheckBox\": false, "
"\"summationTypeComboBox\": 0, \"transScaleRHSCheckBox\": true, "
"\"debugCheckbox\": false, \"transStitchParamsEdit\": \"\", "
"\"floodCorComboBox\": 0, \"endOverlapEdit\": 12.0, \"polCorrCheckBox\": "
"false}, \"instrumentView\": {\"monBgMaxEdit\": 18.0, \"I0MonitorIndex\": "
"2, "
"\"lamMinEdit\": 1.5, \"monIntMinEdit\": 4.0, \"intMonCheckBox\": true, "
"\"monIntMaxEdit\": 10.0, \"detectorCorrectionTypeComboBox\": 0, "
"\"correctDetectorsCheckBox\": true, \"lamMaxEdit\": 17.0, "
"\"monBgMinEdit\": "
"17.0}}, {\"saveView\": {\"commaRadioButton\": true, \"spaceRadioButton\": "
"false, \"regexCheckBox\": false, \"savePathEdit\": \"\", "
"\"saveReductionResultsCheckBox\": false, \"titleCheckBox\": false, "
"\"filterEdit\": \"\", \"tabRadioButton\": false, \"prefixEdit\": \"\", "
"\"qResolutionCheckBox\": false, \"fileFormatComboBox\": 0}, \"runsView\": "
"{\"comboSearchInstrument\": 0, \"runsTable\": {\"projectSave\": true, "
"\"filterBox\": \"\", \"runsTableModel\": [{\"rows\": [{}], \"name\": "
"\"HiddenGroupName1\", \"postprocessedWorkspaceName\": \"\"}]}, "
"\"textSearch\": \"\"}, \"eventView\": {\"disabledSlicingButton\": true, "
"\"customEdit\": \"\", \"logValueButton\": false, \"logValueEdit\": \"\", "
"\"uniformEvenButton\": false, \"logValueTypeEdit\": \"\", "
"\"uniformButton\": false, \"uniformEdit\": 1.0, \"customButton\": false, "
"\"uniformEvenEdit\": 1}, \"experimentView\": {\"perAngleDefaults\": "
"{\"columnsNum\": 9, \"rows\": [[\"\", \"\", \"\", \"\", \"\", \"\", \"\", "
"\"\", \"\"]], \"rowsNum\": 1}, \"startOverlapEdit\": 10.0, "
"\"analysisModeComboBox\": 0, \"reductionTypeComboBox\": 0, "
"\"stitchEdit\": "
"\"\", \"floodWorkspaceWsSelector\": 0, \"includePartialBinsCheckBox\": "
"false, \"summationTypeComboBox\": 0, \"transScaleRHSCheckBox\": true, "
"\"debugCheckbox\": false, \"transStitchParamsEdit\": \"\", "
"\"floodCorComboBox\": 0, \"endOverlapEdit\": 12.0, \"polCorrCheckBox\": "
"false}, \"instrumentView\": {\"monBgMaxEdit\": 18.0, \"I0MonitorIndex\": "
"2, "
"\"lamMinEdit\": 1.5, \"monIntMinEdit\": 4.0, \"intMonCheckBox\": true, "
"\"monIntMaxEdit\": 10.0, \"detectorCorrectionTypeComboBox\": 0, "
"\"correctDetectorsCheckBox\": true, \"lamMaxEdit\": 17.0, "
"\"monBgMinEdit\": "
"17.0}}], \"tag\": \"ISIS Reflectometry\"}"};
const static QString BATCH_JSON_STRING{
"{\"eventView\":{\"customButton\":false,\"customEdit\":\"\", "
"\"disabledSlicingButton\":false,\"logValueButton\":false,"
"\"logValueEdit\":"
"\"\",\"logValueTypeEdit\":\"\",\"uniformButton\":true,\"uniformEdit\":3,"
"\"uniformEvenButton\":false,\"uniformEvenEdit\":2},\"experimentView\":{"
"\"analysisModeComboBox\":1,\"debugCheckbox\":true,\"endOverlapEdit\":13,"
"\"floodCorComboBox\":1,\"floodWorkspaceWsSelector\":0,"
"\"includePartialBinsCheckBox\":true,\"perAngleDefaults\":{"
"\"columnsNum\":"
"9,\"rows\":[[\"123\",\"123\",\"213\",\"123\",\"123\",\"123\",\"123\","
"\"123\",\"123\"]],\"rowsNum\":1},\"polCorrCheckBox\":false,"
"\"reductionTypeComboBox\":2,\"startOverlapEdit\":12,\"stitchEdit\":\"\","
"\"summationTypeComboBox\":1,\"transScaleRHSCheckBox\":true,"
"\"transStitchParamsEdit\":\"1\"},\"instrumentView\":{\"I0MonitorIndex\":"
"3,"
"\"correctDetectorsCheckBox\":false,\"detectorCorrectionTypeComboBox\":1,"
"\"intMonCheckBox\":false,\"lamMaxEdit\":18,\"lamMinEdit\":2.5,"
"\"monBgMaxEdit\":20,\"monBgMinEdit\":19,\"monIntMaxEdit\":11,"
"\"monIntMinEdit\":5},\"runsView\":{\"comboSearchInstrument\":0,"
"\"runsTable\":{\"filterBox\":\"123\",\"projectSave\":false,"
"\"runsTableModel\":[{\"name\":\"123\",\"postprocessedWorkspaceName\":"
"\"\","
"\"rows\":[{\"qRange\":{\"max\":0.1,\"maxPresent\":true,\"min\":0.1,"
"\"minPresent\":true,\"step\":0.1,\"stepPresent\":true},\"qRangeOutput\":"
"{"
"\"maxPresent\":false,\"minPresent\":false,\"stepPresent\":false},"
"\"reductionOptions\":{\"ProcessingInstructions\":\"1-4\"},"
"\"reductionWorkspaces\":{\"iVsLambda\":\"\",\"iVsQ\":\"\","
"\"iVsQBinned\":"
"\"\",\"inputRunNumbers\":[\"13460\"],\"transPair\":{\"firstTransRuns\":["
"\"123\"],\"secondTransRuns\":[\"1234\"]}},\"runNumbers\":[\"13460\"],"
"\"scaleFactor\":2,\"scaleFactorPresent\":true,\"theta\":0.5,"
"\"transRunNums\":{\"firstTransRuns\":[\"123\"],\"secondTransRuns\":["
"\"1234\"]}}]}]},\"textSearch\":\"1120015\"},\"saveView\":{"
"\"commaRadioButton\":false,\"fileFormatComboBox\":1,\"filterEdit\":"
"\"123\",\"prefixEdit\":\"123\",\"qResolutionCheckBox\":true,"
"\"regexCheckBox\":true,\"savePathEdit\":\"123\","
"\"saveReductionResultsCheckBox\":false,\"spaceRadioButton\":true,"
"\"tabRadioButton\":false,\"titleCheckBox\":true}}"};
" \"eventView\": {"
" \"customButton\": false,"
" \"customEdit\": \"\","
" \"disabledSlicingButton\": false,"
" \"logValueButton\": false,"
" \"logValueEdit\": \"\","
" \"logValueTypeEdit\": \"\","
" \"uniformButton\": false,"
" \"uniformEdit\": 1,"
" \"uniformEvenButton\": true,"
" \"uniformEvenEdit\": 2"
" },"
" \"experimentView\": {"
" \"analysisModeComboBox\": 1,"
" \"debugCheckbox\": true,"
" \"endOverlapEdit\": 13,"
" \"floodCorComboBox\": 1,"
" \"floodWorkspaceWsSelector\": 0,"
" \"includePartialBinsCheckBox\": true,"
" \"perAngleDefaults\": {"
" \"columnsNum\": 9,"
" \"rows\": ["
" ["
" \"0.5\","
" \"13463\","
" \"13464\","
" \"4\","
" \"0.01\","
" \"0.1\","
" \"0.02\","
" \"\","
" \"4\""
" ]"
" ],"
" \"rowsNum\": 1"
" },"
" \"polCorrCheckBox\": false,"
" \"reductionTypeComboBox\": 2,"
" \"startOverlapEdit\": 8,"
" \"stitchEdit\": \"Params=0.015\","
" \"summationTypeComboBox\": 1,"
" \"transScaleRHSCheckBox\": false,"
" \"transStitchParamsEdit\": \"0.03\""
" },"
" \"instrumentView\": {"
" \"I0MonitorIndex\": 1,"
" \"correctDetectorsCheckBox\": true,"
" \"detectorCorrectionTypeComboBox\": 1,"
" \"intMonCheckBox\": true,"
" \"lamMaxEdit\": 16,"
" \"lamMinEdit\": 2.5,"
" \"monBgMaxEdit\": 19,"
" \"monBgMinEdit\": 14,"
" \"monIntMaxEdit\": 11,"
" \"monIntMinEdit\": 3"
" },"
" \"runsView\": {"
" \"comboSearchInstrument\": 0,"
" \"runsTable\": {"
" \"filterBox\": \"\","
" \"projectSave\": false,"
" \"runsTableModel\": ["
" {"
" \"itemState\": 0,"
" \"name\": \"Si/D2O S2 \","
" \"postprocessedWorkspaceName\": \"\","
" \"rows\": ["
" {"
" \"itemState\": 0,"
" \"qRange\": {"
" \"max\": 0.06,"
" \"maxPresent\": true,"
" \"min\": 0.01,"
" \"minPresent\": true,"
" \"step\": 0.04,"
" \"stepPresent\": true"
" },"
" \"qRangeOutput\": {"
" \"maxPresent\": false,"
" \"minPresent\": false,"
" \"stepPresent\": false"
" },"
" \"reductionOptions\": {"
" },"
" \"reductionWorkspaces\": {"
" \"iVsLambda\": \"\","
" \"iVsQ\": \"\","
" \"iVsQBinned\": \"\","
" \"inputRunNumbers\": ["
" \"13460\""
" ],"
" \"transPair\": {"
" \"firstTransRuns\": ["
" \"13463\""
" ],"
" \"secondTransRuns\": ["
" \"13464\""
" ]"
" }"
" },"
" \"runNumbers\": ["
" \"13460\""
" ],"
" \"scaleFactorPresent\": false,"
" \"theta\": 0.5,"
" \"transRunNums\": {"
" \"firstTransRuns\": ["
" \"13463\""
" ],"
" \"secondTransRuns\": ["
" \"13464\""
" ]"
" }"
" },"
" {"
" \"itemState\": 0,"
" \"qRange\": {"
" \"max\": 0.3,"
" \"maxPresent\": true,"
" \"min\": 0.035,"
" \"minPresent\": true,"
" \"step\": 0.04,"
" \"stepPresent\": true"
" },"
" \"qRangeOutput\": {"
" \"maxPresent\": false,"
" \"minPresent\": false,"
" \"stepPresent\": false"
" },"
" \"reductionOptions\": {"
" },"
" \"reductionWorkspaces\": {"
" \"iVsLambda\": \"\","
" \"iVsQ\": \"\","
" \"iVsQBinned\": \"\","
" \"inputRunNumbers\": ["
" \"13462\""
" ],"
" \"transPair\": {"
" \"firstTransRuns\": ["
" \"13463\""
" ],"
" \"secondTransRuns\": ["
" \"13464\""
" ]"
" }"
" },"
" \"runNumbers\": ["
" \"13462\""
" ],"
" \"scaleFactorPresent\": false,"
" \"theta\": 2.3,"
" \"transRunNums\": {"
" \"firstTransRuns\": ["
" \"13463\""
" ],"
" \"secondTransRuns\": ["
" \"13464\""
" ]"
" }"
" }"
" ]"
" },"
" {"
" \"itemState\": 0,"
" \"name\": \"Si MAB 500mg/L NaOAc D2O \","
" \"postprocessedWorkspaceName\": \"\","
" \"rows\": ["
" {"
" \"itemState\": 0,"
" \"qRange\": {"
" \"max\": 0.06,"
" \"maxPresent\": true,"
" \"min\": 0.01,"
" \"minPresent\": true,"
" \"step\": 0.04,"
" \"stepPresent\": true"
" },"
" \"qRangeOutput\": {"
" \"maxPresent\": false,"
" \"minPresent\": false,"
" \"stepPresent\": false"
" },"
" \"reductionOptions\": {"
" },"
" \"reductionWorkspaces\": {"
" \"iVsLambda\": \"\","
" \"iVsQ\": \"\","
" \"iVsQBinned\": \"\","
" \"inputRunNumbers\": ["
" \"13469\""
" ],"
" \"transPair\": {"
" \"firstTransRuns\": ["
" \"13463\""
" ],"
" \"secondTransRuns\": ["
" \"13464\""
" ]"
" }"
" },"
" \"runNumbers\": ["
" \"13469\""
" ],"
" \"scaleFactorPresent\": false,"
" \"theta\": 0.7,"
" \"transRunNums\": {"
" \"firstTransRuns\": ["
" \"13463\""
" ],"
" \"secondTransRuns\": ["
" \"13464\""
" ]"
" }"
" },"
" {"
" \"itemState\": 0,"
" \"qRange\": {"
" \"max\": 0.3,"
" \"maxPresent\": true,"
" \"min\": 0.035,"
" \"minPresent\": true,"
" \"step\": 0.04,"
" \"stepPresent\": true"
" },"
" \"qRangeOutput\": {"
" \"maxPresent\": false,"
" \"minPresent\": false,"
" \"stepPresent\": false"
" },"
" \"reductionOptions\": {"
" },"
" \"reductionWorkspaces\": {"
" \"iVsLambda\": \"\","
" \"iVsQ\": \"\","
" \"iVsQBinned\": \"\","
" \"inputRunNumbers\": ["
" \"13470\""
" ],"
" \"transPair\": {"
" \"firstTransRuns\": ["
" \"13463\""
" ],"
" \"secondTransRuns\": ["
" \"13464\""
" ]"
" }"
" },"
" \"runNumbers\": ["
" \"13470\""
" ],"
" \"scaleFactorPresent\": false,"
" \"theta\": 2.3,"
" \"transRunNums\": {"
" \"firstTransRuns\": ["
" \"13463\""
" ],"
" \"secondTransRuns\": ["
" \"13464\""
" ]"
" }"
" }"
" ]"
" }"
" ]"
" },"
" \"textSearch\": \"1120015\""
" },"
" \"saveView\": {"
" \"commaRadioButton\": false,"
" \"fileFormatComboBox\": 1,"
" \"filterEdit\": \"IvsQ\","
" \"prefixEdit\": \"\","
" \"qResolutionCheckBox\": true,"
" \"regexCheckBox\": true,"
" \"savePathEdit\": \"\","
" \"saveReductionResultsCheckBox\": false,"
" \"spaceRadioButton\": true,"
" \"tabRadioButton\": false,"
" \"titleCheckBox\": true"
" }"
"}"};
const static QString EMPTY_BATCH_JSON_STRING{
"{"
" \"eventView\": {"
" \"customButton\": false,"
" \"customEdit\": \"\","
" \"disabledSlicingButton\": true,"
" \"logValueButton\": false,"
" \"logValueEdit\": \"\","
" \"logValueTypeEdit\": \"\","
" \"uniformButton\": false,"
" \"uniformEdit\": 1,"
" \"uniformEvenButton\": false,"
" \"uniformEvenEdit\": 1"
" },"
" \"experimentView\": {"
" \"analysisModeComboBox\": 0,"
" \"debugCheckbox\": false,"
" \"endOverlapEdit\": 12,"
" \"floodCorComboBox\": 0,"
" \"floodWorkspaceWsSelector\": 0,"
" \"includePartialBinsCheckBox\": false,"
" \"perAngleDefaults\": {"
" \"columnsNum\": 9,"
" \"rows\": ["
" ["
" \"\","
" \"\","
" \"\","
" \"\","
" \"\","
" \"\","
" \"\","
" \"\","
" \"\""
" ]"
" ],"
" \"rowsNum\": 1"
" },"
" \"polCorrCheckBox\": false,"
" \"reductionTypeComboBox\": 0,"
" \"startOverlapEdit\": 10,"
" \"stitchEdit\": \"\","
" \"summationTypeComboBox\": 0,"
" \"transScaleRHSCheckBox\": true,"
" \"transStitchParamsEdit\": \"\""
" },"
" \"instrumentView\": {"
" \"I0MonitorIndex\": 2,"
" \"correctDetectorsCheckBox\": true,"
" \"detectorCorrectionTypeComboBox\": 0,"
" \"intMonCheckBox\": true,"
" \"lamMaxEdit\": 17,"
" \"lamMinEdit\": 1.5,"
" \"monBgMaxEdit\": 18,"
" \"monBgMinEdit\": 17,"
" \"monIntMaxEdit\": 10,"
" \"monIntMinEdit\": 4"
" },"
" \"runsView\": {"
" \"comboSearchInstrument\": 0,"
" \"runsTable\": {"
" \"filterBox\": \"\","
" \"projectSave\": false,"
" \"runsTableModel\": ["
" {"
" \"itemState\": 0,"
" \"name\": \"HiddenGroupName1\","
" \"postprocessedWorkspaceName\": \"\","
" \"rows\": ["
" {"
" }"
" ]"
" }"
" ]"
" },"
" \"textSearch\": \"\""
" },"
" \"saveView\": {"
" \"commaRadioButton\": true,"
" \"fileFormatComboBox\": 0,"
" \"filterEdit\": \"\","
" \"prefixEdit\": \"\","
" \"qResolutionCheckBox\": false,"
" \"regexCheckBox\": false,"
" \"savePathEdit\": \"\","
" \"saveReductionResultsCheckBox\": false,"
" \"spaceRadioButton\": false,"
" \"tabRadioButton\": false,"
" \"titleCheckBox\": false"
" }"
"}"};
const static QString MAINWINDOW_JSON_STRING{
QString("{\"batches\": [") + BATCH_JSON_STRING + QString(", ") +
EMPTY_BATCH_JSON_STRING + QString("], ") +
QString("\"tag\": \"ISIS Reflectometry\"}")};
} // namespace
/**
......@@ -171,7 +446,7 @@ public:
"api.FrameworkManager.Instance()");
}
void test_decode() {
void test_decodeMainWindow() {
CoderCommonTester tester;
Decoder decoder;
auto map = MantidQt::API::loadJSONFromString(MAINWINDOW_JSON_STRING);
......@@ -180,12 +455,40 @@ public:
tester.testMainWindowView(dynamic_cast<QtMainWindowView *>(widget), map);
}
void test_decodeBatch() {
void test_decodeEmptyBatch() {
CoderCommonTester tester;
auto map = MantidQt::API::loadJSONFromString(EMPTY_BATCH_JSON_STRING);
QtMainWindowView mwv;
mwv.initLayout();
auto gui = dynamic_cast<QtBatchView *>(mwv.batches()[0]);
Decoder decoder;
decoder.decodeBatch(&mwv, 0, map);
tester.testBatch(gui, &mwv, map);
}
void test_decodePopulatedBatch() {
CoderCommonTester tester;
auto map = MantidQt::API::loadJSONFromString(BATCH_JSON_STRING);
QtMainWindowView mwv;
mwv.initLayout();
auto gui = dynamic_cast<QtBatchView *>(mwv.batches()[0]);
Decoder decoder;
decoder.decodeBatch(&mwv, 0, map);
tester.testBatch(gui, &mwv, map);
}
void test_decodeBatchWhenInstrumentChanged() {
CoderCommonTester tester;
auto map = MantidQt::API::loadJSONFromString(BATCH_JSON_STRING);
QtMainWindowView mwv;
mwv.initLayout();
auto gui = dynamic_cast<QtBatchView *>(mwv.batches()[0]);
// Set the initial instrument to something different to the one we are
// decoding
gui->runs()->setSearchInstrument("POLREF");
Decoder decoder;
decoder.decodeBatch(&mwv, 0, map);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment