|
1 | | -import unittest, test.support |
| 1 | +import unittest |
2 | 2 | import colorsys |
3 | 3 |
|
4 | 4 | def frange(start, stop, step): |
@@ -69,8 +69,32 @@ def test_hls_values(self): |
69 | 69 | self.assertTripleEqual(hls, colorsys.rgb_to_hls(*rgb)) |
70 | 70 | self.assertTripleEqual(rgb, colorsys.hls_to_rgb(*hls)) |
71 | 71 |
|
72 | | -def test_main(): |
73 | | - test.support.run_unittest(ColorsysTest) |
| 72 | + def test_yiq_roundtrip(self): |
| 73 | + for r in frange(0.0, 1.0, 0.2): |
| 74 | + for g in frange(0.0, 1.0, 0.2): |
| 75 | + for b in frange(0.0, 1.0, 0.2): |
| 76 | + rgb = (r, g, b) |
| 77 | + self.assertTripleEqual( |
| 78 | + rgb, |
| 79 | + colorsys.yiq_to_rgb(*colorsys.rgb_to_yiq(*rgb)) |
| 80 | + ) |
| 81 | + |
| 82 | + def test_yiq_values(self): |
| 83 | + values = [ |
| 84 | + # rgb, yiq |
| 85 | + ((0.0, 0.0, 0.0), (0.0, 0.0, 0.0)), # black |
| 86 | + ((0.0, 0.0, 1.0), (0.11, -0.3217, 0.3121)), # blue |
| 87 | + ((0.0, 1.0, 0.0), (0.59, -0.2773, -0.5251)), # green |
| 88 | + ((0.0, 1.0, 1.0), (0.7, -0.599, -0.213)), # cyan |
| 89 | + ((1.0, 0.0, 0.0), (0.3, 0.599, 0.213)), # red |
| 90 | + ((1.0, 0.0, 1.0), (0.41, 0.2773, 0.5251)), # purple |
| 91 | + ((1.0, 1.0, 0.0), (0.89, 0.3217, -0.3121)), # yellow |
| 92 | + ((1.0, 1.0, 1.0), (1.0, 0.0, 0.0)), # white |
| 93 | + ((0.5, 0.5, 0.5), (0.5, 0.0, 0.0)), # grey |
| 94 | + ] |
| 95 | + for (rgb, yiq) in values: |
| 96 | + self.assertTripleEqual(yiq, colorsys.rgb_to_yiq(*rgb)) |
| 97 | + self.assertTripleEqual(rgb, colorsys.yiq_to_rgb(*yiq)) |
74 | 98 |
|
75 | 99 | if __name__ == "__main__": |
76 | | - test_main() |
| 100 | + unittest.main() |
0 commit comments