示例#1
0
 def test_MatchAndMergeWorkspaces_produces_correct_range(self):
     x_min = np.array([2, 5, 10, 15, 20])
     x_max = np.array([10, 20, 30, 40, 45])
     ws_merged = MatchAndMergeWorkspaces(InputWorkspaces='ws_group', XMin=x_min, XMax=x_max)
     self.assertIsInstance(ws_merged, MatrixWorkspace)
     self.assertEqual(ws_merged.getNumberHistograms(), 1)
     self.assertAlmostEqual(min(ws_merged.dataX(0)), 2, places=0)
     self.assertAlmostEqual(max(ws_merged.dataX(0)), 45, places=0)
示例#2
0
 def test_MatchAndMergeWorkspaces_accepts_a_list_of_workspaces(self):
     x_min = np.array([2, 5, 10])
     x_max = np.array([10, 20, 30])
     ws_group = AnalysisDataService.retrieve('ws_group')
     ws_list = [ws_group[0], ws_group[1], ws_group[2]]
     ws_merged = MatchAndMergeWorkspaces(InputWorkspaces=ws_list, XMin=x_min, XMax=x_max)
     self.assertIsInstance(ws_merged, MatrixWorkspace)
     self.assertEqual(ws_merged.getNumberHistograms(), 1)
     self.assertAlmostEqual(min(ws_merged.dataX(0)), 2, places=0)
     self.assertAlmostEqual(max(ws_merged.dataX(0)), 30, places=0)
示例#3
0
 def test_MatchAndMergeWorkspaces_accepts_a_mixture_of_ws_size(self):
     x_min = np.array([2, 5, 10, 15, 20])
     x_max = np.array([10, 20, 30, 40, 45])
     ws_group = AnalysisDataService.retrieve('ws_group')
     ConjoinWorkspaces(InputWorkspace1=ws_group[3],
                       InputWorkspace2=ws_group[4],
                       CheckOverlapping=False)
     ws_list = [ws_group[0], ws_group[1], ws_group[2], ws_group[3]]
     ws_merged = MatchAndMergeWorkspaces(InputWorkspaces=ws_list, XMin=x_min, XMax=x_max)
     self.assertIsInstance(ws_merged, MatrixWorkspace)
     self.assertEqual(ws_merged.getNumberHistograms(), 1)
     self.assertAlmostEqual(min(ws_merged.dataX(0)), 2, places=0)
     self.assertAlmostEqual(max(ws_merged.dataX(0)), 45, places=0)
示例#4
0
    def test_exclude_banks(self):
        self.create_larger_group()

        x_min = np.array([2, 5, 10, 15, 20])
        x_max = np.array([10, 20, 30, 40, 45])
        ws_group_large = AnalysisDataService.retrieve('ws_group_large')
        ws_merged = MatchAndMergeWorkspaces(InputWorkspaces=ws_group_large, XMin=x_min, XMax=x_max)
        self.assertEqual(ws_merged.getNumberHistograms(), 1)

        x_min_ex = np.array([-1, 5, 10, 15, 20])
        x_max_ex = np.array([-1, 20, 30, 40, 45])
        ws_merged_ex = MatchAndMergeWorkspaces(InputWorkspaces=ws_group_large, XMin=x_min_ex, XMax=x_max_ex)
        self.assertEqual(ws_merged_ex.getNumberHistograms(), 1)
        self.assertNotEqual(ws_merged.dataX(0)[0], ws_merged_ex.dataX(0)[0])