Skip to content
Snippets Groups Projects
MDTransfAxisNamesTest.h 1.57 KiB
Newer Older
#ifndef MANTID_MDWS_DESCRIPTION_H_
#define MANTID_MDWS_DESCRIPTION_H_

#include "MantidMDAlgorithms/MDTransfAxisNames.h"
#include <cxxtest/TestSuite.h>

using namespace Mantid::Kernel;
using namespace Mantid::MDAlgorithms;
class MDTransfAxisNamesTest : public CxxTest::TestSuite
    MDTransfAxisNames descr;
public:
  // This pair of boilerplate methods prevent the suite being created statically
  // This means the constructor isn't called when running other tests
  static MDTransfAxisNamesTest *createSuite() { return new MDTransfAxisNamesTest(); }
  static void destroySuite( MDTransfAxisNamesTest *suite ) { delete suite; }

  void test_name()
  {
      V3D dir1(1,0,0);
      std::string name;

      std::vector<std::string> Names(3,"");
      Names[0]="Q1";
      Names[1]="Q2";
      Names[2]="Q3";

      TS_ASSERT_THROWS_NOTHING(name=makeAxisName(dir1,Names));
      TS_ASSERT_EQUALS("[Q1,0,0]",name);
      TS_ASSERT_THROWS_NOTHING(name=makeAxisName(V3D(-1,0.99,-1.001),Names));
      TS_ASSERT_EQUALS("[-Q3,0.99Q3,-Q3]",name);
      TS_ASSERT_THROWS_NOTHING(name=makeAxisName(V3D(-1,0.9999,-1.001),Names));
      TS_ASSERT_EQUALS("[-Q3,Q3,-Q3]",name);
      TS_ASSERT_THROWS_NOTHING(name=makeAxisName(V3D(-1,0.999,-1.01),Names));
      TS_ASSERT_EQUALS("[-Q3,0.999Q3,-1.01Q3]",name);
      TS_ASSERT_THROWS_NOTHING(name=makeAxisName(V3D(2.01,0.9,-1.01),Names));
      TS_ASSERT_EQUALS("[2.01Q1,0.9Q1,-1.01Q1]",name);

      TS_ASSERT_THROWS_NOTHING(name=makeAxisName(V3D(0.2,0.9,-1),Names));
      TS_ASSERT_EQUALS("[0.2Q3,0.9Q3,-Q3]",name);
MDTransfAxisNamesTest()