Create function tile().
[toast/gimp_passport.git] / test_gimp_passport.py
1 import os
2 import unittest
3 from PIL import Image, ImageDraw
4 from gimp_passport import mm_to_pixel, main, tile
5
6
7 class TestMakePassport(unittest.TestCase):
8
9     def test_mm_to_pixel(self):
10         self.assertEqual(0, mm_to_pixel(0., 100))
11         self.assertEqual(200, mm_to_pixel(25.4, 200))
12         self.assertEqual(600, mm_to_pixel(2*25.4, 300))
13
14     def test_tile(self):
15         dpi = 90
16         img = Image.new('RGB', (mm_to_pixel(35, dpi), mm_to_pixel(45, dpi)), 'lightgray')
17         img.info['dpi'] = (dpi, dpi)
18         draw = ImageDraw.ImageDraw(img)
19         draw.rectangle((0, 0, img.size[0]-1, img.size[1]-1), outline='black')
20         paper = tile(img, 150, 100, 4)
21         self.assertIsInstance(paper, Image.Image)
22
23     def test_main(self):
24         source = 'test_image.png'
25         dest = 'test_image_result.png'
26         if os.path.exists(dest):
27             os.remove(dest)
28         main(source, dest)
29         self.assertTrue(os.path.exists(dest))