Esempio n. 1
0
def test_to_workspace_2d(param_dim):
    from mantid.simpleapi import mtd
    mtd.clear()

    data_len = 2
    expected_bins = data_len + 1
    expected_number_spectra = 10

    y = sc.Variable(dims=['spectrum', param_dim],
                    values=np.random.rand(expected_number_spectra, data_len),
                    variances=np.random.rand(expected_number_spectra,
                                             data_len))

    x = sc.Variable(dims=['spectrum', param_dim],
                    values=np.arange(expected_number_spectra * expected_bins,
                                     dtype=np.float64).reshape(
                                         (expected_number_spectra,
                                          expected_bins)))
    data = sc.DataArray(data=y, coords={param_dim: x})

    ws = scn.to_mantid(data, param_dim)

    assert len(ws.readX(0)) == expected_bins
    assert ws.getNumberHistograms() == expected_number_spectra
    # check that no workspaces have been leaked in the ADS
    assert len(mtd) == 0, f"Workspaces present: {mtd.getObjectNames()}"

    for i in range(expected_number_spectra):
        np.testing.assert_array_equal(ws.readX(i), x['spectrum', i].values)
        np.testing.assert_array_equal(ws.readY(i), y['spectrum', i].values)
        np.testing.assert_array_equal(ws.readE(i),
                                      np.sqrt(y['spectrum', i].variances))
Esempio n. 2
0
    def test_fit(self):
        """
        Tests that the fit executes, and the outputs
        are moved into the dataset. Does not check the fit values.
        """
        from mantid.simpleapi import mtd
        mtd.clear()

        data = scn.load(scn.data.get_path("iris26176_graphite002_sqw.nxs"))

        params, diff = scn.fit(data['Q', 0],
                               mantid_args={
                                   'Function':
                                   'name=LinearBackground,A0=0,A1=1',
                                   'StartX': 0,
                                   'EndX': 3
                               })

        # check that no workspaces have been leaked in the ADS
        assert len(mtd) == 0
        assert 'data' in diff
        assert 'calculated' in diff
        assert 'diff' in diff
        assert 'status' in params.coords
        assert 'function' in params.coords
        assert 'cost_function' in params.coords
        assert 'chi^2/d.o.f.' in params.coords
Esempio n. 3
0
 def test_loader_option(self):
     out6 = LoadAndMerge(Filename='967101',LoaderName='LoadILLDiffraction',
                          LoaderVersion=1,LoaderOptions=dict({'DataType':'Raw'}))
     self.assertTrue(out6)
     self.assertEquals(out6.name(), 'out6')
     self.assertTrue(isinstance(out6, MatrixWorkspace))
     mtd.clear()
Esempio n. 4
0
 def test_loader_option(self):
     out6 = LoadAndMerge(Filename='967101',LoaderName='LoadILLDiffraction',
                          LoaderVersion=1,LoaderOptions=dict({'DataType':'Raw'}))
     self.assertTrue(out6)
     self.assertEqual(out6.name(), 'out6')
     self.assertTrue(isinstance(out6, MatrixWorkspace))
     mtd.clear()
Esempio n. 5
0
def test_extract_energy_initial():
    from mantid.simpleapi import mtd
    mtd.clear()
    ds = scn.load(scn.data.get_path("CNCS_51936_event.nxs"),
                  mantid_args={"SpectrumMax": 1})
    assert sc.identical(ds.coords["incident_energy"],
                        sc.scalar(value=3.0, unit=sc.Unit("meV")))
Esempio n. 6
0
 def tearDown(self):
     AbinsTestHelpers.remove_output_files(list_of_names=[
         "explicit", "default", "total", "squaricn_sum_Abins",
         "squaricn_scale", "benzene_exp", "benzene_Abins", "experimental",
         "numbered"
     ])
     mtd.clear()
Esempio n. 7
0
 def test_many_runs_summed(self):
     out2 = LoadAndMerge(Filename='170257+170258',
                         LoaderName='LoadILLIndirect')
     self.assertTrue(out2)
     self.assertEqual(out2.name(), 'out2')
     self.assertTrue(isinstance(out2, MatrixWorkspace))
     mtd.clear()
 def test_basic_load(self):
     ws_name = 'test-sample'
     actual = load(ws_name, self.sample_file_path,
                   **self.align_and_focus_args)
     actual = mtd[actual]
     self.assertEqual(actual.name(), ws_name)
     self.assertEqual(actual.getNumberHistograms(), 5)
     self.assertEqual(actual.getAxis(0).getUnit().caption(), 'q')
     mtd.clear()
Esempio n. 9
0
 def test_specific_loader(self):
     out5 = LoadAndMerge(
         Filename='170257',
         LoaderName='LoadILLIndirect',
     )
     self.assertTrue(out5)
     self.assertEqual(out5.name(), 'out5')
     self.assertTrue(isinstance(out5, MatrixWorkspace))
     mtd.clear()
Esempio n. 10
0
 def test_non_ill_load(self):
     out7 = LoadAndMerge(Filename='IRS26173,26174.RAW')
     self.assertTrue(out7)
     self.assertTrue(isinstance(out7, WorkspaceGroup))
     self.assertEqual(out7.getNumberOfEntries(), 2)
     self.assertTrue(isinstance(out7.getItem(0), MatrixWorkspace))
     self.assertTrue(isinstance(out7.getItem(1), MatrixWorkspace))
     self.assertEqual(out7.getItem(0).name(),'IRS26173')
     self.assertEqual(out7.getItem(1).name(),'IRS26174')
     mtd.clear()
Esempio n. 11
0
 def test_multi_period_loader_list(self):
     out8 = LoadAndMerge(Filename='MUSR00015196,00015197.nxs')
     self.assertTrue(out8)
     self.assertTrue(isinstance(out8, WorkspaceGroup))
     self.assertEquals(out8.getNumberOfEntries(), 4)
     self.assertEquals(out8.getItem(0).name(),'MUSR00015196_1')
     self.assertEquals(out8.getItem(1).name(),'MUSR00015196_2')
     self.assertEquals(out8.getItem(2).name(),'MUSR00015197_1')
     self.assertEquals(out8.getItem(3).name(),'MUSR00015197_2')
     mtd.clear()
Esempio n. 12
0
 def test_multi_period_loader_list(self):
     out8 = LoadAndMerge(Filename='MUSR00015196,00015197.nxs')
     self.assertTrue(out8)
     self.assertTrue(isinstance(out8, WorkspaceGroup))
     self.assertEqual(out8.getNumberOfEntries(), 4)
     self.assertEqual(out8.getItem(0).name(),'MUSR00015196_1')
     self.assertEqual(out8.getItem(1).name(),'MUSR00015196_2')
     self.assertEqual(out8.getItem(2).name(),'MUSR00015197_1')
     self.assertEqual(out8.getItem(3).name(),'MUSR00015197_2')
     mtd.clear()
Esempio n. 13
0
 def test_non_ill_load(self):
     out7 = LoadAndMerge(Filename='IRS26173,26174.RAW')
     self.assertTrue(out7)
     self.assertTrue(isinstance(out7, WorkspaceGroup))
     self.assertEquals(out7.getNumberOfEntries(), 2)
     self.assertTrue(isinstance(out7.getItem(0), MatrixWorkspace))
     self.assertTrue(isinstance(out7.getItem(1), MatrixWorkspace))
     self.assertEquals(out7.getItem(0).name(),'IRS26173')
     self.assertEquals(out7.getItem(1).name(),'IRS26174')
     mtd.clear()
Esempio n. 14
0
 def test_output_hidden(self):
     LoadAndMerge(Filename='170257+170258,170300+170302',LoaderName='LoadILLIndirect',
                   OutputWorkspace='__out')
     self.assertTrue(mtd['__out'])
     self.assertTrue(isinstance(mtd['__out'], WorkspaceGroup))
     self.assertEqual(mtd['__out'].getNumberOfEntries(), 2)
     self.assertTrue(isinstance(mtd['__out'].getItem(0), MatrixWorkspace))
     self.assertTrue(isinstance(mtd['__out'].getItem(1), MatrixWorkspace))
     self.assertEqual(mtd['__out'].getItem(0).name(),'__170257_170258')
     self.assertEqual(mtd['__out'].getItem(1).name(),'__170300_170302')
     mtd.clear()
Esempio n. 15
0
 def test_many_runs_mixed(self):
     out4 = LoadAndMerge(Filename='170257+170258,170300+170302',LoaderName='LoadILLIndirect')
     self.assertTrue(out4)
     self.assertEquals(out4.name(), 'out4')
     self.assertTrue(isinstance(out4, WorkspaceGroup))
     self.assertEquals(out4.getNumberOfEntries(), 2)
     self.assertTrue(isinstance(out4.getItem(0), MatrixWorkspace))
     self.assertTrue(isinstance(out4.getItem(1), MatrixWorkspace))
     self.assertEquals(out4.getItem(0).name(),'170257_170258')
     self.assertEquals(out4.getItem(1).name(),'170300_170302')
     mtd.clear()
Esempio n. 16
0
def test_to_workspace_2d(param_dim):
    from mantid.simpleapi import mtd
    mtd.clear()

    data_len = 2
    expected_bins = data_len + 1
    expected_number_spectra = 10

    y = sc.Variable([Dim.Spectrum, param_dim],
                    values=np.random.rand(expected_number_spectra, data_len),
                    variances=np.random.rand(expected_number_spectra,
                                             data_len))

    x = sc.Variable([Dim.Spectrum, param_dim],
                    values=np.arange(expected_number_spectra * expected_bins,
                                     dtype=np.float64).reshape(
                                         (expected_number_spectra,
                                          expected_bins)))

    ws = sc.compat.mantid.to_workspace_2d(x.values, y.values, y.variances,
                                          param_dim)

    assert len(ws.readX(0)) == expected_bins
    assert ws.getNumberHistograms() == expected_number_spectra
    # check that no workspaces have been leaked in the ADS
    assert len(mtd) == 0, f"Workspaces present: {mtd.getObjectNames()}"

    for i in range(expected_number_spectra):
        np.testing.assert_array_equal(ws.readX(i), x[Dim.Spectrum, i])
        np.testing.assert_array_equal(ws.readY(i), y[Dim.Spectrum, i])
        np.testing.assert_array_equal(ws.readE(i), y[Dim.Spectrum,
                                                     i].variances)

    def test_set_run(self):
        import mantid.simpleapi as mantid
        target = mantid.CloneWorkspace(self.base_event_ws)
        d = mantidcompat.convert_EventWorkspace_to_data_array(target, False)
        d.attrs["run"].value.addProperty("test_property", 1, True)
        # before
        self.assertFalse(target.run().hasProperty("test_property"))
        target.setRun(d.attrs["run"].value)
        # after
        self.assertTrue(target.run().hasProperty("test_property"))

    def test_set_sample(self):
        import mantid.simpleapi as mantid
        target = mantid.CloneWorkspace(self.base_event_ws)
        d = mantidcompat.convert_EventWorkspace_to_data_array(target, False)
        d.attrs["sample"].value.setThickness(3)
        # before
        self.assertNotEqual(3, target.sample().getThickness())
        target.setSample(d.attrs["sample"].value)
        # after
        self.assertEqual(3, target.sample().getThickness())
Esempio n. 17
0
 def test_many_runs_mixed(self):
     out4 = LoadAndMerge(Filename='170257+170258,170300+170302',LoaderName='LoadILLIndirect')
     self.assertTrue(out4)
     self.assertEqual(out4.name(), 'out4')
     self.assertTrue(isinstance(out4, WorkspaceGroup))
     self.assertEqual(out4.getNumberOfEntries(), 2)
     self.assertTrue(isinstance(out4.getItem(0), MatrixWorkspace))
     self.assertTrue(isinstance(out4.getItem(1), MatrixWorkspace))
     self.assertEqual(out4.getItem(0).name(),'170257_170258')
     self.assertEqual(out4.getItem(1).name(),'170300_170302')
     mtd.clear()
Esempio n. 18
0
 def test_output_hidden(self):
     LoadAndMerge(Filename='170257+170258,170300+170302',LoaderName='LoadILLIndirect',
                   OutputWorkspace='__out')
     self.assertTrue(mtd['__out'])
     self.assertTrue(isinstance(mtd['__out'], WorkspaceGroup))
     self.assertEquals(mtd['__out'].getNumberOfEntries(), 2)
     self.assertTrue(isinstance(mtd['__out'].getItem(0), MatrixWorkspace))
     self.assertTrue(isinstance(mtd['__out'].getItem(1), MatrixWorkspace))
     self.assertEquals(mtd['__out'].getItem(0).name(),'__170257_170258')
     self.assertEquals(mtd['__out'].getItem(1).name(),'__170300_170302')
     mtd.clear()
Esempio n. 19
0
 def test_many_runs_listed(self):
     out3 = LoadAndMerge(Filename='170257,170258',LoaderName='LoadILLIndirect')
     self.assertTrue(out3)
     self.assertEqual(out3.name(), 'out3')
     self.assertTrue(isinstance(out3, WorkspaceGroup))
     self.assertEqual(out3.getNumberOfEntries(), 2)
     self.assertTrue(isinstance(out3.getItem(0), MatrixWorkspace))
     self.assertTrue(isinstance(out3.getItem(1), MatrixWorkspace))
     self.assertEqual(out3.getItem(0).name(),'170257')
     self.assertEqual(out3.getItem(1).name(),'170258')
     mtd.clear()
Esempio n. 20
0
 def test_multi_period_loader_sum(self):
     out9 = LoadAndMerge(Filename='MUSR00015196+00015197.nxs')
     self.assertTrue(out9)
     self.assertTrue(isinstance(out9, MatrixWorkspace))
     self.assertTrue('MUSR00015196' not in mtd)
     self.assertTrue('MUSR00015197' not in mtd)
     self.assertTrue('MUSR00015196_1' not in mtd)
     self.assertTrue('MUSR00015196_2' not in mtd)
     self.assertTrue('MUSR00015197_1' not in mtd)
     self.assertTrue('MUSR00015197_2' not in mtd)
     mtd.clear()
Esempio n. 21
0
 def test_many_runs_listed(self):
     out3 = LoadAndMerge(Filename='170257,170258',LoaderName='LoadILLIndirect')
     self.assertTrue(out3)
     self.assertEquals(out3.name(), 'out3')
     self.assertTrue(isinstance(out3, WorkspaceGroup))
     self.assertEquals(out3.getNumberOfEntries(), 2)
     self.assertTrue(isinstance(out3.getItem(0), MatrixWorkspace))
     self.assertTrue(isinstance(out3.getItem(1), MatrixWorkspace))
     self.assertEquals(out3.getItem(0).name(),'170257')
     self.assertEquals(out3.getItem(1).name(),'170258')
     mtd.clear()
Esempio n. 22
0
 def test_multi_period_loader_sum(self):
     out9 = LoadAndMerge(Filename='MUSR00015196+00015197.nxs')
     self.assertTrue(out9)
     self.assertTrue(isinstance(out9, MatrixWorkspace))
     self.assertTrue('MUSR00015196' not in mtd)
     self.assertTrue('MUSR00015197' not in mtd)
     self.assertTrue('MUSR00015196_1' not in mtd)
     self.assertTrue('MUSR00015196_2' not in mtd)
     self.assertTrue('MUSR00015197_1' not in mtd)
     self.assertTrue('MUSR00015197_2' not in mtd)
     mtd.clear()
 def testD17SlitWidthLogEntry(self):
     ws = illhelpers.create_poor_mans_d17_workspace()
     mtd.add('ws', ws)
     illhelpers.add_slit_configuration_D17(ws, 0.03, 0.02)
     run = ws.run()
     instrName = common.instrumentName(ws)
     slit2width = run.get(common.slitSizeLogEntry(instrName, 1))
     slit3width = run.get(common.slitSizeLogEntry(instrName, 2))
     common.slitSizes(ws)
     self.assertEquals(slit2width.value, run.getProperty(common.SampleLogs.SLIT2WIDTH).value)
     self.assertEquals(slit3width.value, run.getProperty(common.SampleLogs.SLIT3WIDTH).value)
     mtd.clear()
Esempio n. 24
0
    def __del__(self):
        """
        Destructor removes output files after tests and workspaces.
        :return:
        """

        try:
            AbinsTestHelpers.remove_output_files(list_of_names=[self._system_name])
        except TypeError:
            # nothing to remove but it is OK
            pass

        mtd.clear()
Esempio n. 25
0
    def __del__(self):
        """
        Destructor removes output files after tests and workspaces.
        :return:
        """

        try:
            AbinsTestHelpers.remove_output_files(list_of_names=[self._system_name])
        except TypeError:
            # nothing to remove but it is OK
            pass

        mtd.clear()
Esempio n. 26
0
    def test_load_component_info(self):
        from mantid.simpleapi import mtd
        mtd.clear()

        ds = sc.Dataset()

        sc.compat.mantid.load_component_info(
            ds, MantidDataHelper.find_file("iris26176_graphite002_sqw.nxs"))

        # check that no workspaces have been leaked in the ADS
        assert len(mtd) == 0, f"Workspaces present: {mtd.getObjectNames()}"

        self.assertTrue("source_position" in ds.coords)
        self.assertTrue("sample_position" in ds.coords)
        self.assertTrue("position" in ds.coords)
Esempio n. 27
0
 def test_Workspace2D_with_include_monitors(self):
     from mantid.simpleapi import mtd
     mtd.clear()
     filename = MantidDataHelper.find_file("WISH00016748.raw")
     ds = mantidcompat.load(filename,
                            mantid_args={"LoadMonitors": "Include"})
     self.assertEqual(len(mtd), 0, mtd.getObjectNames())
     attrs = ds.attrs.keys()
     expected_monitor_attrs = set(
         ["monitor1", "monitor2", "monitor3", "monitor4", "monitor5"])
     assert expected_monitor_attrs.issubset(attrs)
     for monitor_name in expected_monitor_attrs:
         monitors = ds.attrs[monitor_name].values
         assert isinstance(monitors, sc.DataArray)
         assert monitors.shape == [4471]
Esempio n. 28
0
    def test_WorkspaceGroup_parsed_correctly(self):
        from mantid.simpleapi import (mtd, CreateSampleWorkspace,
                                      GroupWorkspaces)
        CreateSampleWorkspace(OutputWorkspace="ws1")
        CreateSampleWorkspace(OutputWorkspace="ws2")
        CreateSampleWorkspace(OutputWorkspace="ws3")
        GroupWorkspaces(InputWorkspaces="ws1,ws2,ws3",
                        OutputWorkspace="NewGroup")

        converted_group = scn.from_mantid(mtd["NewGroup"])
        converted_single = scn.from_mantid(mtd["ws1"])

        assert len(converted_group) == 3
        assert sc.identical(converted_group['ws1'], converted_single)

        mtd.clear()
Esempio n. 29
0
 def test_EventWorkspace_with_monitors(self):
     from mantid.simpleapi import mtd
     mtd.clear()
     ds = scn.load(scn.data.get_path("CNCS_51936_event.nxs"),
                   mantid_args={
                       "LoadMonitors": True,
                       "SpectrumMax": 1
                   })
     self.assertEqual(len(mtd), 0, mtd.getObjectNames())
     attrs = [str(key) for key in ds.attrs.keys()]
     expected_monitor_attrs = {"monitor2", "monitor3"}
     assert expected_monitor_attrs.issubset(attrs)
     for monitor_name in expected_monitor_attrs:
         monitor = ds.attrs[monitor_name].value
         assert isinstance(monitor, sc.DataArray)
         assert monitor.shape == [200001]
         self.check_monitor_metadata(monitor)
 def test_load_with_material(self):
     ws_name = 'test-sample'
     geometry = {
         'Shape': 'Cylinder',
         'Radius': 0.3175,
         'Center': [0.0, 0.0, 0.0],
         'Height': 4.0
     }
     formula = 'Si'
     mass_density = 2.328
     actual = load(ws_name=ws_name,
                   input_files=self.sample_file_path,
                   geometry=geometry,
                   chemical_formula=formula,
                   mass_density=mass_density,
                   **self.align_and_focus_args)
     actual = mtd[actual]
     self.assertEqual(actual.sample().getMaterial().name(), 'Si')
     mtd.clear()
Esempio n. 31
0
def test_to_workspace_2d_handles_single_spectra():
    from mantid.simpleapi import mtd
    mtd.clear()

    expected_x = [0., 1., 2.]
    expected_y = [10., 20., 30.]
    expected_e = [4., 4., 4.]

    x = sc.Variable(dims=['tof'], values=expected_x)
    y = sc.Variable(dims=['tof'], values=expected_y, variances=expected_e)
    data = sc.DataArray(data=y, coords={'tof': x})

    ws = scn.to_mantid(data, "tof")

    assert ws.getNumberHistograms() == 1

    assert np.equal(ws.readX(0), expected_x).all()
    assert np.equal(ws.readY(0), expected_y).all()
    assert np.equal(ws.readE(0), np.sqrt(expected_e)).all()
Esempio n. 32
0
 def test_Workspace2D_with_include_monitors(self):
     from mantid.simpleapi import mtd
     mtd.clear()
     # This test would use 20 GB of memory if "SpectrumMax" was not set
     ds = scn.load(scn.data.get_path("WISH00016748.raw"),
                   mantid_args={
                       "LoadMonitors": "Include",
                       "SpectrumMax": 100
                   })
     self.assertEqual(len(mtd), 0, mtd.getObjectNames())
     attrs = [str(key) for key in ds.attrs.keys()]
     expected_monitor_attrs = {
         "monitor1", "monitor2", "monitor3", "monitor4", "monitor5"
     }
     assert expected_monitor_attrs.issubset(attrs)
     for monitor_name in expected_monitor_attrs:
         monitor = ds.attrs[monitor_name].value
         assert isinstance(monitor, sc.DataArray)
         assert monitor.shape == [4471]
         self.check_monitor_metadata(monitor)
Esempio n. 33
0
    def test_fit_executes(self):
        """
        Tests that the fit executes, and the outputs
        are moved into the dataset. Does not check the fit values.
        """
        from mantid.simpleapi import Load, mtd
        mtd.clear()

        ws = Load(MantidDataHelper.find_file("iris26176_graphite002_sqw.nxs"),
                  StoreInADS=False)

        fit_ds = sc.compat.mantid.fit(ws, 'name=LinearBackground,A0=0,A1=1', 0,
                                      0, 3)

        # check that no workspaces have been leaked in the ADS
        self.assertEqual(len(mtd), 0, mtd.getObjectNames())
        self.assertTrue("workspace" in fit_ds)
        self.assertTrue("normalised_covariance_matrix" in fit_ds)
        self.assertTrue("parameters" in fit_ds)
        self.assertTrue("cost_function" in fit_ds.attrs)
        self.assertTrue("function" in fit_ds.attrs)
        self.assertTrue("status" in fit_ds.attrs)
        self.assertTrue("chi2_over_DoF" in fit_ds.attrs)
Esempio n. 34
0
 def test_EventWorkspace_with_monitors(self):
     from mantid.simpleapi import mtd
     mtd.clear()
     filename = MantidDataHelper.find_file("CNCS_51936_event.nxs")
     ds = mantidcompat.load(filename, mantid_args={"LoadMonitors": True})
     self.assertEqual(len(mtd), 0, mtd.getObjectNames())
     attrs = ds.attrs.keys()
     expected_monitor_attrs = set(["monitor2", "monitor3"])
     assert expected_monitor_attrs.issubset(attrs)
     for monitor_name in expected_monitor_attrs:
         monitor = ds.attrs[monitor_name].value
         assert isinstance(monitor, sc.DataArray)
         assert monitor.shape == [200001]
         assert 'position' in monitor.coords
         assert 'source_position' in monitor.coords
         # This is essential, otherwise unit conversion assumes scattering
         # from sample:
         assert 'sample_position' not in monitor.coords
         # Absence of the following is not crucial, but currently there is
         # no need for these, and it avoid duplication:
         assert 'detector_info' not in monitor.coords
         assert 'run' not in monitor.attrs
         assert 'sample' not in monitor.attrs
Esempio n. 35
0
def test_to_workspace_2d_handles_single_x_array():
    from mantid.simpleapi import mtd
    mtd.clear()

    expected_x = [0., 1., 2.]
    expected_y = [[10., 20., 30.], [40., 50., 60.]]
    expected_e = [[4., 4., 4.], [4., 4., 4.]]

    x = sc.Variable(dims=['tof'], values=expected_x)
    y = sc.Variable(dims=['spectrum', 'tof'],
                    values=np.array(expected_y),
                    variances=np.array(expected_e))
    data = sc.DataArray(data=y, coords={'tof': x})

    ws = scn.to_mantid(data, "tof")

    assert ws.getNumberHistograms() == 2
    assert np.equal(ws.readX(0), expected_x).all()
    assert np.equal(ws.readX(1), expected_x).all()

    for i, (y_vals, e_vals) in enumerate(zip(expected_y, expected_e)):
        assert np.equal(ws.readY(i), y_vals).all()
        assert np.equal(ws.readE(i), np.sqrt(e_vals)).all()
Esempio n. 36
0
    def test_to_workspace_2d_no_error(self):
        from mantid.simpleapi import mtd
        mtd.clear()

        # All Dims for which support is expected are
        # tested in the parametrized test.
        # Just set this one to a working one to avoid
        # generating many repetitive tests.
        param_dim = Dim.Tof

        data_len = 2
        expected_bins = data_len + 1
        expected_number_spectra = 10

        y = sc.Variable([Dim.Spectrum, param_dim],
                        values=np.random.rand(expected_number_spectra,
                                              data_len))

        x = sc.Variable([Dim.Spectrum, param_dim],
                        values=np.arange(
                            expected_number_spectra * expected_bins,
                            dtype=np.float64).reshape(
                                (expected_number_spectra, expected_bins)))

        ws = sc.compat.mantid.to_workspace_2d(x.values, y.values, None,
                                              param_dim)

        assert len(ws.readX(0)) == expected_bins
        assert ws.getNumberHistograms() == expected_number_spectra
        # check that no workspaces have been leaked in the ADS
        assert len(mtd) == 0, f"Workspaces present: {mtd.getObjectNames()}"

        for i in range(expected_number_spectra):
            np.testing.assert_array_equal(ws.readX(i), x[Dim.Spectrum, i])
            np.testing.assert_array_equal(ws.readY(i), y[Dim.Spectrum, i])
            np.testing.assert_array_equal(ws.readE(i),
                                          np.sqrt(y[Dim.Spectrum, i].values))
 def tearDown(self):
     mtd.clear()
Esempio n. 38
0
 def tearDown(self):
     AbinsTestHelpers.remove_output_files(list_of_names=["explicit",  "default", "total", "squaricn_sum_Abins",
                                                         "squaricn_scale", "benzene_exp", "benzene_Abins",
                                                         "experimental"])
     mtd.clear()
 def tearDown(self):
     AbinsTestHelpers.remove_output_files(list_of_names=["AbinsAdvanced"])
     mtd.clear()
Esempio n. 40
0
 def tearDown(self):
     config['default.facility'] = self._facility
     mtd.clear()
Esempio n. 41
0
 def test_specific_loader(self):
     out5 = LoadAndMerge(Filename='170257',LoaderName='LoadILLIndirect',)
     self.assertTrue(out5)
     self.assertEquals(out5.name(), 'out5')
     self.assertTrue(isinstance(out5, MatrixWorkspace))
     mtd.clear()
Esempio n. 42
0
 def cleanup(self):
     mtd.clear()
Esempio n. 43
0
 def test_many_runs_summed(self):
     out2 = LoadAndMerge(Filename='170257+170258',LoaderName='LoadILLIndirect')
     self.assertTrue(out2)
     self.assertEquals(out2.name(), 'out2')
     self.assertTrue(isinstance(out2, MatrixWorkspace))
     mtd.clear()
Esempio n. 44
0
 def tearDown(self):
     mtd.clear()
Esempio n. 45
0
 def test_single_run_load(self):
     out1 = LoadAndMerge(Filename='170257')
     self.assertTrue(out1)
     self.assertEquals(out1.name(), 'out1')
     self.assertTrue(isinstance(out1, MatrixWorkspace))
     mtd.clear()