Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #4
0
    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)