Index: src/sas/qtgui/PlotProperties.py
===================================================================
--- src/sas/qtgui/PlotProperties.py	(revision 87cc73a1ade6168487d1841f4c285fadcf532e0c)
+++ src/sas/qtgui/PlotProperties.py	(revision db5cd8da62c5627b9811d209d913219ab45e3c75)
@@ -27,5 +27,5 @@
 
         # Fill out the color combobox
-        self.cbColor.addItems(COLORS.keys())
+        self.cbColor.addItems(COLORS.keys()[:-1])
         # data1d.custom_color can now be a simple integer,
         # specifying COLORS dict index or a string containing
Index: src/sas/qtgui/UnitTesting/PlotPropertiesTest.py
===================================================================
--- src/sas/qtgui/UnitTesting/PlotPropertiesTest.py	(revision 87cc73a1ade6168487d1841f4c285fadcf532e0c)
+++ src/sas/qtgui/UnitTesting/PlotPropertiesTest.py	(revision db5cd8da62c5627b9811d209d913219ab45e3c75)
@@ -1,4 +1,5 @@
 import sys
 import unittest
+from mock import MagicMock
 
 from PyQt4 import QtGui
@@ -6,6 +7,4 @@
 # set up import paths
 import path_prepare
-
-from UnitTesting.TestUtils import WarningNotImplemented
 
 # Local
@@ -19,5 +18,9 @@
         '''Create the PlotProperties'''
 
-        self.widget = PlotProperties(None)
+        self.widget = PlotProperties(None, 
+                         color=1,
+                         marker=3,
+                         marker_size=10,
+                         legend="LL")
 
     def tearDown(self):
@@ -30,13 +33,57 @@
         self.assertIsInstance(self.widget, QtGui.QDialog)
         self.assertEqual(self.widget.windowTitle(), "Modify Plot Properties")
+
+        # Check the combo boxes
+        self.assertEqual(self.widget.cbColor.currentText(), "Green")
+        self.assertEqual(self.widget.cbShape.currentText(), "Triangle Down")
+        self.assertEqual(self.widget.txtLegend.text(), "LL")
+        self.assertEqual(self.widget.sbSize.value(), 10)
         
     def testOnColorChange(self):
         '''Test the response to color change event'''
-        WarningNotImplemented(sys._getframe().f_code.co_name)
+        # Accept the new color
+        QtGui.QColorDialog.getColor = MagicMock(return_value=QtGui.QColor(255, 0, 255))
+
+        self.widget.onColorChange(None)
+
+        self.assertEqual(self.widget.color(), "#ff00ff")
+        self.assertTrue(self.widget.custom_color)
+        self.assertEqual(self.widget.cbColor.currentIndex(), 7)
+        self.assertEqual(self.widget.cbColor.currentText(), "Custom")
+
+        # Reset the color - this will remove "Custom" from the combobox
+        # and set its index to "Green"
+        self.widget.cbColor.setCurrentIndex(1)
+        self.assertEqual(self.widget.cbColor.currentText(), "Green")
+
+        # Cancel the dialog now
+        bad_color = QtGui.QColor() # constructs an invalid color
+        QtGui.QColorDialog.getColor = MagicMock(return_value=bad_color)
+        self.widget.onColorChange(None)
+
+        self.assertEqual(self.widget.color(), 1)
+        self.assertFalse(self.widget.custom_color)
+        self.assertEqual(self.widget.cbColor.currentIndex(), 1)
+        self.assertEqual(self.widget.cbColor.currentText(), "Green")
+
 
     def testOnColorIndexChange(self):
         '''Test the response to color index change event'''
-        WarningNotImplemented(sys._getframe().f_code.co_name)
-    
+        # Intitial population of the color combo box
+        self.widget.onColorIndexChange(0)
+        self.assertEqual(self.widget.cbColor.count(), 7)
+        # Block the callback so we can update the cb
+        self.widget.cbColor.blockSignals(True)
+        # Add the Custom entry
+        self.widget.cbColor.addItems(["Custom"])
+        # Unblock the callback
+        self.widget.cbColor.blockSignals(False)
+        # Assert the new CB
+        self.assertEqual(self.widget.cbColor.count(), 8)
+        # Call the method
+        self.widget.onColorIndexChange(0)
+        # see that the Custom entry disappeared
+        self.assertEqual(self.widget.cbColor.count(), 7)
+        self.assertEqual(self.widget.cbColor.findText("Custom"), -1)
 
 if __name__ == "__main__":
Index: src/sas/qtgui/UnitTesting/PlotUtilitiesTest.py
===================================================================
--- src/sas/qtgui/UnitTesting/PlotUtilitiesTest.py	(revision 87cc73a1ade6168487d1841f4c285fadcf532e0c)
+++ src/sas/qtgui/UnitTesting/PlotUtilitiesTest.py	(revision db5cd8da62c5627b9811d209d913219ab45e3c75)
@@ -3,5 +3,5 @@
 from collections import OrderedDict
 
-from UnitTesting.TestUtils import WarningNotImplemented
+from UnitTesting.TestUtils import WarningTestNotImplemented
 
 # Tested module
@@ -25,21 +25,21 @@
     def testBuildMatrix(self):
         """ build matrix for 2d plot from a vector """
-        WarningNotImplemented(sys._getframe().f_code.co_name)
+        WarningTestNotImplemented()
 
     def testGetBins(self):
         """ test 1d arrays of the index with square binning """
-        WarningNotImplemented(sys._getframe().f_code.co_name)
+        WarningTestNotImplemented()
 
     def testFillupPixels(self):
         """ test filling z values of the empty cells of 2d image matrix """
-        WarningNotImplemented(sys._getframe().f_code.co_name)
+        WarningTestNotImplemented()
 
     def testRescale(sef):
         """ test the helper function for step based zooming """
-        WarningNotImplemented(sys._getframe().f_code.co_name)
+        WarningTestNotImplemented()
 
     def testGgetValidColor(self):
         """ test that the method returns a color understood by MPL """
-        WarningNotImplemented(sys._getframe().f_code.co_name)
+        WarningTestNotImplemented()
 
 if __name__ == "__main__":
Index: src/sas/qtgui/UnitTesting/PlotterTest.py
===================================================================
--- src/sas/qtgui/UnitTesting/PlotterTest.py	(revision 87cc73a1ade6168487d1841f4c285fadcf532e0c)
+++ src/sas/qtgui/UnitTesting/PlotterTest.py	(revision db5cd8da62c5627b9811d209d913219ab45e3c75)
@@ -13,5 +13,5 @@
 from sas.sasgui.guiframe.dataFitting import Data1D
 from sas.sasgui.guiframe.dataFitting import Data2D
-from UnitTesting.TestUtils import WarningNotImplemented
+from UnitTesting.TestUtils import WarningTestNotImplemented
 
 # Tested module
@@ -224,33 +224,33 @@
     def testOnLinearFit(self):
         """ Checks the response to LinearFit call """
-        WarningNotImplemented(sys._getframe().f_code.co_name)
+        WarningTestNotImplemented()
 
     def testOnRemovePlot(self):
         """ Assure plots get removed when requested """
-        WarningNotImplemented(sys._getframe().f_code.co_name)
+        WarningTestNotImplemented()
 
     def testRemovePlot(self):
         """ Test plot removal """
-        WarningNotImplemented(sys._getframe().f_code.co_name)
+        WarningTestNotImplemented()
 
     def testOnToggleHideError(self):
         """ Test the error bar toggle on plots """
-        WarningNotImplemented(sys._getframe().f_code.co_name)
+        WarningTestNotImplemented()
 
     def testOnFitDisplay(self):
         """ Test the fit line display on the chart """
-        WarningNotImplemented(sys._getframe().f_code.co_name)
+        WarningTestNotImplemented()
 
     def testReplacePlot(self):
         """ Test the plot refresh functionality """
-        WarningNotImplemented(sys._getframe().f_code.co_name)
+        WarningTestNotImplemented()
 
     def testReplacePlot(self):
         """ Test the plot refresh functionality """
-        WarningNotImplemented(sys._getframe().f_code.co_name)
+        WarningTestNotImplemented(sys._getframe().f_code.co_name)
 
     def testOnModifyPlot(self):
         """ Test the functionality for changing plot properties """
-        WarningNotImplemented(sys._getframe().f_code.co_name)
+        WarningTestNotImplemented()
 
 if __name__ == "__main__":
Index: src/sas/qtgui/UnitTesting/TestUtils.py
===================================================================
--- src/sas/qtgui/UnitTesting/TestUtils.py	(revision 87cc73a1ade6168487d1841f4c285fadcf532e0c)
+++ src/sas/qtgui/UnitTesting/TestUtils.py	(revision db5cd8da62c5627b9811d209d913219ab45e3c75)
@@ -2,8 +2,17 @@
 from PyQt4.QtGui import *
 from PyQt4.QtTest import *
+import inspect
 
-def WarningNotImplemented(method_name):
-    """ Prints warning about a non-implemented test """
-    print("\nWARNING: %s needs implementing!"%method_name)
+def WarningTestNotImplemented(method_name=None):
+    """
+    Prints warning about a non-implemented test.
+    Test name retrieved from stack trace.
+    """
+    if method_name is not None:
+        print("\nWARNING: %s needs implementing!"%method_name)
+    else:
+        (frame, filename, line_number,
+            function_name, lines, index) = inspect.getouterframes(inspect.currentframe())[1]
+        print("\nWARNING: %s needs implementing!"%function_name)
 
 class QtSignalSpy(QObject):
