def test_alg_produces_correct_workspace_in_APS_from_python(self): dataX = numpy.linspace(start=1, stop=3, num=11) dataY = numpy.linspace(start=1, stop=3, num=10) workspace1_test = simpleapi.CreateWorkspace(DataX=dataX, dataY=dataY, NSpec=1) workspace2_test = simpleapi.CloneWorkspace(workspace1_test) ws1_name = "workspace1_test" ws2_name = "workspace2_test" self.assertTrue(ws1_name in mtd) self.assertTrue(ws2_name in mtd) outputWs_name = "message" if outputWs_name in mtd: simpleapi.DeleteWorkspace(outputWs_name) result, message = simpleapi.CompareWorkspaces(workspace1_test, workspace2_test) self.assertTrue(outputWs_name in mtd) simpleapi.DeleteWorkspace(message) simpleapi.DeleteWorkspace(ws1_name) simpleapi.DeleteWorkspace(ws2_name)
def test_function_call_returns_tuple_when_a_single_argument_is_provided( self): dataX = numpy.linspace(start=1, stop=3, num=11) dataY = numpy.linspace(start=1, stop=3, num=10) workspace1_test = simpleapi.CreateWorkspace(DataX=dataX, dataY=dataY, NSpec=1) workspace2_test = simpleapi.CloneWorkspace(workspace1_test) ws1_name = "workspace1_test" ws2_name = "workspace2_test" self.assertTrue(ws1_name in mtd) self.assertTrue(ws2_name in mtd) outputWs_name = "message" if outputWs_name in mtd: simpleapi.DeleteWorkspace(outputWs_name) result = simpleapi.CompareWorkspaces(workspace1_test, workspace2_test) self.assertTrue(isinstance(result, tuple)) simpleapi.DeleteWorkspace(ws1_name) simpleapi.DeleteWorkspace(ws2_name)
def test_function_attached_as_workpace_method_does_the_same_as_the_free_function(self): # Use Rebin as a test ws1 = simpleapi.CreateWorkspace(DataX=[1.5,2.0,2.5,3.0],DataY=[1,2,3],NSpec=1,UnitX='Wavelength') self.assertTrue(hasattr(ws1, "rebin")) ws2 = simpleapi.Rebin(ws1,Params=[1.5,1.5,3]) ws3 = ws1.rebin(Params=[1.5,1.5,3]) ws4 = ws1.rebin([1.5,1.5,3]) result = simpleapi.CompareWorkspaces(ws2,ws3) self.assertTrue(result[0]) result = simpleapi.CompareWorkspaces(ws2,ws4) self.assertTrue(result[0]) simpleapi.DeleteWorkspace(ws1) simpleapi.DeleteWorkspace(ws2) simpleapi.DeleteWorkspace(ws3)
def test_load_save_load(self): """ Check that nothing is lost in a Load/Save/Load cycle """ group_name = 'all_indiv' for fpath in self._fits_paths: msapi.LoadFITS(Filename=fpath, LoadAsRectImg=True, OutputWorkspace=group_name) group = msapi.mtd[group_name] for idx in range(0, group.size()): # Save img_loaded = group.getItem(idx) save_filename = 'test.fits' msapi.SaveFITS(Filename=save_filename, InputWorkspace=img_loaded) # Re-load and compare reload_name = 'indiv_fits_reloaded' grp_reloaded = msapi.LoadFITS(Filename=save_filename, LoadAsRectImg=True, OutputWorkspace=reload_name) self.assertEquals(1, grp_reloaded.size()) img_reloaded = grp_reloaded.getItem(0) self.assertEquals(img_loaded.getNumberHistograms(), img_reloaded.getNumberHistograms()) self.assertEquals(img_loaded.blocksize(), img_reloaded.blocksize()) (comp_result, tbl_messages) = msapi.CompareWorkspaces(img_loaded, img_reloaded) num_rows = tbl_messages.rowCount() txt_messages = [tbl_messages.row(idx) for idx in range(0, num_rows)] self.assertTrue(comp_result, "Workspace comparison failed. Details: {0}".format(txt_messages)) msapi.DeleteWorkspace(grp_reloaded) msapi.DeleteWorkspace(group_name)
def _compare_ws(reference_file_name, results): ref_ws = mantid.Load(Filename=reference_file_name) is_valid = len(results) > 0 for (ws, ref) in zip(results, ref_ws): if not mantid.CompareWorkspaces(Workspace1=ws, Workspace2=ref): is_valid = False print("{} was not equal to {}".format(ws.getName(), ref.getName())) return is_valid
def _compare_ws(reference_file_name, results): ref_ws = mantid.Load(Filename=reference_file_name) is_valid = True if len(results) > 0 else False for ws, ref in zip(results, ref_ws): if not (mantid.CompareWorkspaces(Workspace1=ws, Workspace2=ref)): is_valid = False print(ws.getName() + " was not equal to: " + ref.getName()) return is_valid
def test_function_call_raises_ValueError_when_not_enough_arguments_in_return_tuple(self): dataX=numpy.linspace(start=1,stop=3,num=11) dataY=numpy.linspace(start=1,stop=3,num=10) workspace1_test = simpleapi.CreateWorkspace(DataX=dataX, dataY=dataY, NSpec=1) workspace2_test = simpleapi.CloneWorkspace(workspace1_test) ws1_name = "workspace1_test" ws2_name = "workspace2_test" self.assertTrue(ws1_name in mtd) self.assertTrue(ws2_name in mtd) try: (result, ) = simpleapi.CompareWorkspaces(workspace1_test, workspace2_test) self.fail("Should not have made it to this point.") except(ValueError): pass simpleapi.DeleteWorkspace(ws1_name) simpleapi.DeleteWorkspace(ws2_name)