Index: nsdataloader/test/utest_manipulations.py
===================================================================
--- sansdataloader/test/utest_manipulations.py	(revision 72538fc4e01aad62f531f898d3a53de2e6f7ab77)
+++ 	(revision )
@@ -1,242 +1,0 @@
-"""
-    Unit tests for data manipulations
-"""
-#TODO: what happens if you add a Data1D to a Data2D?
-
-import unittest
-import numpy, math
-from sans.dataloader.loader import  Loader
-from sans.guiframe.dataFitting import Data1D, Data2D
- 
-import os.path
-
-class data_info_tests(unittest.TestCase):
-    
-    def setUp(self):
-        self.data = Loader().load("cansas1d.xml")
-        
-    def test_clone1D(self):
-        """
-            Test basic cloning
-        """
-        clone = self.data.clone_without_data()
-        
-        for i in range(len(self.data.detector)):
-            self.assertEqual(self.data.detector[i].distance, clone.detector[i].distance)
-            
-
-class manip_tests(unittest.TestCase):
-    
-    def setUp(self):
-        # Create two data sets to play with
-        x_0 = numpy.ones(5)
-        for i in range(5):
-            x_0[i] = x_0[i]*(i+1.0)
-            
-        y_0 = 2.0*numpy.ones(5)
-        dy_0 = 0.5*numpy.ones(5)
-        self.data = Data1D(x_0, y_0, dy=dy_0)
-        
-        x = self.data.x
-        y = numpy.ones(5)
-        dy = numpy.ones(5)
-        self.data2 = Data1D(x, y, dy=dy)
-        
-        
-    def test_load(self):
-        """
-            Test whether the test file was loaded properly
-        """
-        # There should be 5 entries in the file
-        self.assertEqual(len(self.data.x), 5)
-        
-        for i in range(5):
-            # The x values should be from 1 to 5
-            self.assertEqual(self.data.x[i], float(i+1))
-        
-            # All y-error values should be 0.5
-            self.assertEqual(self.data.dy[i], 0.5)    
-            
-            # All y values should be 2.0
-            self.assertEqual(self.data.y[i], 2.0)    
-        
-    def test_add(self):
-        result = self.data2+self.data
-        for i in range(5):
-            self.assertEqual(result.y[i], 3.0)
-            self.assertEqual(result.dy[i], math.sqrt(0.5**2+1.0))
-        
-    def test_sub(self):
-        result = self.data2-self.data
-        for i in range(5):
-            self.assertEqual(result.y[i], -1.0)
-            self.assertEqual(result.dy[i], math.sqrt(0.5**2+1.0))
-        
-    def test_mul(self):
-        result = self.data2*self.data
-        for i in range(5):
-            self.assertEqual(result.y[i], 2.0)
-            self.assertEqual(result.dy[i], math.sqrt((0.5*1.0)**2+(1.0*2.0)**2))
-        
-    def test_div(self):
-        result = self.data2/self.data
-        for i in range(5):
-            self.assertEqual(result.y[i], 0.5)
-            self.assertEqual(result.dy[i], math.sqrt((1.0/2.0)**2+(0.5*1.0/4.0)**2))
-        
-    def test_radd(self):
-        result = self.data+3.0
-        for i in range(5):
-            self.assertEqual(result.y[i], 5.0)
-            self.assertEqual(result.dy[i], 0.5)
-            
-        result = 3.0+self.data
-        for i in range(5):
-            self.assertEqual(result.y[i], 5.0)
-            self.assertEqual(result.dy[i], 0.5)
-            
-    def test_rsub(self):
-        result = self.data-3.0
-        for i in range(5):
-            self.assertEqual(result.y[i], -1.0)
-            self.assertEqual(result.dy[i], 0.5)
-            
-        result = 3.0-self.data
-        for i in range(5):
-            self.assertEqual(result.y[i], 1.0)
-            self.assertEqual(result.dy[i], 0.5)
-            
-    def test_rmul(self):
-        result = self.data*3.0
-        for i in range(5):
-            self.assertEqual(result.y[i], 6.0)
-            self.assertEqual(result.dy[i], 1.5)
-            
-        result = 3.0*self.data
-        for i in range(5):
-            self.assertEqual(result.y[i], 6.0)
-            self.assertEqual(result.dy[i], 1.5)
-            
-    def test_rdiv(self):
-        result = self.data/4.0
-        for i in range(5):
-            self.assertEqual(result.y[i], 0.5)
-            self.assertEqual(result.dy[i], 0.125)
-            
-        result = 6.0/self.data
-        for i in range(5):
-            self.assertEqual(result.y[i], 3.0)
-            self.assertEqual(result.dy[i], 6.0*0.5/4.0)
-            
-class manip_2D(unittest.TestCase):
-    
-    def setUp(self):
-        # Create two data sets to play with
-        x_0 = 2.0*numpy.ones(25)
-        dx_0 = 0.5*numpy.ones(25)
-        qx_0 = numpy.arange(25)
-        qy_0 = numpy.arange(25)
-        mask_0 = numpy.zeros(25)
-        dqx_0 = numpy.arange(25)/100
-        dqy_0 = numpy.arange(25)/100
-        q_0 = numpy.sqrt(qx_0 * qx_0 + qy_0 * qy_0)
-        self.data = Data2D(image=x_0, err_image=dx_0, qx_data=qx_0, 
-                           qy_data=qy_0, q_data=q_0, mask=mask_0, 
-                           dqx_data=dqx_0, dqy_data=dqy_0)
-        
-        y = numpy.ones(25)
-        dy = numpy.ones(25)
-        qx = numpy.arange(25)
-        qy = numpy.arange(25)
-        mask = numpy.zeros(25)
-        q = numpy.sqrt(qx * qx + qy * qy)
-        self.data2 = Data2D(image=y, err_image=dy, qx_data=qx, qy_data=qy, 
-                            q_data=q, mask=mask)
-        
-        
-    def test_load(self):
-        """
-            Test whether the test file was loaded properly
-        """
-        # There should be 5 entries in the file
-        self.assertEqual(numpy.size(self.data.data), 25)
-        
-        for i in range(25):
-            # All y-error values should be 0.5
-            self.assertEqual(self.data.err_data[i], 0.5)    
-            
-            # All y values should be 2.0
-            self.assertEqual(self.data.data[i], 2.0)    
-        
-    def test_add(self):
-        result = self.data2+self.data
-        for i in range(25):
-            self.assertEqual(result.data[i], 3.0)
-            self.assertEqual(result.err_data[i], math.sqrt(0.5**2+1.0))
-        
-    def test_sub(self):
-        result = self.data2-self.data
-        for i in range(25):
-                self.assertEqual(result.data[i], -1.0)
-                self.assertEqual(result.err_data[i], math.sqrt(0.5**2+1.0))
-        
-    def test_mul(self):
-        result = self.data2*self.data
-        for i in range(25):
-            self.assertEqual(result.data[i], 2.0)
-            self.assertEqual(result.err_data[i], math.sqrt((0.5*1.0)**2+(1.0*2.0)**2))
-        
-    def test_div(self):
-        result = self.data2/self.data
-        for i in range(25):
-            self.assertEqual(result.data[i], 0.5)
-            self.assertEqual(result.err_data[i], math.sqrt((1.0/2.0)**2+(0.5*1.0/4.0)**2))
-        
-    def test_radd(self):
-        result = self.data+3.0
-        for i in range(25):
-            self.assertEqual(result.data[i], 5.0)
-            self.assertEqual(result.err_data[i], 0.5)
-   
-        result = 3.0+self.data
-        for i in range(25):
-            self.assertEqual(result.data[i], 5.0)
-            self.assertEqual(result.err_data[i], 0.5)
-            
-    def test_rsub(self):
-        result = self.data-3.0
-        for i in range(25):
-            self.assertEqual(result.data[i], -1.0)
-            self.assertEqual(result.err_data[i], 0.5)
-    
-        result = 3.0-self.data
-        for i in range(25):
-            self.assertEqual(result.data[i], 1.0)
-            self.assertEqual(result.err_data[i], 0.5)
-            
-    def test_rmul(self):
-        result = self.data*3.0
-        for i in range(25):
-            self.assertEqual(result.data[i], 6.0)
-            self.assertEqual(result.err_data[i], 1.5)
- 
-        result = 3.0*self.data
-        for i in range(25):
-            self.assertEqual(result.data[i], 6.0)
-            self.assertEqual(result.err_data[i], 1.5)
-            
-    def test_rdiv(self):
-        result = self.data/4.0
-        for i in range(25):
-            self.assertEqual(result.data[i], 0.5)
-            self.assertEqual(result.err_data[i], 0.125)
-
-        result = 6.0/self.data
-        for i in range(25):
-            self.assertEqual(result.data[i], 3.0)
-            self.assertEqual(result.err_data[i], 6.0*0.5/4.0)
-    
-
-if __name__ == '__main__':
-    unittest.main()
-   
Index: sansguiframe/test/utest_manipulations.py
===================================================================
--- sansguiframe/test/utest_manipulations.py	(revision 4a47244c9694e13f03a205b20c1ead721bd1c37e)
+++ sansguiframe/test/utest_manipulations.py	(revision e89bb4681b18e34c59cc13e2c157bd042b03f3a0)
@@ -257,4 +257,111 @@
             self.assertEqual(result.err_data[i], 6.0*0.5/4.0)
     
+class extra_manip_2D(unittest.TestCase):
+    
+    def setUp(self):
+        # Create two data sets to play with
+        x_0 = 2.0*numpy.ones(25)
+        dx_0 = 0.5*numpy.ones(25)
+        qx_0 = numpy.arange(25)
+        qy_0 = numpy.arange(25)
+        mask_0 = numpy.zeros(25)
+        dqx_0 = numpy.arange(25)/100
+        dqy_0 = numpy.arange(25)/100
+        q_0 = numpy.sqrt(qx_0 * qx_0 + qy_0 * qy_0)
+        self.data = Data2D(image=x_0, err_image=dx_0, qx_data=qx_0, 
+                           qy_data=qy_0, q_data=q_0, mask=mask_0, 
+                           dqx_data=dqx_0, dqy_data=dqy_0)
+        
+        y = numpy.ones(25)
+        dy = numpy.ones(25)
+        qx = numpy.arange(25)
+        qy = numpy.arange(25)
+        mask = numpy.zeros(25)
+        q = numpy.sqrt(qx * qx + qy * qy)
+        self.data2 = Data2D(image=y, err_image=dy, qx_data=qx, qy_data=qy, 
+                            q_data=q, mask=mask)
+        
+        
+    def test_load(self):
+        """
+            Test whether the test file was loaded properly
+        """
+        # There should be 5 entries in the file
+        self.assertEqual(numpy.size(self.data.data), 25)
+        
+        for i in range(25):
+            # All y-error values should be 0.5
+            self.assertEqual(self.data.err_data[i], 0.5)    
+            
+            # All y values should be 2.0
+            self.assertEqual(self.data.data[i], 2.0)    
+        
+    def test_add(self):
+        result = self.data2+self.data
+        for i in range(25):
+            self.assertEqual(result.data[i], 3.0)
+            self.assertEqual(result.err_data[i], math.sqrt(0.5**2+1.0))
+        
+    def test_sub(self):
+        result = self.data2-self.data
+        for i in range(25):
+                self.assertEqual(result.data[i], -1.0)
+                self.assertEqual(result.err_data[i], math.sqrt(0.5**2+1.0))
+        
+    def test_mul(self):
+        result = self.data2*self.data
+        for i in range(25):
+            self.assertEqual(result.data[i], 2.0)
+            self.assertEqual(result.err_data[i], math.sqrt((0.5*1.0)**2+(1.0*2.0)**2))
+        
+    def test_div(self):
+        result = self.data2/self.data
+        for i in range(25):
+            self.assertEqual(result.data[i], 0.5)
+            self.assertEqual(result.err_data[i], math.sqrt((1.0/2.0)**2+(0.5*1.0/4.0)**2))
+        
+    def test_radd(self):
+        result = self.data+3.0
+        for i in range(25):
+            self.assertEqual(result.data[i], 5.0)
+            self.assertEqual(result.err_data[i], 0.5)
+   
+        result = 3.0+self.data
+        for i in range(25):
+            self.assertEqual(result.data[i], 5.0)
+            self.assertEqual(result.err_data[i], 0.5)
+            
+    def test_rsub(self):
+        result = self.data-3.0
+        for i in range(25):
+            self.assertEqual(result.data[i], -1.0)
+            self.assertEqual(result.err_data[i], 0.5)
+    
+        result = 3.0-self.data
+        for i in range(25):
+            self.assertEqual(result.data[i], 1.0)
+            self.assertEqual(result.err_data[i], 0.5)
+            
+    def test_rmul(self):
+        result = self.data*3.0
+        for i in range(25):
+            self.assertEqual(result.data[i], 6.0)
+            self.assertEqual(result.err_data[i], 1.5)
+ 
+        result = 3.0*self.data
+        for i in range(25):
+            self.assertEqual(result.data[i], 6.0)
+            self.assertEqual(result.err_data[i], 1.5)
+            
+    def test_rdiv(self):
+        result = self.data/4.0
+        for i in range(25):
+            self.assertEqual(result.data[i], 0.5)
+            self.assertEqual(result.err_data[i], 0.125)
+
+        result = 6.0/self.data
+        for i in range(25):
+            self.assertEqual(result.data[i], 3.0)
+            self.assertEqual(result.err_data[i], 6.0*0.5/4.0)
 
 if __name__ == '__main__':
Index: st/nexus_reader.py
===================================================================
--- test/nexus_reader.py	(revision 33add9efe84973aabafcd900396ed14d962e78d6)
+++ 	(revision )
@@ -1,19 +1,0 @@
-import nxs
-filename = "/home/m2d/data/output/5729_frame1_Iqxy.nxs"
-
-fd = nxs.open(filename, 'rw')
-
-fd.opengroup('mantid_workspace_1')
-fd.opengroup('workspace')
-fd.opendata('values')
-y = fd.getdata().copy()
-
-fd.closedata()
-
-fd.opendata("errors")
-e = fd.getdata().copy()
-
-
-print y
-print e
-
Index: test/utest_sansview.py
===================================================================
--- test/utest_sansview.py	(revision d7b4957621214e5322ec7d527351b369843f7da2)
+++ test/utest_sansview.py	(revision e89bb4681b18e34c59cc13e2c157bd042b03f3a0)
@@ -9,5 +9,15 @@
     print "Try easy_install unittest-xml-reporting"
 
+# Check whether we have matplotlib installed
+HAS_MPL = True
+try:
+    import matplotlib
+except:
+    HAS_MPL = False
+
 SKIPPED_DIRS = ["sansrealspace", "calculatorview"]
+if not HAS_MPL:
+    SKIPPED_DIRS.append("sansguiframe")
+
 SANSVIEW_DIR = os.pardir
 COMMAND_SEP = ';'
