mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-10-31 16:07:30 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			126 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from helper import unittest, PillowTestCase
 | |
| 
 | |
| from PIL import GimpGradientFile
 | |
| 
 | |
| 
 | |
| class TestImage(PillowTestCase):
 | |
| 
 | |
|     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_linear_pos_le_small_middle(self):
 | |
|         # Arrange
 | |
|         middle = 1e-11
 | |
|         pos = 1e-12
 | |
| 
 | |
|         # Act
 | |
|         ret = GimpGradientFile.linear(middle, pos)
 | |
| 
 | |
|         # Assert
 | |
|         self.assertEqual(ret, 0.0)
 | |
| 
 | |
|     def test_linear_pos_gt_middle(self):
 | |
|         # Arrange
 | |
|         middle = 0.5
 | |
|         pos = 0.75
 | |
| 
 | |
|         # Act
 | |
|         ret = GimpGradientFile.linear(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)
 | |
| 
 | |
|     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_sine(self):
 | |
|         # Arrange
 | |
|         middle = 0.5
 | |
|         pos = 0.75
 | |
| 
 | |
|         # Act
 | |
|         ret = GimpGradientFile.sine(middle, pos)
 | |
| 
 | |
|         # Assert
 | |
|         self.assertEqual(ret, 0.8535533905932737)
 | |
| 
 | |
|     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_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_load_via_imagepalette(self):
 | |
|         # Arrange
 | |
|         from PIL import ImagePalette
 | |
|         test_file = "Tests/images/gimp_gradient.ggr"
 | |
| 
 | |
|         # Act
 | |
|         palette = ImagePalette.load(test_file)
 | |
| 
 | |
|         # Assert
 | |
|         # load returns raw palette information
 | |
|         self.assertEqual(len(palette[0]), 1024)
 | |
|         self.assertEqual(palette[1], "RGBA")
 | |
| 
 | |
|     def test_load_1_3_via_imagepalette(self):
 | |
|         # Arrange
 | |
|         from PIL import ImagePalette
 | |
|         # GIMP 1.3 gradient files contain a name field
 | |
|         test_file = "Tests/images/gimp_gradient_with_name.ggr"
 | |
| 
 | |
|         # Act
 | |
|         palette = ImagePalette.load(test_file)
 | |
| 
 | |
|         # Assert
 | |
|         # load returns raw palette information
 | |
|         self.assertEqual(len(palette[0]), 1024)
 | |
|         self.assertEqual(palette[1], "RGBA")
 | |
| 
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     unittest.main()
 |