Newer
Older
#ifndef MANTID_DATAHANDLING_LOADSASSENATEST_H_
#define MANTID_DATAHANDLING_LOADSASSENATEST_H_
#include <cxxtest/TestSuite.h>
#include "MantidDataHandling/LoadSassena.h"
#include "MantidAPI/AnalysisDataService.h"
using namespace Mantid;
class LoadSassenaTest : public CxxTest::TestSuite {
static LoadSassenaTest *createSuite() { return new LoadSassenaTest(); }
static void destroySuite(LoadSassenaTest *suite) { delete suite; }
LoadSassenaTest() { m_inputFile = "outputSassena_1.4.1.h5"; }
void test_init() {
TS_ASSERT_THROWS_NOTHING(m_alg.initialize())
TS_ASSERT(m_alg.isInitialized())
void test_confidence() {
if (!m_alg.isInitialized())
m_alg.initialize();
m_alg.setPropertyValue("Filename", m_inputFile);
Mantid::Kernel::NexusDescriptor descr(m_alg.getPropertyValue("Filename"));
Gigg, Martyn Anthony
committed
TS_ASSERT_EQUALS(m_alg.confidence(descr), 99);
if (!m_alg.isInitialized())
m_alg.initialize();
m_alg.setPropertyValue("Filename", m_inputFile);
const std::string outSpace = "outGWS";
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
m_alg.setPropertyValue("OutputWorkSpace", outSpace);
TS_ASSERT_THROWS_NOTHING(result = m_alg.getPropertyValue("OutputWorkspace"))
TS_ASSERT(result == outSpace);
TS_ASSERT_THROWS_NOTHING(m_alg.execute());
TS_ASSERT(m_alg.isExecuted());
// Test the last stored value for each of the workspaces
API::WorkspaceGroup_sptr gws =
API::AnalysisDataService::Instance().retrieveWS<API::WorkspaceGroup>(
"outGWS");
// Test qvectors
DataObjects::Workspace2D_sptr ws =
boost::dynamic_pointer_cast<DataObjects::Workspace2D>(
gws->getItem("outGWS_qvectors"));
TS_ASSERT_DELTA(ws->readY(4)[0], 0.02402402, 1e-08);
// Test fq
ws = boost::dynamic_pointer_cast<DataObjects::Workspace2D>(
gws->getItem("outGWS_fq"));
TS_ASSERT_DELTA(ws->readY(0)[4], 1070.7009, 1e-04);
TS_ASSERT_DELTA(ws->readY(1)[4], 674.67703, 1e-05);
// Test fq0
ws = boost::dynamic_pointer_cast<DataObjects::Workspace2D>(
gws->getItem("outGWS_fq0"));
TS_ASSERT_DELTA(ws->readY(0)[4], 1094.1314, 1e-04);
TS_ASSERT_DELTA(ws->readY(1)[4], 652.75902, 1e-05);
// Test fq2
ws = boost::dynamic_pointer_cast<DataObjects::Workspace2D>(
gws->getItem("outGWS_fq2"));
TS_ASSERT_DELTA(ws->readY(0)[4], 358926.16, 1e-02);
TS_ASSERT_EQUALS(ws->readY(1)[4], 0.0);
// Test fq Real part
ws = boost::dynamic_pointer_cast<DataObjects::Workspace2D>(
gws->getItem("outGWS_fqt.Re"));
TS_ASSERT_DELTA(ws->readY(4)[0], 1918.2156, 1e-04);
TS_ASSERT_DELTA(ws->readY(4)[14], 1918.2156, 1e-04);
// Test fq Imaginary part
ws = boost::dynamic_pointer_cast<DataObjects::Workspace2D>(
gws->getItem("outGWS_fqt.Im"));
TS_ASSERT_DELTA(ws->readY(4)[0], -656.82368, 1e-05);
TS_ASSERT_DELTA(ws->readY(4)[14], 656.82368, 1e-05);
} // end of testExec
private:
std::string m_inputFile;
Mantid::DataHandling::LoadSassena m_alg;
}; // end of class LoadSassenaTest
#endif // MANTID_DATAHANDLING_LOADSASSENATEST_H_