Newer
Older
Gigg, Martyn Anthony
committed
#ifndef MANTID_KERNEL_MAGNETICFORMFACTORTABLETEST_H_
#define MANTID_KERNEL_MAGNETICFORMFACTORTABLETEST_H_
#include <cxxtest/TestSuite.h>
#include "MantidKernel/MagneticFormFactorTable.h"
Gigg, Martyn Anthony
committed
#include <boost/scoped_ptr.hpp>
using Mantid::PhysicalConstants::MagneticFormFactorTable;
class MagneticFormFactorTableTest : public CxxTest::TestSuite {
Gigg, Martyn Anthony
committed
public:
void test_Table_Gives_Correct_Interplated_Value_For_Form_Factor() {
Gigg, Martyn Anthony
committed
using Mantid::PhysicalConstants::MagneticIon;
const MagneticIon ion = Mantid::PhysicalConstants::getMagneticIon("Mn", 3);
const size_t tableSize(500);
const double qsqr(6.48);
boost::scoped_ptr<MagneticFormFactorTable> lookup;
lookup.reset(new MagneticFormFactorTable(tableSize, ion)));
Gigg, Martyn Anthony
committed
TS_ASSERT_DELTA(lookup->value(qsqr), 0.69202309, 1e-8);
Gigg, Martyn Anthony
committed
TS_ASSERT_DELTA(lookup->value(0.0), 0.9995, 1e-8); // On 0.0
TS_ASSERT_DELTA(lookup->value(MagneticIon::formFactorCutOff()), 0.0,
Gigg, Martyn Anthony
committed
}
};
#endif /* MANTID_KERNEL_MAGNETICFORMFACTORTABLETEST_H_ */