Skip to content
This repository was archived by the owner on Dec 12, 2023. It is now read-only.

Commit 69faf37

Browse files
committed
Tests for clamped RGB. Fixes #33.
1 parent bc7e0b7 commit 69faf37

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

tests/test_color_objects.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,37 @@ class RGBConversionTestCase(BaseColorConversionTest):
206206
def setUp(self):
207207
self.color = sRGBColor(0.482, 0.784, 0.196)
208208

209+
def test_channel_clamping(self):
210+
high_r = sRGBColor(1.482, 0.2, 0.3)
211+
self.assertEqual(high_r.clamped_rgb_r, 1.0)
212+
self.assertEqual(high_r.clamped_rgb_g, high_r.rgb_g)
213+
self.assertEqual(high_r.clamped_rgb_b, high_r.rgb_b)
214+
215+
low_r = sRGBColor(-0.1, 0.2, 0.3)
216+
self.assertEqual(low_r.clamped_rgb_r, 0.0)
217+
self.assertEqual(low_r.clamped_rgb_g, low_r.rgb_g)
218+
self.assertEqual(low_r.clamped_rgb_b, low_r.rgb_b)
219+
220+
high_g = sRGBColor(0.2, 1.482, 0.3)
221+
self.assertEqual(high_g.clamped_rgb_r, high_g.rgb_r)
222+
self.assertEqual(high_g.clamped_rgb_g, 1.0)
223+
self.assertEqual(high_g.clamped_rgb_b, high_g.rgb_b)
224+
225+
low_g = sRGBColor(0.2, -0.1, 0.3)
226+
self.assertEqual(low_g.clamped_rgb_r, low_g.rgb_r)
227+
self.assertEqual(low_g.clamped_rgb_g, 0.0)
228+
self.assertEqual(low_g.clamped_rgb_b, low_g.rgb_b)
229+
230+
high_b = sRGBColor(0.1, 0.2, 1.482)
231+
self.assertEqual(high_b.clamped_rgb_r, high_b.rgb_r)
232+
self.assertEqual(high_b.clamped_rgb_g, high_b.rgb_g)
233+
self.assertEqual(high_b.clamped_rgb_b, 1.0)
234+
235+
low_b = sRGBColor(0.1, 0.2, -0.1)
236+
self.assertEqual(low_b.clamped_rgb_r, low_b.rgb_r)
237+
self.assertEqual(low_b.clamped_rgb_g, low_b.rgb_g)
238+
self.assertEqual(low_b.clamped_rgb_b, 0.0)
239+
209240
def test_to_xyz_and_back(self):
210241
xyz = convert_color(self.color, XYZColor)
211242
rgb = convert_color(xyz, sRGBColor)

0 commit comments

Comments
 (0)