diff --git a/qt/scientific_interfaces/Indirect/test/IndirectFitDataTest.h b/qt/scientific_interfaces/Indirect/test/IndirectFitDataTest.h index a7f9f87032a77b2bb7243900d669eac20b3718aa..13cb2eec06d6c6b17be8c6b6dac7aa4062252276 100644 --- a/qt/scientific_interfaces/Indirect/test/IndirectFitDataTest.h +++ b/qt/scientific_interfaces/Indirect/test/IndirectFitDataTest.h @@ -84,6 +84,23 @@ public: TS_ASSERT_EQUALS(*it, spectraVec[it - spectra.begin()]); } + void test_that_DiscontinuousSpectra_is_sorted_before_being_stored() { + auto data = getIndirectFitData(11, 3); + + std::vector<std::string> const inputStrings{"8,5-0,6,10", " 8,10, 7", + "1,2,4-3,10"}; + std::vector<Spectra> const anwserSpectra{ + DiscontinuousSpectra<std::size_t>("0-6,8,10"), + DiscontinuousSpectra<std::size_t>("7-8,10"), + DiscontinuousSpectra<std::size_t>("1-4,10")}; + + for (auto i = 0u; i < inputStrings.size(); ++i) { + data.setSpectra(inputStrings[i]); + TS_ASSERT(boost::apply_visitor(AreSpectraEqual(), data.spectra(), + anwserSpectra[i])); + } + } + void test_data_is_stored_in_the_ADS() { auto const data = getIndirectFitData(1, 3); SetUpADSWithWorkspace ads("WorkspaceName", data);