| | 59 | def test_rgb2hsv_and_hsv2rgb(self): |
| | 60 | for rgb, hsv in (((1.0, 0.0, 0.0), (0.0, 1.0, 1.0)), |
| | 61 | ((1.0, 0.5, 0.0), (30.0, 1.0, 1.0)), |
| | 62 | ((1.0, 1.0, 0.0), (60.0, 1.0, 1.0)), |
| | 63 | ((0.5, 1.0, 0.0), (90.0, 1.0, 1.0)), |
| | 64 | ((0.0, 1.0, 0.0), (120.0, 1.0, 1.0)), |
| | 65 | ((0.0, 1.0, 0.5), (150.0, 1.0, 1.0)), |
| | 66 | ((0.0, 1.0, 1.0), (180.0, 1.0, 1.0)), |
| | 67 | ((0.0, 0.5, 1.0), (210.0, 1.0, 1.0)), |
| | 68 | ((0.0, 0.0, 1.0), (240.0, 1.0, 1.0)), |
| | 69 | ((0.5, 0.0, 1.0), (270.0, 1.0, 1.0)), |
| | 70 | ((1.0, 0.0, 1.0), (300.0, 1.0, 1.0)), |
| | 71 | ((1.0, 0.0, 0.5), (330.0, 1.0, 1.0)), |
| | 72 | ((0.375, 0.5, 0.25), (90.0, 0.5, 0.5)), |
| | 73 | ((0.21875, 0.25, 0.1875), (90.0, 0.25, 0.25))): |
| | 74 | self._assertColors(pycha.color.rgb2hsv(*rgb), hsv, 5) |
| | 75 | self._assertColors(pycha.color.hsv2rgb(*hsv), rgb, 5) |
| | 76 | |
| | 100 | def test_FixedColorScheme(self): |
| | 101 | keys = range(3) |
| | 102 | colors = ((1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0)) |
| | 103 | scheme = pycha.color.FixedColorScheme(keys, colors) |
| | 104 | self._assertColors(scheme[0], (1.0, 0.0, 0.0), 1) |
| | 105 | self._assertColors(scheme[1], (0.0, 1.0, 0.0), 3) |
| | 106 | self._assertColors(scheme[2], (0.0, 0.0, 1.0), 3) |
| | 107 | |
| | 136 | def test_RainbowColorScheme(self): |
| | 137 | keys = range(5) |
| | 138 | scheme = pycha.color.GradientColorScheme(keys, "#ff0000") |
| | 139 | self._assertColors(scheme[0], (1.0, 0.0, 0.0), 3) |
| | 140 | self._assertColors(scheme[1], (1.0, 0.1, 0.1), 3) |
| | 141 | self._assertColors(scheme[2], (1.0, 0.2, 0.2), 3) |
| | 142 | self._assertColors(scheme[3], (1.0, 0.3, 0.3), 3) |
| | 143 | self._assertColors(scheme[4], (1.0, 0.4, 0.4), 3) |
| | 144 | |