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)
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)
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)
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])