Changeset 170 for trunk/tests/color.py

Show
Ignore:
Timestamp:
03/18/09 15:35:07 (3 years ago)
Author:
lgs
Message:

Implement different color schemes. Fixes #29

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/tests/color.py

    r169 r170  
    5757        self.assertEqual(1, color[2]) 
    5858 
     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 
    5977    def test_lighten(self): 
    6078        r, g, b = (1.0, 1.0, 0.0) 
     
    8098                          pycha.color.ColorScheme.getColorScheme('foo')) 
    8199 
     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 
    82108    def test_GradientColorScheme(self): 
    83109        keys = range(5) 
    84         scheme = pycha.color.GradientColorScheme(keys, "000000") 
     110        scheme = pycha.color.GradientColorScheme(keys, "#000000") 
    85111        self._assertColors(scheme[0], (0.0, 0.0, 0.0), 3) 
    86112        self._assertColors(scheme[1], (0.1, 0.1, 0.1), 3) 
     
    108134        self.assertNotAlmostEqual(color[2], 1.0, 4) 
    109135 
     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 
    110145 
    111146def test_suite():