From 80b06afa493295072bb5ac73712f920cf36bf909 Mon Sep 17 00:00:00 2001
From: Alex Buts <Alex.Buts@stfc.ac.uk>
Date: Fri, 23 Oct 2015 10:21:42 +0100
Subject: [PATCH] Re #14022 Correct export type for matrix workspace

---
 .../api/src/Exports/MatrixWorkspace.cpp       |  4 +--
 .../python/mantid/api/MatrixWorkspaceTest.py  | 25 +++++++++++++------
 2 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/Framework/PythonInterface/mantid/api/src/Exports/MatrixWorkspace.cpp b/Framework/PythonInterface/mantid/api/src/Exports/MatrixWorkspace.cpp
index 4325fcb6252..288d897dd37 100644
--- a/Framework/PythonInterface/mantid/api/src/Exports/MatrixWorkspace.cpp
+++ b/Framework/PythonInterface/mantid/api/src/Exports/MatrixWorkspace.cpp
@@ -96,8 +96,8 @@ void setMonitorWorkspace(MatrixWorkspace &self,
 * 
 *@return weak pointer to monitor workspace used by python
 */
-boost::weak_ptr<MatrixWorkspace> getMonitorWorkspace(MatrixWorkspace &self) {
-	return boost::weak_ptr<MatrixWorkspace>(self.monitorWorkspace());
+boost::weak_ptr<Workspace> getMonitorWorkspace(MatrixWorkspace &self) {
+  return boost::weak_ptr<Workspace>(self.monitorWorkspace());
 }
 /**
  * Clear monitor workspace attached to for current workspace.
diff --git a/Framework/PythonInterface/test/python/mantid/api/MatrixWorkspaceTest.py b/Framework/PythonInterface/test/python/mantid/api/MatrixWorkspaceTest.py
index 791e14f7d66..e11d821084a 100644
--- a/Framework/PythonInterface/test/python/mantid/api/MatrixWorkspaceTest.py
+++ b/Framework/PythonInterface/test/python/mantid/api/MatrixWorkspaceTest.py
@@ -350,8 +350,12 @@ class MatrixWorkspaceTest(unittest.TestCase):
         run_algorithm('CreateWorkspace', OutputWorkspace='ws_mon',DataX=[1.,2.,3.], DataY=[2.,3.], DataE=[2.,3.],UnitX='TOF')
         
         ws1=AnalysisDataService.retrieve('ws1')
-        monWs = ws1.getMonitorWorkspace()
-        self.assertTrue(monWs is None)
+        try:
+            monWs = ws1.getMonitorWorkspace()
+            GotIt = True
+        except RuntimeError:
+            GotIt = False             
+        self.assertFalse(GotIt)
         
         monWs = AnalysisDataService.retrieve('ws_mon')
         ws1.setMonitorWorkspace(monWs)
@@ -361,22 +365,27 @@ class MatrixWorkspaceTest(unittest.TestCase):
         self.assertEquals(monWs.getTitle(), monWs1.getTitle())
         
         ws1.clearMonitorWorkspace()
-        monWs1 = ws1.getMonitorWorkspace()
-        self.assertTrue(monWs1 is None)
+        try:
+            monWs1 = ws1.getMonitorWorkspace()
+            GotIt = True
+        except RuntimeError:
+            GotIt = False             
+        self.assertFalse(GotIt)
 
         # Check weak pointer issues
         ws1.setMonitorWorkspace(monWs)
         wms=ws1.getMonitorWorkspace()
+
         allFine = False
         try:
-            ws1.setMonitorWorkspace(wms)
+            ws1.setMonitorWorkspace(wms) 
             allFine = True
         except ValueError:            
             pass
         self.assertTrue(allFine)
 
 if __name__ == '__main__':
-    #unittest.main()
+    unittest.main()
     #Testing particular test from Mantid
-    tester=MatrixWorkspaceTest('test_setGetMonitorWS')
-    tester.test_setGetMonitorWS()
+    #tester=MatrixWorkspaceTest('test_setGetMonitorWS')
+    #tester.test_setGetMonitorWS()
-- 
GitLab