Index: src/sas/qtgui/UnitTesting/GuiManagerTest.py
===================================================================
--- src/sas/qtgui/UnitTesting/GuiManagerTest.py	(revision 31c5b583d8c577c4ed72be87d22d34ec2ed50c04)
+++ src/sas/qtgui/UnitTesting/GuiManagerTest.py	(revision 64f1e93f1ae889a528e0186e82bbbc473c1cc6ee)
@@ -119,4 +119,6 @@
         Test that the custom exit method is called on shutdown
         """
+        self.manager._workspace.show()
+
         # Must mask sys.exit, otherwise the whole testing process stops.
         sys.exit = MagicMock()
Index: src/sas/qtgui/UnitTesting/Plotter2DTest.py
===================================================================
--- src/sas/qtgui/UnitTesting/Plotter2DTest.py	(revision 55d89f89e773b2faf78331b3fdae988c7fe5f2ce)
+++ src/sas/qtgui/UnitTesting/Plotter2DTest.py	(revision 64f1e93f1ae889a528e0186e82bbbc473c1cc6ee)
@@ -6,4 +6,5 @@
 from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
 from mock import MagicMock
+from mpl_toolkits.mplot3d import Axes3D
 
 ####### TEMP
@@ -54,9 +55,19 @@
         self.plotter.data = self.data
         self.plotter.show()
-        FigureCanvas.draw = MagicMock()
+        FigureCanvas.draw_idle = MagicMock()
 
         self.plotter.plot()
 
-        #self.assertTrue(FigureCanvas.draw.called)
+        self.assertTrue(FigureCanvas.draw_idle.called)
+
+    def testOnToggleScale(self):
+        """ Respond to the event by replotting """
+        self.plotter.data = self.data
+        self.plotter.show()
+        FigureCanvas.draw_idle = MagicMock()
+
+        self.plotter.onToggleScale(None)
+
+        self.assertTrue(FigureCanvas.draw_idle.called)
 
     def testContextMenuQuickPlot(self):
@@ -99,7 +110,64 @@
         # Trigger Change Scale and make sure the method is called
         self.assertEqual(actions[6].text(), "Toggle Linear/Log Scale")
+        FigureCanvas.draw_idle = MagicMock()
+        actions[6].trigger()
+        self.assertTrue(FigureCanvas.draw_idle.called)
+
+    def testShowNoPlot(self):
+        """ Test the plot rendering and generation """
+
+        FigureCanvas.draw_idle = MagicMock()
         FigureCanvas.draw = MagicMock()
-        actions[6].trigger()
-        #self.assertTrue(FigureCanvas.draw.called)
+
+        # Test early return on no data
+        self.plotter.showPlot(data=None,
+                              qx_data=self.data.qx_data,
+                              qy_data=self.data.qy_data,
+                              xmin=self.data.xmin,
+                              xmax=self.data.xmax,
+                              ymin=self.data.ymin, ymax=self.data.ymax,
+                              cmap=None, zmin=None,
+                              zmax=None)
+
+        self.assertFalse(FigureCanvas.draw_idle.called)
+        self.assertFalse(FigureCanvas.draw.called)
+
+    def testShow3DPlot(self):
+        """ Test the 3Dplot rendering and generation """
+        # Test 3D printout
+        FigureCanvas.draw = MagicMock()
+        Axes3D.plot_surface = MagicMock()
+        self.plotter.figure.colorbar = MagicMock()
+
+        self.plotter.dimension = 3
+        self.plotter.data = self.data
+        self.plotter.showPlot(data=self.plotter.data.data,
+                              qx_data=self.data.qx_data,
+                              qy_data=self.data.qy_data,
+                              xmin=self.data.xmin,
+                              xmax=self.data.xmax,
+                              ymin=self.data.ymin, ymax=self.data.ymax,
+                              cmap=None, zmin=None,
+                              zmax=None)
+        self.assertTrue(Axes3D.plot_surface.called)
+        self.assertTrue(FigureCanvas.draw.called)
+
+    def testShow2DPlot(self):
+        """ Test the 2Dplot rendering and generation """
+        # Test 2D printout
+        FigureCanvas.draw_idle = MagicMock()
+        self.plotter.figure.colorbar = MagicMock()
+
+        self.plotter.dimension = 2
+        self.plotter.data = self.data
+        self.plotter.showPlot(data=self.plotter.data.data,
+                              qx_data=self.data.qx_data,
+                              qy_data=self.data.qy_data,
+                              xmin=self.data.xmin,
+                              xmax=self.data.xmax,
+                              ymin=self.data.ymin, ymax=self.data.ymax,
+                              cmap=None, zmin=None,
+                              zmax=None)
+        self.assertTrue(FigureCanvas.draw_idle.called)
 
 
Index: src/sas/qtgui/UnitTesting/PlotterTest.py
===================================================================
--- src/sas/qtgui/UnitTesting/PlotterTest.py	(revision 6d05e1d115a38b7805a83cb480014af70b58ef75)
+++ src/sas/qtgui/UnitTesting/PlotterTest.py	(revision 64f1e93f1ae889a528e0186e82bbbc473c1cc6ee)
@@ -100,15 +100,45 @@
         self.plotter.data = self.data
 
-        self.plotter.xyTransform(xLabel="ln(x)", yLabel="ln(y)")
-        self.assertEqual(self.plotter.ax.get_xlabel(), "$\\ln{()}()$")
+        self.plotter.xyTransform(xLabel="x", yLabel="y")
+        self.assertEqual(self.plotter.ax.get_xlabel(), "$()$")
+        self.assertEqual(self.plotter.ax.get_ylabel(), "$()$")
+
+        self.plotter.xyTransform(xLabel="x^(2)", yLabel="1/y")
+        self.assertEqual(self.plotter.ax.get_xlabel(), "$^{2}(()^{2})$")
+        self.assertEqual(self.plotter.ax.get_ylabel(), "$1/(()^{-1})$")
+
+        self.plotter.xyTransform(xLabel="x^(4)", yLabel="ln(y)")
+        self.assertEqual(self.plotter.ax.get_xlabel(), "$^{4}(()^{4})$")
         self.assertEqual(self.plotter.ax.get_ylabel(), "$\\ln{()}()$")
 
-        self.plotter.xyTransform(xLabel="ln(x)", yLabel="ln(y)")
+        self.plotter.xyTransform(xLabel="ln(x)", yLabel="y^(2)")
         self.assertEqual(self.plotter.ax.get_xlabel(), "$\\ln{()}()$")
-        self.assertEqual(self.plotter.ax.get_ylabel(), "$\\ln{()}()$")
+        self.assertEqual(self.plotter.ax.get_ylabel(), "$^{2}(()^{2})$")
 
-        self.plotter.xyTransform(xLabel="x^(2)", yLabel="1/sqrt(y)")
-        self.assertEqual(self.plotter.ax.get_xlabel(), "$^{2}(()^{2})$")
+        self.plotter.xyTransform(xLabel="log10(x)", yLabel="y*x^(2)")
+        self.assertEqual(self.plotter.ax.get_xlabel(), "$()$")
+        self.assertEqual(self.plotter.ax.get_ylabel(), "$ \\ \\ ^{2}(()^{2})$")
+
+        self.plotter.xyTransform(xLabel="log10(x^(4))", yLabel="y*x^(4)")
+        self.assertEqual(self.plotter.ax.get_xlabel(), "$^{4}(()^{4})$")
+        self.assertEqual(self.plotter.ax.get_ylabel(), "$ \\ \\ ^{4}(()^{16})$")
+
+        self.plotter.xyTransform(xLabel="x", yLabel="1/sqrt(y)")
         self.assertEqual(self.plotter.ax.get_ylabel(), "$1/\\sqrt{}(()^{-0.5})$")
+
+        self.plotter.xyTransform(xLabel="x", yLabel="log10(y)")
+        self.assertEqual(self.plotter.ax.get_ylabel(), "$()$")
+
+        self.plotter.xyTransform(xLabel="x", yLabel="ln(y*x)")
+        self.assertEqual(self.plotter.ax.get_ylabel(), "$\\ln{( \\ \\ )}()$")
+
+        self.plotter.xyTransform(xLabel="x", yLabel="ln(y*x^(2))")
+        self.assertEqual(self.plotter.ax.get_ylabel(), "$\\ln ( \\ \\ ^{2})(()^{2})$")
+
+        self.plotter.xyTransform(xLabel="x", yLabel="ln(y*x^(4))")
+        self.assertEqual(self.plotter.ax.get_ylabel(), "$\\ln ( \\ \\ ^{4})(()^{4})$")
+
+        self.plotter.xyTransform(xLabel="x", yLabel="log10(y*x^(4))")
+        self.assertEqual(self.plotter.ax.get_ylabel(), "$ \\ \\ ^{4}(()^{4})$")
 
 if __name__ == "__main__":
