diff --git a/Code/Mantid/Framework/MDAlgorithms/test/CutMDTest.h b/Code/Mantid/Framework/MDAlgorithms/test/CutMDTest.h index 0cbba16589494d9467e251491f872fd7761bb20f..8a0a5ae3bb7af69c04da6a5800906a743d9dbccb 100644 --- a/Code/Mantid/Framework/MDAlgorithms/test/CutMDTest.h +++ b/Code/Mantid/Framework/MDAlgorithms/test/CutMDTest.h @@ -91,6 +91,51 @@ public: AnalysisDataService::Instance().remove(wsName); } + + void test_slice_to_original() { + const std::string wsName = "__CutMDTest_slice_to_original"; + + auto algCutMD = FrameworkManager::Instance().createAlgorithm("CutMD"); + algCutMD->initialize(); + algCutMD->setRethrows(true); + algCutMD->setProperty("InputWorkspace", sharedWSName); + algCutMD->setProperty("OutputWorkspace", wsName); + algCutMD->setProperty("P1Bin", "0.1"); + algCutMD->setProperty("P2Bin", "0.1"); + algCutMD->setProperty("P3Bin", "0.1"); + algCutMD->setProperty("CheckAxes", false); + algCutMD->execute(); + TS_ASSERT(algCutMD->isExecuted()); + + IMDEventWorkspace_sptr outWS = + AnalysisDataService::Instance().retrieveWS<IMDEventWorkspace>(wsName); + TS_ASSERT(outWS.get()); + + TS_ASSERT_EQUALS( + outWS->getDimension(0)->getMinimum(), + m_inWS->getDimension(0)->getMinimum()); + TS_ASSERT_EQUALS( + outWS->getDimension(0)->getMaximum(), + m_inWS->getDimension(0)->getMaximum()); + TS_ASSERT_EQUALS( + outWS->getDimension(1)->getMinimum(), + m_inWS->getDimension(1)->getMinimum()); + TS_ASSERT_EQUALS( + outWS->getDimension(1)->getMaximum(), + m_inWS->getDimension(1)->getMaximum()); + TS_ASSERT_EQUALS( + outWS->getDimension(2)->getMinimum(), + m_inWS->getDimension(2)->getMinimum()); + TS_ASSERT_EQUALS( + outWS->getDimension(2)->getMaximum(), + m_inWS->getDimension(2)->getMaximum()); + + TS_ASSERT_EQUALS("['zeta', 0, 0]", outWS->getDimension(0)->getName()); + TS_ASSERT_EQUALS("[0, 'eta', 0]", outWS->getDimension(1)->getName()); + TS_ASSERT_EQUALS("[0, 0, 'xi']", outWS->getDimension(2)->getName()); + + AnalysisDataService::Instance().remove(wsName); + } }; #endif /* MANTID_MDALGORITHMS_CUTMDTEST_H_ */ diff --git a/Code/Mantid/Framework/PythonInterface/test/python/mantid/api/CutMDTest.py b/Code/Mantid/Framework/PythonInterface/test/python/mantid/api/CutMDTest.py index d4553be2dc64607e069aedb9ae4f599c360e67ce..695fb9aff26218593b4b67af1646a74b64bc85a8 100644 --- a/Code/Mantid/Framework/PythonInterface/test/python/mantid/api/CutMDTest.py +++ b/Code/Mantid/Framework/PythonInterface/test/python/mantid/api/CutMDTest.py @@ -22,21 +22,6 @@ class CutMDTest(unittest.TestCase): def tearDown(self): DeleteWorkspace(self.__in_md ) - def test_slice_to_original(self): - out_md = CutMD(self.__in_md, P1Bin=[0.1], P2Bin=[0.1], P3Bin=[0.1], CheckAxes=False) - self.assertTrue(isinstance(out_md, IMDEventWorkspace), "Should default to producing an IMDEventWorkspace.") - # No rotation. Basis vectors should have been left the same, so no extent changes. - self.assertEquals(self.__in_md.getDimension(0).getMinimum(), out_md.getDimension(0).getMinimum()) - self.assertEquals(self.__in_md.getDimension(0).getMaximum(), out_md.getDimension(0).getMaximum()) - self.assertEquals(self.__in_md.getDimension(1).getMinimum(), out_md.getDimension(1).getMinimum()) - self.assertEquals(self.__in_md.getDimension(1).getMaximum(), out_md.getDimension(1).getMaximum()) - self.assertEquals(self.__in_md.getDimension(2).getMinimum(), out_md.getDimension(2).getMinimum()) - self.assertEquals(self.__in_md.getDimension(2).getMaximum(), out_md.getDimension(2).getMaximum()) - self.assertEquals("['zeta', 0, 0]", out_md.getDimension(0).getName() ) - self.assertEquals("[0, 'eta', 0]", out_md.getDimension(1).getName() ) - self.assertEquals("[0, 0, 'xi']", out_md.getDimension(2).getName() ) - self.assertTrue(isinstance(out_md, IMDEventWorkspace), "nopix defaults to True. Should get an IMDEventWorkspace") - def test_recalculate_extents_with_3_bin_arguments(self): out_md = CutMD(self.__in_md, P1Bin=[0, 0.3, 0.8], P2Bin=[0.1], P3Bin=[0.1], CheckAxes=False, NoPix=True) dim = out_md.getDimension(0)