class GraphConversionManagerTestCase(unittest.TestCase):
    def setUp(self):
        self.manager = GraphConversionManager()
        self.manager.add_type_conversion(XYZColor, BaseRGBColor, XYZ_to_RGB)
        self.manager.add_type_conversion(BaseRGBColor, HSVColor, HSV_to_RGB)

    def test_basic_path_generation(self):
        path = self.manager.get_conversion_path(XYZColor, HSVColor)
        self.assertEqual(path, [XYZ_to_RGB, HSV_to_RGB])

    def test_self_conversion(self):
        path = self.manager.get_conversion_path(XYZColor, XYZColor)
        self.assertEqual(path, [])

    def test_invalid_path_response(self):
        self.assertRaises(UndefinedConversionError,
                          self.manager.get_conversion_path, XYZColor, HSLColor)
class GraphConversionManagerTestCase(unittest.TestCase):
    def setUp(self):
        self.manager = GraphConversionManager()
        self.manager.add_type_conversion(XYZColor, BaseRGBColor, XYZ_to_RGB)
        self.manager.add_type_conversion(BaseRGBColor, HSVColor, HSV_to_RGB)

    def test_basic_path_generation(self):
        path = self.manager.get_conversion_path(XYZColor, HSVColor)
        self.assertEqual(path, [XYZ_to_RGB, HSV_to_RGB])

    def test_self_conversion(self):
        path = self.manager.get_conversion_path(XYZColor, XYZColor)
        self.assertEqual(path, [])

    def test_invalid_path_response(self):
        self.assertRaises(UndefinedConversionError,
                          self.manager.get_conversion_path,
                          XYZColor, HSLColor
        )
 def setUp(self):
     self.manager = GraphConversionManager()
     self.manager.add_type_conversion(XYZColor, BaseRGBColor, XYZ_to_RGB)
     self.manager.add_type_conversion(BaseRGBColor, HSVColor, HSV_to_RGB)
 def setUp(self):
     self.manager = GraphConversionManager()
     self.manager.add_type_conversion(XYZColor, BaseRGBColor, XYZ_to_RGB)
     self.manager.add_type_conversion(BaseRGBColor, HSVColor, HSV_to_RGB)