Changeset 78 for trunk/tests/color.py

Show
Ignore:
Timestamp:
03/20/08 13:24:03 (4 years ago)
Author:
lgs
Message:

Automatically adjust the light of the color scheme based on the number of keys. Patch based on the patch by jae_AT_zhar.net. Fixes #8

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/tests/color.py

    r44 r78  
    6868        scheme = pycha.color.generateColorscheme(color, keys) 
    6969 
    70  
    7170        self._assertColors(scheme['k1'], (1, 0, 0), 3) 
    72         self._assertColors(scheme['k2'], (1, 0.098, 0.098), 3) 
    73         self._assertColors(scheme['k3'], (1, 0.196, 0.196), 3) 
    74         self._assertColors(scheme['k4'], (1, 0.294, 0.294), 3) 
    75  
    76         scheme = pycha.color.generateColorscheme(color, keys, 0.1) 
    77         self._assertColors(scheme['k1'], (1, 0, 0), 1) 
    78         self._assertColors(scheme['k2'], (1, 0.1, 0.1), 1) 
    79         self._assertColors(scheme['k3'], (1, 0.2, 0.2), 1) 
    80         self._assertColors(scheme['k4'], (1, 0.3, 0.3), 1) 
     71        self._assertColors(scheme['k2'], (1, 0.125, 0.125), 3) 
     72        self._assertColors(scheme['k3'], (1, 0.250, 0.250), 3) 
     73        self._assertColors(scheme['k4'], (1, 0.375, 0.375), 3) 
    8174 
    8275    def test_defaultColorScheme(self): 
     
    9285            self.assert_(pycha.color.colorSchemes.has_key(color)) 
    9386 
     87    def test_autoLighting(self): 
     88        """This test ensures that the colors don't get to white too fast. 
     89         
     90        See bug #8. 
     91        """ 
     92        # we have a lot of keys 
     93        n = 50 
     94        keys = range(n) 
     95        color = '#ff0000' 
     96        scheme = pycha.color.generateColorscheme(color, keys) 
     97         
     98        # ensure that the last color is not completely white 
     99        color = scheme[n-1] 
     100        self.assertAlmostEqual(color[0], 1.0, 4) # the red component was already 1 
     101        self.assertNotAlmostEqual(color[1], 1.0, 4) 
     102        self.assertNotAlmostEqual(color[2], 1.0, 4) 
     103         
    94104def test_suite(): 
    95105    return unittest.TestSuite((