diff --git a/Code/Mantid/Framework/Algorithms/test/ConvertUnitsTest.h b/Code/Mantid/Framework/Algorithms/test/ConvertUnitsTest.h index 4f71338c28a7..6fb7e29e3b11 100644 --- a/Code/Mantid/Framework/Algorithms/test/ConvertUnitsTest.h +++ b/Code/Mantid/Framework/Algorithms/test/ConvertUnitsTest.h @@ -192,89 +192,48 @@ class ConvertUnitsTest : public CxxTest::TestSuite TS_ASSERT(myAlg.isInitialized()); const std::string workspaceName("_ws_testConvertUsingDetectorTable"); - int nBins = 10; - MatrixWorkspace_sptr WS = WorkspaceCreationHelper::Create2DWorkspaceBinned(2, nBins, 0.0, 10.0); + int nBins = 1000; + MatrixWorkspace_sptr WS = WorkspaceCreationHelper::Create2DWorkspaceBinned(2, nBins, 5.0, 50.0); WS->getAxis(0)->unit() = UnitFactory::Instance().create("TOF"); - + AnalysisDataService::Instance().add(workspaceName,WS); // Create TableWorkspace with values in it ITableWorkspace_sptr pars = WorkspaceFactory::Instance().createTable("TableWorkspace"); pars->addColumn("int", "spectra"); - pars->addColumn("double", "l1"); + pars->addColumn("double", "l1"); pars->addColumn("double", "l2"); pars->addColumn("double", "twotheta"); pars->addColumn("double", "efixed"); pars->addColumn("int", "emode"); API::TableRow row0 = pars->appendRow(); -// row0 << 1 << 10.0 << 90.0 << 7.0 << 1; - row0 << 1 << 50.0 << 10.0 << 90.0 << 7.0 << 1; + row0 << 1 << 50.0 << 10.0 << M_PI/2.0 << 7.0 << 1; API::TableRow row1 = pars->appendRow(); -// row1 << 2 << 10.0 << 90.0 << 7.0 << 1; - row1 << 2 << 50.0 << 10.0 << 90.0 << 7.0 << 1; + row1 << 2 << 100.0 << 10.0 << 90.0 << 7.0 << 1; // Set the properties myAlg.setRethrows(true); myAlg.setPropertyValue("InputWorkspace", workspaceName); myAlg.setPropertyValue("OutputWorkspace", workspaceName); - myAlg.setPropertyValue("Target", "Wavelength"); + myAlg.setPropertyValue("Target", "Energy"); myAlg.setProperty("DetectorParameters", pars); myAlg.execute(); auto outWS = AnalysisDataService::Instance().retrieveWS(workspaceName); - // TODO: test that output workspace values - - - AnalysisDataService::Instance().remove(workspaceName); - } - - void testConvertUsingDetectorTablewithoutL1() - { - ConvertUnits myAlg; - myAlg.initialize(); - TS_ASSERT(myAlg.isInitialized()); - - const std::string workspaceName("_ws_testConvertUsingDetectorTable"); - int nBins = 10; - MatrixWorkspace_sptr WS = WorkspaceCreationHelper::Create2DWorkspaceBinned(2, nBins, 0.0, 10.0); - WS->getAxis(0)->unit() = UnitFactory::Instance().create("TOF"); - - AnalysisDataService::Instance().add(workspaceName,WS); - - // Create TableWorkspace with values in it - - ITableWorkspace_sptr pars = WorkspaceFactory::Instance().createTable("TableWorkspace"); - pars->addColumn("int", "spectra"); - pars->addColumn("double", "l2"); - pars->addColumn("double", "twotheta"); - pars->addColumn("double", "efixed"); - pars->addColumn("int", "emode"); - - API::TableRow row0 = pars->appendRow(); - row0 << 1 << 10.0 << 90.0 << 7.0 << 1; - - API::TableRow row1 = pars->appendRow(); - row1 << 2 << 10.0 << 90.0 << 7.0 << 1; - - // Set the properties - myAlg.setRethrows(true); - myAlg.setPropertyValue("InputWorkspace", workspaceName); - myAlg.setPropertyValue("OutputWorkspace", workspaceName); - myAlg.setPropertyValue("Target", "Wavelength"); - myAlg.setProperty("DetectorParameters", pars); - - myAlg.execute(); - - auto outWS = AnalysisDataService::Instance().retrieveWS(workspaceName); - - // TODO: test that output workspace values - - +// for (int j=0; j < outWS->getNumberHistograms(); ++j) { +// for (int i=0; i < outWS->blocksize(); ++i) { +// std::cout << "dataX[" << j << "]["<< i << "] = " << outWS->dataX(j)[i] << std::endl; +// } +// } + + TS_ASSERT_DELTA( outWS->dataX(1)[1], 25.3444, 0.01 ); + // TODO: Add more checks. + AnalysisDataService::Instance().remove(workspaceName); }