Newer
Older
Russell Taylor
committed
#ifndef DIFFRACTIONFOCUSSINGTEST_H_
#define DIFFRACTIONFOCUSSINGTEST_H_
#include <cxxtest/TestSuite.h>
#include "MantidAlgorithms/DiffractionFocussing.h"
Karl Palmen
committed
#include "MantidDataHandling/LoadNexus.h"
Russell Taylor
committed
using namespace Mantid::API;
using namespace Mantid::Kernel;
using namespace Mantid::Algorithms;
class DiffractionFocussingTest : public CxxTest::TestSuite {
Russell Taylor
committed
public:
void testName() { TS_ASSERT_EQUALS(focus.name(), "DiffractionFocussing"); }
void testVersion() { TS_ASSERT_EQUALS(focus.version(), 1); }
void testCategory() { TS_ASSERT_EQUALS(focus.category(), "Diffraction"); }
void testInit() {
focus.initialize();
TS_ASSERT(focus.isInitialized());
}
void testExec() {
IAlgorithm *loader = new Mantid::DataHandling::LoadNexus;
Russell Taylor
committed
loader->initialize();
loader->setPropertyValue(
"Filename", "HRP38692a.nxs"); // HRP382692.raw spectrum range 320-330
Russell Taylor
committed
std::string outputSpace = "tofocus";
loader->setPropertyValue("OutputWorkspace", outputSpace);
TS_ASSERT_THROWS_NOTHING(loader->execute());
TS_ASSERT(loader->isExecuted());
Russell Taylor
committed
focus.setPropertyValue("InputWorkspace", outputSpace);
focus.setPropertyValue("OutputWorkspace", "focusedWS");
focus.setPropertyValue("GroupingFileName", "hrpd_new_072_01.cal");
TS_ASSERT_THROWS_NOTHING(focus.execute());
TS_ASSERT(focus.isExecuted());
Russell Taylor
committed
MatrixWorkspace_const_sptr output;
TS_ASSERT_THROWS_NOTHING(
output = AnalysisDataService::Instance().retrieveWS<MatrixWorkspace>(
"focusedWS"));
Russell Taylor
committed
// only 1 group for this limited range of spectra
TS_ASSERT_EQUALS(output->getNumberHistograms(), 1);
Russell Taylor
committed
AnalysisDataService::Instance().remove(outputSpace);
AnalysisDataService::Instance().remove("focusedWS");
delete loader;
Russell Taylor
committed
private:
DiffractionFocussing focus;
};
#endif /*DIFFRACTIONFOCUSSINGTEST_H_*/