Index: src/sas/qtgui/GuiManager.py
===================================================================
--- src/sas/qtgui/GuiManager.py	(revision abc5e707eca1828e1bfa67fea53f07d15333db24)
+++ src/sas/qtgui/GuiManager.py	(revision 257bd5712462146ec0fc8f29d198ca47f83ed94f)
@@ -46,4 +46,5 @@
     def __init__(self, mainWindow=None, reactor=None, parent=None):
         """
+        Initialize the manager as a child of MainWindow.
         """
         self._workspace = mainWindow
@@ -185,21 +186,17 @@
 
     def communicator(self):
-        """
-        """
+        """ Accessor for the communicator """
         return self.communicate
 
     def reactor(self):
-        """
-        """
+        """ Accessor for the reactor """
         return self._reactor
 
     def setReactor(self, reactor):
-        """
-        """
+        """ Reactor setter """
         self._reactor = reactor
 
     def perspective(self):
-        """
-        """
+        """ Accessor for the perspective """
         return self._current_perspective
 
Index: src/sas/qtgui/Plotter.py
===================================================================
--- src/sas/qtgui/Plotter.py	(revision d3ca36332a95a5caf23ee8f8223a9c9912826726)
+++ src/sas/qtgui/Plotter.py	(revision 257bd5712462146ec0fc8f29d198ca47f83ed94f)
@@ -18,4 +18,5 @@
         super(PlotterWidget, self).__init__(parent, manager=manager, quickplot=quickplot)
         self.parent = parent
+        self.addText = AddText(self)
 
     @property
@@ -84,4 +85,8 @@
         ax.set_yscale(self.yscale)
 
+        # define the ranges
+        self.setRange = SetGraphRange(parent=self,
+            x_range=self.ax.get_xlim(), y_range=self.ax.get_ylim())
+
         # refresh canvas
         self.canvas.draw()
@@ -155,5 +160,4 @@
         Show a dialog allowing adding custom text to the chart
         """
-        self.addText = AddText(self)
         if self.addText.exec_() == QtGui.QDialog.Accepted:
             # Retrieve the new text, its font and color
@@ -208,8 +212,4 @@
         """
         # min and max of data
-        x_range = self.ax.get_xlim()
-        y_range = self.ax.get_ylim()
-        self.setRange = SetGraphRange(parent=self,
-            x_range=x_range, y_range=y_range)
         if self.setRange.exec_() == QtGui.QDialog.Accepted:
             x_range = self.setRange.xrange()
Index: src/sas/qtgui/UnitTesting/PlotterTest.py
===================================================================
--- src/sas/qtgui/UnitTesting/PlotterTest.py	(revision d3ca36332a95a5caf23ee8f8223a9c9912826726)
+++ src/sas/qtgui/UnitTesting/PlotterTest.py	(revision 257bd5712462146ec0fc8f29d198ca47f83ed94f)
@@ -6,4 +6,5 @@
 from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
 from mock import MagicMock
+from mock import patch
 
 ####### TEMP
@@ -23,4 +24,5 @@
     def setUp(self):
         '''create'''
+
         self.plotter = Plotter.Plotter(None, quickplot=True)
         self.data = Data1D(x=[1.0, 2.0, 3.0],
@@ -110,5 +112,5 @@
     def testXYTransform(self):
         """ Assure the unit/legend transformation is correct"""
-        self.plotter.data = self.data
+        self.plotter.plot(self.data)
 
         self.plotter.xyTransform(xLabel="x", yLabel="y")
@@ -156,17 +158,93 @@
     def testAddText(self):
         """ Checks the functionality of adding text to graph """
-        pass
+
+        self.plotter.plot(self.data)
+        self.plotter.x_click = 100.0
+        self.plotter.y_click = 100.0
+        # modify the text edit control
+        test_text = "Smoke in cabin"
+        test_font = QtGui.QFont("Arial", 16, QtGui.QFont.Bold)
+        test_color = "#00FF00"
+        self.plotter.addText.textEdit.setText(test_text)
+
+        # Return the requested font parameters
+        self.plotter.addText.font = MagicMock(return_value = test_font)
+        self.plotter.addText.color = MagicMock(return_value = test_color)
+        # Return OK from the dialog
+        self.plotter.addText.exec_ = MagicMock(return_value = QtGui.QDialog.Accepted)
+        # Add text to graph
+        self.plotter.onAddText()
+        self.plotter.show()
+        # Check if the text was added properly
+        self.assertEqual(len(self.plotter.textList), 1)
+        self.assertEqual(self.plotter.textList[0].get_text(), test_text)
+        self.assertEqual(self.plotter.textList[0].get_color(), test_color)
+        self.assertEqual(self.plotter.textList[0].get_fontproperties().get_family()[0], 'Arial')
+        self.assertEqual(self.plotter.textList[0].get_fontproperties().get_size(), 16)
 
     def testOnRemoveText(self):
         """ Cheks if annotations can be removed from the graph """
-        pass
+
+        # Add some text
+        self.plotter.plot(self.data)
+        test_text = "Safety instructions"
+        self.plotter.addText.textEdit.setText(test_text)
+        # Return OK from the dialog
+        self.plotter.addText.exec_ = MagicMock(return_value = QtGui.QDialog.Accepted)
+        # Add text to graph
+        self.plotter.onAddText()
+        self.plotter.show()
+        # Check if the text was added properly
+        self.assertEqual(len(self.plotter.textList), 1)
+
+        # Now, remove the text
+        self.plotter.onRemoveText()
+
+        # And assure no text is displayed
+        self.assertEqual(self.plotter.textList, [])
+
+        # Attempt removal on empty and check
+        self.plotter.onRemoveText()
+        self.assertEqual(self.plotter.textList, [])
 
     def testOnSetGraphRange(self):
         """ Cheks if the graph can be resized for range """
-        pass
+        new_x = (1,2)
+        new_y = (10,11)
+        self.plotter.plot(self.data)
+        self.plotter.show()
+        self.plotter.setRange.exec_ = MagicMock(return_value = QtGui.QDialog.Accepted)
+        self.plotter.setRange.xrange = MagicMock(return_value = new_x)
+        self.plotter.setRange.yrange = MagicMock(return_value = new_y)
+
+        # Call the tested method
+        self.plotter.onSetGraphRange()
+        # See that ranges changed accordingly
+        self.assertEqual(self.plotter.ax.get_xlim(), new_x)
+        self.assertEqual(self.plotter.ax.get_ylim(), new_y)
 
     def testOnResetGraphRange(self):
         """ Cheks if the graph can be reset after resizing for range """
-        pass
+        # New values
+        new_x = (1,2)
+        new_y = (10,11)
+        # define the plot
+        self.plotter.plot(self.data)
+        self.plotter.show()
+
+        # mock setRange methods
+        self.plotter.setRange.exec_ = MagicMock(return_value = QtGui.QDialog.Accepted)
+        self.plotter.setRange.xrange = MagicMock(return_value = new_x)
+        self.plotter.setRange.yrange = MagicMock(return_value = new_y)
+
+        # Change the axes range
+        self.plotter.onSetGraphRange()
+
+        # Now, reset the range back
+        self.plotter.onResetGraphRange()
+
+        # See that ranges are changed
+        self.assertNotEqual(self.plotter.ax.get_xlim(), new_x)
+        self.assertNotEqual(self.plotter.ax.get_ylim(), new_y)
 
 if __name__ == "__main__":
