Index: src/sas/qtgui/UnitTesting/DataExplorerTest.py
===================================================================
--- src/sas/qtgui/UnitTesting/DataExplorerTest.py	(revision 31c5b583d8c577c4ed72be87d22d34ec2ed50c04)
+++ src/sas/qtgui/UnitTesting/DataExplorerTest.py	(revision 6d05e1d115a38b7805a83cb480014af70b58ef75)
@@ -506,5 +506,5 @@
         self.assertTrue(self.form.manager.add_data.called)
 
-    def testNewPlot(self):
+    def testNewPlot1D(self):
         """
         Creating new plots from Data1D/2D
@@ -521,4 +521,37 @@
         # get Data1D
         p_file="cyl_400_20.txt"
+        output_object = loader.load(p_file)
+        new_data = [manager.create_gui_data(output_object, p_file)]
+
+        # Mask retrieval of the data
+        self.form.plotsFromCheckedItems = MagicMock(return_value=new_data)
+
+        # Mask plotting
+        self.form.parent.workspace = MagicMock()
+
+        # Call the plotting method
+        self.form.newPlot()
+
+        # The plot was registered
+        self.assertEqual(len(PlotHelper.currentPlots()), 1)
+
+        self.assertTrue(self.form.cbgraph.isEnabled())
+        self.assertTrue(self.form.cmdAppend.isEnabled())
+
+    def testNewPlot2D(self):
+        """
+        Creating new plots from Data1D/2D
+        """
+        loader = Loader()
+        manager = DataManager()
+        PlotHelper.clear()
+        self.form.enableGraphCombo(None)
+
+        # Make sure the controls are disabled
+        self.assertFalse(self.form.cbgraph.isEnabled())
+        self.assertFalse(self.form.cmdAppend.isEnabled())
+
+        # get Data2D
+        p_file="Dec07031.ASC"
         output_object = loader.load(p_file)
         new_data = [manager.create_gui_data(output_object, p_file)]
Index: src/sas/qtgui/UnitTesting/PlotterTest.py
===================================================================
--- src/sas/qtgui/UnitTesting/PlotterTest.py	(revision f721030e66e61dc6279aa8e024da03b25f8e0d42)
+++ src/sas/qtgui/UnitTesting/PlotterTest.py	(revision 6d05e1d115a38b7805a83cb480014af70b58ef75)
@@ -0,0 +1,115 @@
+import sys
+import unittest
+
+from PyQt4 import QtGui
+from PyQt4 import QtCore
+from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
+from mock import MagicMock
+
+####### TEMP
+import LocalSetup
+#######
+from sas.sasgui.guiframe.dataFitting import Data1D
+from sas.sasgui.guiframe.dataFitting import Data2D
+from UnitTesting.TestUtils import QtSignalSpy
+
+# Tested module
+import sas.qtgui.Plotter as Plotter
+
+app = QtGui.QApplication(sys.argv)
+
+class PlotterTest(unittest.TestCase):
+    '''Test the Plotter 1D class'''
+    def setUp(self):
+        '''create'''
+        self.plotter = Plotter.Plotter(None, quickplot=True)
+        self.data = Data1D(x=[1.0, 2.0, 3.0],
+                           y=[10.0, 11.0, 12.0],
+                           dx=[0.1, 0.2, 0.3],
+                           dy=[0.1, 0.2, 0.3])
+        self.data.title="Test data"
+        self.data.id = 1
+
+    def tearDown(self):
+        '''destroy'''
+        self.plotter = None
+
+    def testDataProperty(self):
+        """ Adding data """
+        self.plotter.data = self.data
+
+        self.assertEqual(self.plotter.data, self.data)
+        self.assertEqual(self.plotter._title, self.data.title)
+        self.assertEqual(self.plotter.xLabel, "$()$")
+        self.assertEqual(self.plotter.yLabel, "$()$")
+
+    def testPlot(self):
+        """ Look at the plotting """
+        self.plotter.data = self.data
+        self.plotter.show()
+        FigureCanvas.draw = MagicMock()
+
+        self.plotter.plot()
+
+        self.assertTrue(FigureCanvas.draw.called)
+
+    def testContextMenuQuickPlot(self):
+        """ Test the right click menu """
+        actions = self.plotter.contextMenu.actions()
+        self.assertEqual(len(actions), 7)
+
+        # Trigger Save Image and make sure the method is called
+        self.assertEqual(actions[0].text(), "Save Image")
+        self.plotter.toolbar.save_figure = MagicMock()
+        actions[0].trigger()
+        self.assertTrue(self.plotter.toolbar.save_figure.called)
+
+        # Trigger Print Image and make sure the method is called
+        self.assertEqual(actions[1].text(), "Print Image")
+        QtGui.QPrintDialog.exec_ = MagicMock(return_value=QtGui.QDialog.Rejected)
+        actions[1].trigger()
+        self.assertTrue(QtGui.QPrintDialog.exec_.called)
+
+        # Trigger Copy to Clipboard and make sure the method is called
+        self.assertEqual(actions[2].text(), "Copy to Clipboard")
+
+        # Spy on cliboard's dataChanged() signal
+        self.clipboard_called = False
+        def done():
+            self.clipboard_called = True
+        QtCore.QObject.connect(app.clipboard(), QtCore.SIGNAL("dataChanged()"), done)
+        actions[2].trigger()
+        QtGui.qApp.processEvents()
+        # Make sure clipboard got updated.
+        self.assertTrue(self.clipboard_called)
+
+        # Trigger Toggle Grid and make sure the method is called
+        self.assertEqual(actions[4].text(), "Toggle Grid On/Off")
+        self.plotter.ax.grid = MagicMock()
+        actions[4].trigger()
+        self.assertTrue(self.plotter.ax.grid.called)
+
+        # Trigger Change Scale and make sure the method is called
+        self.assertEqual(actions[6].text(), "Change Scale")
+        self.plotter.properties.exec_ = MagicMock(return_value=QtGui.QDialog.Rejected)
+        actions[6].trigger()
+        self.assertTrue(self.plotter.properties.exec_.called)
+
+    def testXYTransform(self):
+        """ Assure the unit/legend transformation is correct"""
+        self.plotter.data = self.data
+
+        self.plotter.xyTransform(xLabel="ln(x)", yLabel="ln(y)")
+        self.assertEqual(self.plotter.ax.get_xlabel(), "$\\ln{()}()$")
+        self.assertEqual(self.plotter.ax.get_ylabel(), "$\\ln{()}()$")
+
+        self.plotter.xyTransform(xLabel="ln(x)", yLabel="ln(y)")
+        self.assertEqual(self.plotter.ax.get_xlabel(), "$\\ln{()}()$")
+        self.assertEqual(self.plotter.ax.get_ylabel(), "$\\ln{()}()$")
+
+        self.plotter.xyTransform(xLabel="x^(2)", yLabel="1/sqrt(y)")
+        self.assertEqual(self.plotter.ax.get_xlabel(), "$^{2}(()^{2})$")
+        self.assertEqual(self.plotter.ax.get_ylabel(), "$1/\\sqrt{}(()^{-0.5})$")
+
+if __name__ == "__main__":
+    unittest.main()
Index: src/sas/qtgui/UnitTesting/ScalePropertiesTest.py
===================================================================
--- src/sas/qtgui/UnitTesting/ScalePropertiesTest.py	(revision 6d05e1d115a38b7805a83cb480014af70b58ef75)
+++ src/sas/qtgui/UnitTesting/ScalePropertiesTest.py	(revision 6d05e1d115a38b7805a83cb480014af70b58ef75)
@@ -0,0 +1,60 @@
+import sys
+import unittest
+
+from PyQt4 import QtGui
+
+# set up import paths
+import path_prepare
+
+# Local
+from ScaleProperties import ScaleProperties
+
+app = QtGui.QApplication(sys.argv)
+
+class ScalePropertiesTest(unittest.TestCase):
+    '''Test the ScaleProperties'''
+    def setUp(self):
+        '''Create the ScaleProperties'''
+
+        self.widget = ScaleProperties(None)
+
+    def tearDown(self):
+        '''Destroy the GUI'''
+        self.widget.close()
+        self.widget = None
+
+    def testDefaults(self):
+        '''Test the GUI in its default state'''
+        self.assertIsInstance(self.widget, QtGui.QDialog)
+        self.assertEqual(self.widget.windowTitle(), "Scale Properties")
+        self.assertEqual(self.widget.cbX.count(), 6)
+        self.assertEqual(self.widget.cbY.count(), 12)
+        self.assertEqual(self.widget.cbView.count(), 6)
+        
+    def testGetValues(self):
+        '''Test the values returned'''
+        self.assertEqual(self.widget.getValues(), ("x", "y"))
+        self.widget.cbX.setCurrentIndex(2)
+        self.widget.cbY.setCurrentIndex(4)
+        self.assertEqual(self.widget.getValues(), ("x^(4)", "y*x^(2)"))
+
+    def testSettingView(self):
+        '''Test various settings of view'''
+        self.widget.cbView.setCurrentIndex(1)
+        self.assertEqual(self.widget.getValues(), ("x", "y"))
+        self.widget.cbView.setCurrentIndex(5)
+        self.assertEqual(self.widget.getValues(), ("x", "y*x^(2)"))
+
+        # Assure the View combobox resets on the x index changes
+        self.assertNotEqual(self.widget.cbView.currentIndex(), 0)
+        self.widget.cbX.setCurrentIndex(2)
+        self.assertEqual(self.widget.cbView.currentIndex(), 0)
+
+        # Same for Y
+        self.widget.cbView.setCurrentIndex(6)
+        self.assertNotEqual(self.widget.cbView.currentIndex(), 0)
+        self.widget.cbY.setCurrentIndex(2)
+        self.assertEqual(self.widget.cbView.currentIndex(), 0)
+      
+if __name__ == "__main__":
+    unittest.main()
