def test_curved(self):
        # Arrange
        middle = 0.5
        pos = 0.75

        # Act
        ret = GimpGradientFile.curved(middle, pos)

        # Assert
        self.assertEqual(ret, 0.75)
def test_sphere_increasing():
    # Arrange
    middle = 0.5
    pos = 0.75

    # Act
    ret = GimpGradientFile.sphere_increasing(middle, pos)

    # Assert
    assert round(abs(ret - 0.9682458365518543), 7) == 0
def test_linear_pos_gt_small_middle():
    # Arrange
    middle = 1 - 1e-11
    pos = 1 - 1e-12

    # Act
    ret = GimpGradientFile.linear(middle, pos)

    # Assert
    assert ret == 1.0
def test_curved():
    # Arrange
    middle = 0.5
    pos = 0.75

    # Act
    ret = GimpGradientFile.curved(middle, pos)

    # Assert
    assert ret == 0.75
    def test_sphere_decreasing(self):
        # Arrange
        middle = 0.5
        pos = 0.75

        # Act
        ret = GimpGradientFile.sphere_decreasing(middle, pos)

        # Assert
        self.assertEqual(ret, 0.3385621722338523)
def test_linear_pos_le_middle():
    # Arrange
    middle = 0.5
    pos = 0.25

    # Act
    ret = GimpGradientFile.linear(middle, pos)

    # Assert
    assert ret == 0.25
    def test_sphere_increasing(self):
        # Arrange
        middle = 0.5
        pos = 0.75

        # Act
        ret = GimpGradientFile.sphere_increasing(middle, pos)

        # Assert
        self.assertAlmostEqual(ret, 0.9682458365518543)
    def test_linear_pos_le_middle(self):
        # Arrange
        middle = 0.5
        pos = 0.25

        # Act
        ret = GimpGradientFile.linear(middle, pos)

        # Assert
        self.assertEqual(ret, 0.25)
    def test_sine(self):
        # Arrange
        middle = 0.5
        pos = 0.75

        # Act
        ret = GimpGradientFile.sine(middle, pos)

        # Assert
        self.assertEqual(ret, 0.8535533905932737)
def test_sphere_decreasing():
    # Arrange
    middle = 0.5
    pos = 0.75

    # Act
    ret = GimpGradientFile.sphere_decreasing(middle, pos)

    # Assert
    assert ret == 0.3385621722338523
def test_sine():
    # Arrange
    middle = 0.5
    pos = 0.75

    # Act
    ret = GimpGradientFile.sine(middle, pos)

    # Assert
    assert ret == 0.8535533905932737
    def test_sphere_decreasing(self):
        # Arrange
        middle = 0.5
        pos = 0.75

        # Act
        ret = GimpGradientFile.sphere_decreasing(middle, pos)

        # Assert
        self.assertEqual(ret, 0.3385621722338523)
    def test_sphere_increasing(self):
        # Arrange
        middle = 0.5
        pos = 0.75

        # Act
        ret = GimpGradientFile.sphere_increasing(middle, pos)

        # Assert
        self.assert_almost_equal(ret, 0.9682458365518543)
    def test_linear_pos_gt_small_middle(self):
        # Arrange
        middle = 1 - 1e-11
        pos = 1 - 1e-12

        # Act
        ret = GimpGradientFile.linear(middle, pos)

        # Assert
        self.assertEqual(ret, 1.0)
    def test_sine(self):
        # Arrange
        middle = 0.5
        pos = 0.75

        # Act
        ret = GimpGradientFile.sine(middle, pos)

        # Assert
        self.assertEqual(ret, 0.8535533905932737)
    def test_linear_pos_le_middle(self):
        # Arrange
        middle = 0.5
        pos = 0.25

        # Act
        ret = GimpGradientFile.linear(middle, pos)

        # Assert
        self.assertEqual(ret, 0.25)
    def test_curved(self):
        # Arrange
        middle = 0.5
        pos = 0.75

        # Act
        ret = GimpGradientFile.curved(middle, pos)

        # Assert
        self.assertEqual(ret, 0.75)
    def test_linear_pos_gt_small_middle(self):
        # Arrange
        middle = 1 - 1e-11
        pos = 1 - 1e-12

        # Act
        ret = GimpGradientFile.linear(middle, pos)

        # Assert
        self.assertEqual(ret, 1.0)
Beispiel #19
0
def load(filename):

    # FIXME: supports GIMP gradients only

    fp = open(filename, "rb")

    lut = None

    if not lut:
        try:
            from PIL import GimpPaletteFile
            fp.seek(0)
            p = GimpPaletteFile.GimpPaletteFile(fp)
            lut = p.getpalette()
        except (SyntaxError, ValueError):
            # import traceback
            # traceback.print_exc()
            pass

    if not lut:
        try:
            from PIL import GimpGradientFile
            fp.seek(0)
            p = GimpGradientFile.GimpGradientFile(fp)
            lut = p.getpalette()
        except (SyntaxError, ValueError):
            # import traceback
            # traceback.print_exc()
            pass

    if not lut:
        try:
            from PIL import PaletteFile
            fp.seek(0)
            p = PaletteFile.PaletteFile(fp)
            lut = p.getpalette()
        except (SyntaxError, ValueError):
            #import traceback
            #traceback.print_exc()
            pass

    if not lut:
        raise IOError("cannot load palette")

    return lut  # data, rawmode