def test_log_two_points(self): scale = _Palette('#000000', '#FFFFFF') self.assertEqual(scale.log( 4, 8), [[0, 'rgb(0.0, 0.0, 0.0)'], [0.5, 'rgb(0.0, 0.0, 0.0)'], [1, 'rgb(255.0, 255.0, 255.0)']]) self.assertEqual(scale.log( 4, 32), [[0, 'rgb(0.0, 0.0, 0.0)'], [0.125, 'rgb(0.0, 0.0, 0.0)'], [0.25, 'rgb(85.0, 85.0, 85.0)'], [0.5, 'rgb(170.0, 170.0, 170.0)'], [1, 'rgb(255.0, 255.0, 255.0)']])
def test_log_interpolations_two_points(self): scale = _Palette('#000000', '#FFFFFF') self.assertEqual( scale._log_interpolations(4, 64), [[ (0.0, 0.0, 0.0), # 4 (63.75, 63.75, 63.75), # 8 (127.5, 127.5, 127.5), # 16 (191.25, 191.25, 191.25), # 32 (255.0, 255.0, 255.0) ]]) # 64
def test_log_three_points(self): scale = _Palette('#0000FF', '#FFFFFF', '#FF0000') self.assertEqual( scale.log(4, 8), [[0, 'rgb(0.0, 0.0, 255.0)'], [0.25, 'rgb(0.0, 0.0, 255.0)'], [0.5, 'rgb(255.0, 255.0, 255.0)'], [1, 'rgb(255.0, 0.0, 0.0)']]) self.assertEqual( scale.log(4, 128), [[0, 'rgb(0.0, 0.0, 255.0)'], [0.0625, 'rgb(0.0, 0.0, 255.0)'], [0.125, 'rgb(127.5, 127.5, 255.0)'], [0.25, 'rgb(255.0, 255.0, 255.0)'], [0.5, 'rgb(255.0, 127.5, 127.5)'], [1, 'rgb(255.0, 0.0, 0.0)']])
def test_log_interpolations_three_points(self): scale = _Palette('#0000FF', '#FFFFFF', '#FF0000') self.assertEqual( scale._log_interpolations(4, 8), [[(0.0, 0.0, 255.0), (255.0, 255.0, 255.0)], [(255.0, 255.0, 255.0), (255.0, 0.0, 0.0)]]) self.assertEqual(scale._log_interpolations(4, 64), [[(0.0, 0.0, 255.0), (127.5, 127.5, 255.0), (255.0, 255.0, 255.0)], [(255.0, 255.0, 255.0), (255.0, 127.5, 127.5), (255.0, 0.0, 0.0)]])
def test_linear_two_points(self): scale = _Palette('#000000', '#FFFFFF') self.assertEqual(scale.linear(), [[0, 'rgb(0,0,0)'], [1, 'rgb(255,255,255)']])
def test_linear_three_points_reversed(self): scale = _Palette('#0000FF', '#FFFFFF', '#FF0000').reversed self.assertEqual(scale.linear(), [[0, 'rgb(255,0,0)'], [0.5, 'rgb(255,255,255)'], [1, 'rgb(0,0,255)']])