예제 #1
0
class XYZConversionTestCase(BaseColorConversionTest):
    def setUp(self):
        self.color = XYZColor(0.1, 0.2, 0.3)

    def test_conversion_to_xyy(self):
        xyy = convert_color(self.color, xyYColor)
        self.assertColorMatch(xyy, xyYColor(0.167, 0.333, 0.200))

    def test_conversion_to_lab(self):
        lab = convert_color(self.color, LabColor)
        self.assertColorMatch(lab, LabColor(51.837, -57.486, -25.780))

    def test_conversion_to_rgb(self):
        # Picked a set of XYZ coordinates that would return a good RGB value.
        self.color = XYZColor(0.300, 0.200, 0.300)
        rgb = convert_color(self.color, sRGBColor)
        self.assertColorMatch(rgb, sRGBColor(0.715, 0.349, 0.663))

    def test_conversion_to_luv(self):
        luv = convert_color(self.color, LuvColor)
        self.assertColorMatch(luv, LuvColor(51.837, -73.561, -25.657))

    def test_conversion_to_ipt(self):
        self.color.set_illuminant('D65')
        ipt = convert_color(self.color, IPTColor)
        self.assertColorMatch(ipt, IPTColor(0.5063, -0.3183, -0.1160))

    def test_convert_to_self(self):
        same_color = convert_color(self.color, XYZColor)
        self.assertEqual(self.color, same_color)
class XYZConversionTestCase(BaseColorConversionTest):
    def setUp(self):
        self.color = XYZColor(0.1, 0.2, 0.3)

    def test_conversion_to_xyy(self):
        xyy = convert_color(self.color, xyYColor)
        self.assertColorMatch(xyy, xyYColor(0.167, 0.333, 0.200))

    def test_conversion_to_lab(self):
        lab = convert_color(self.color, LabColor)
        self.assertColorMatch(lab, LabColor(51.837, -57.486, -25.780))

    def test_conversion_to_rgb(self):
        # Picked a set of XYZ coordinates that would return a good RGB value.
        self.color = XYZColor(0.300, 0.200, 0.300)
        rgb = convert_color(self.color, sRGBColor)
        self.assertColorMatch(rgb, sRGBColor(0.715, 0.349, 0.663))

    def test_conversion_to_apple_rgb(self):
        self.color = XYZColor(0.0157, 0.0191, 0.0331)
        rgb = convert_color(self.color, AppleRGBColor)
        self.assertColorMatch(rgb, AppleRGBColor(0.0411, 0.1214, 0.1763))

    def test_conversion_to_adobe_rgb(self):
        self.color = XYZColor(0.2553, 0.1125, 0.0011)
        rgb = convert_color(self.color, AdobeRGBColor)
        # This ends up getting clamped.
        self.assertColorMatch(rgb, AdobeRGBColor(0.6828, 0.0, 0.0))

    def test_conversion_to_luv(self):
        luv = convert_color(self.color, LuvColor)
        self.assertColorMatch(luv, LuvColor(51.837, -73.561, -25.657))

    def test_conversion_to_ipt(self):
        self.color.set_illuminant("D65")
        ipt = convert_color(self.color, IPTColor)
        self.assertColorMatch(ipt, IPTColor(0.5063, -0.3183, -0.1160))

    def test_convert_to_self(self):
        same_color = convert_color(self.color, XYZColor)
        self.assertEqual(self.color, same_color)