Esempio n. 1
0
 def test_static_conversion_utilities(self):
     # Tests initializing a color by name or hex string value
     # (names and hex values are not case-sensitive)
     self.assertEqual((240, 248, 255), RGBColor.string_to_rgb('aliceblue'))
     self.assertEqual((240, 248, 255), RGBColor.name_to_rgb('aliceblue'))
     self.assertEqual((240, 248, 255), RGBColor.hex_to_rgb('F0F8FF'))
     self.assertEqual((240, 248, 255), RGBColor.string_to_rgb('F0F8FF'))
     with self.assertRaises(AssertionError):
         RGBColor.string_to_rgb('non_existant')
     self.assertEqual((0, 0, 0), RGBColor.name_to_rgb('non_existant'))
     self.assertEqual((240, 248, 255), RGBColor.hex_to_rgb('f0f8ff'))
     self.assertEqual((240, 248, 255), RGBColor.string_to_rgb('f0f8ff'))
Esempio n. 2
0
    def test_color_correction(self):
        color = RGBColor(RGBColor.name_to_rgb('DarkGray'))
        self.assertEqual((169, 169, 169), color.rgb)

        # Tests default color correction profile (should be no correction)
        color_correction_profile = RGBColorCorrectionProfile()
        corrected_color = color_correction_profile.apply(color)
        self.assertEqual((169, 169, 169), corrected_color.rgb)

        # Test correction with default parameters
        color_correction_profile.generate_from_parameters()
        corrected_color = color_correction_profile.apply(color)
        self.assertEqual((91, 91, 91), corrected_color.rgb)

        # Test correction with new parameters
        color_correction_profile.generate_from_parameters(gamma=2.0,
                                                          whitepoint=(0.9,
                                                                      0.85,
                                                                      0.9),
                                                          linear_slope=0.75,
                                                          linear_cutoff=0.1)
        corrected_color = color_correction_profile.apply(color)
        self.assertEqual((77, 67, 77), corrected_color.rgb)

        # Test default correction profile
        default_profile = RGBColorCorrectionProfile.default()
        corrected_color = default_profile.apply(color)
        self.assertEqual((81, 81, 81), corrected_color.rgb)
        corrected_color = default_profile.apply(RGBColor((254, 254, 254)))
        self.assertEqual((252, 252, 252), corrected_color.rgb)