annotate test/pixelarray_test.py @ 1849:301bc61643a9 math_module

merged changes from trunk
author lorenz
date Mon, 16 Nov 2009 18:31:40 +0000
parents c0d170c1e636
children 2d7ce556083b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1578
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
1 import sys
1418
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
2 if __name__ == '__main__':
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
3 import os
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
4 pkg_dir = os.path.split(os.path.abspath(__file__))[0]
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
5 parent_dir, pkg_name = os.path.split(pkg_dir)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
6 is_pygame_pkg = (pkg_name == 'tests' and
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
7 os.path.split(parent_dir)[1] == 'pygame')
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
8 if not is_pygame_pkg:
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
9 sys.path.insert(0, parent_dir)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
10 else:
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
11 is_pygame_pkg = __name__.startswith('pygame.tests.')
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
12
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
13 if is_pygame_pkg:
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
14 from pygame.tests.test_utils import test_not_implemented, unittest
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
15 else:
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
16 from test.test_utils import test_not_implemented, unittest
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
17 import pygame
1578
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
18 from pygame.compat import xrange_
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
19
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
20 PY3 = sys.version_info >= (3, 0, 0)
1418
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
21
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
22 class PixelArrayTypeTest (unittest.TestCase):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
23 def todo_test_compare(self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
24 # __doc__ (as of 2008-06-25) for pygame.pixelarray.PixelArray.compare:
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
25
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
26 # PixelArray.compare (array, distance=0, weights=(0.299, 0.587, 0.114)): Return PixelArray
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
27 # Compares the PixelArray with another one.
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
28
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
29 self.fail()
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
30
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
31 def test_pixel_array (self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
32 for bpp in (8, 16, 24, 32):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
33 sf = pygame.Surface ((10, 20), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
34 sf.fill ((0, 0, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
35 ar = pygame.PixelArray (sf)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
36
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
37 if sf.mustlock():
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
38 self.assertTrue (sf.get_locked ())
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
39
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
40 self.assertEqual (len (ar), 10)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
41 del ar
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
42
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
43 if sf.mustlock():
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
44 self.assertFalse (sf.get_locked ())
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
45
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
46 # Sequence interfaces
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
47 def test_get_column (self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
48 for bpp in (8, 16, 24, 32):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
49 sf = pygame.Surface ((6, 8), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
50 sf.fill ((0, 0, 255))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
51 val = sf.map_rgb ((0, 0, 255))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
52 ar = pygame.PixelArray (sf)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
53
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
54 ar2 = ar.__getitem__ (1)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
55 self.assertEqual (len(ar2), 8)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
56 self.assertEqual (ar2.__getitem__ (0), val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
57 self.assertEqual (ar2.__getitem__ (1), val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
58 self.assertEqual (ar2.__getitem__ (2), val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
59
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
60 ar2 = ar.__getitem__ (-1)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
61 self.assertEqual (len(ar2), 8)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
62 self.assertEqual (ar2.__getitem__ (0), val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
63 self.assertEqual (ar2.__getitem__ (1), val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
64 self.assertEqual (ar2.__getitem__ (2), val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
65
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
66 def test_get_pixel (self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
67 for bpp in (8, 16, 24, 32):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
68 sf = pygame.Surface ((10, 20), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
69 sf.fill ((0, 0, 255))
1578
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
70 for x in xrange_ (20):
1418
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
71 sf.set_at ((1, x), (0, 0, 11))
1578
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
72 for x in xrange_ (10):
1418
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
73 sf.set_at ((x, 1), (0, 0, 11))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
74
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
75 ar = pygame.PixelArray (sf)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
76
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
77 ar2 = ar.__getitem__ (0).__getitem__ (0)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
78 self.assertEqual (ar2, sf.map_rgb ((0, 0, 255)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
79
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
80 ar2 = ar.__getitem__ (1).__getitem__ (0)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
81 self.assertEqual (ar2, sf.map_rgb ((0, 0, 11)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
82
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
83 ar2 = ar.__getitem__ (-4).__getitem__ (1)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
84 self.assertEqual (ar2, sf.map_rgb ((0, 0, 11)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
85
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
86 ar2 = ar.__getitem__ (-4).__getitem__ (5)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
87 self.assertEqual (ar2, sf.map_rgb ((0, 0, 255)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
88
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
89 def test_set_pixel (self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
90 for bpp in (8, 16, 24, 32):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
91 sf = pygame.Surface ((10, 20), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
92 sf.fill ((0, 0, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
93 ar = pygame.PixelArray (sf)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
94
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
95 ar.__getitem__ (0).__setitem__ (0, (0, 255, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
96 self.assertEqual (ar[0][0], sf.map_rgb ((0, 255, 0)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
97
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
98 ar.__getitem__ (1).__setitem__ (1, (128, 128, 128))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
99 self.assertEqual (ar[1][1], sf.map_rgb ((128, 128, 128)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
100
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
101 ar.__getitem__(-1).__setitem__ (-1, (128, 128, 128))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
102 self.assertEqual (ar[9][19], sf.map_rgb ((128, 128, 128)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
103
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
104 ar.__getitem__ (-2).__setitem__ (-2, (128, 128, 128))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
105 self.assertEqual (ar[8][-2], sf.map_rgb ((128, 128, 128)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
106
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
107 def test_set_column (self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
108 for bpp in (8, 16, 24, 32):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
109 sf = pygame.Surface ((6, 8), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
110 sf.fill ((0, 0, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
111 ar = pygame.PixelArray (sf)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
112
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
113 sf2 = pygame.Surface ((6, 8), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
114 sf2.fill ((0, 255, 255))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
115 ar2 = pygame.PixelArray (sf2)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
116
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
117 # Test single value assignment
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
118 ar.__setitem__ (2, (128, 128, 128))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
119 self.assertEqual (ar[2][0], sf.map_rgb ((128, 128, 128)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
120 self.assertEqual (ar[2][1], sf.map_rgb ((128, 128, 128)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
121
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
122 ar.__setitem__ (-1, (0, 255, 255))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
123 self.assertEqual (ar[5][0], sf.map_rgb ((0, 255, 255)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
124 self.assertEqual (ar[-1][1], sf.map_rgb ((0, 255, 255)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
125
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
126 ar.__setitem__ (-2, (255, 255, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
127 self.assertEqual (ar[4][0], sf.map_rgb ((255, 255, 0)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
128 self.assertEqual (ar[-2][1], sf.map_rgb ((255, 255, 0)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
129
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
130 # Test list assignment.
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
131 ar.__setitem__ (0, [(255, 255, 255)] * 8)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
132 self.assertEqual (ar[0][0], sf.map_rgb ((255, 255, 255)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
133 self.assertEqual (ar[0][1], sf.map_rgb ((255, 255, 255)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
134
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
135 # Test tuple assignment.
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
136 ar.__setitem__ (1, ((204, 0, 204), (17, 17, 17), (204, 0, 204),
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
137 (17, 17, 17), (204, 0, 204), (17, 17, 17),
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
138 (204, 0, 204), (17, 17, 17)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
139 self.assertEqual (ar[1][0], sf.map_rgb ((204, 0, 204)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
140 self.assertEqual (ar[1][1], sf.map_rgb ((17, 17, 17)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
141 self.assertEqual (ar[1][2], sf.map_rgb ((204, 0, 204)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
142
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
143 # Test pixel array assignment.
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
144 ar.__setitem__ (1, ar2.__getitem__ (3))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
145 self.assertEqual (ar[1][0], sf.map_rgb ((0, 255, 255)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
146 self.assertEqual (ar[1][1], sf.map_rgb ((0, 255, 255)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
147
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
148 def test_get_slice (self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
149 for bpp in (8, 16, 24, 32):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
150 sf = pygame.Surface ((10, 20), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
151 sf.fill ((0, 0, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
152 ar = pygame.PixelArray (sf)
1578
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
153
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
154 if PY3:
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
155 self.assertEqual (len (ar[0:2]), 2)
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
156 self.assertEqual (len (ar[3:7][3]), 20)
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
157
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
158 self.assertEqual (ar[0:0], None)
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
159 self.assertEqual (ar[5:5], None)
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
160 self.assertEqual (ar[9:9], None)
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
161 else:
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
162 self.assertEqual (len (ar.__getslice__ (0, 2)), 2)
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
163 self.assertEqual (len (ar.__getslice__ (3, 7)[3]), 20)
1418
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
164
1578
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
165 self.assertEqual (ar.__getslice__ (0, 0), None)
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
166 self.assertEqual (ar.__getslice__ (5, 5), None)
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
167 self.assertEqual (ar.__getslice__ (9, 9), None)
1418
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
168
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
169 # Has to resolve to ar[7:8]
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
170 self.assertEqual (len (ar[-3:-2]), 20)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
171
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
172 # Try assignments.
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
173
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
174 # 2D assignment.
1578
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
175 if PY3:
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
176 ar[2:5] = (255, 255, 255)
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
177 else:
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
178 ar.__setslice__ (2, 5, (255, 255, 255))
1418
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
179 self.assertEqual (ar[3][3], sf.map_rgb ((255, 255, 255)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
180
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
181 # 1D assignment
1578
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
182 if PY3:
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
183 ar[3][3:7] = (10, 10, 10)
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
184 else:
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
185 ar[3].__setslice__ (3, 7, (10, 10, 10))
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
186
1418
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
187 self.assertEqual (ar[3][5], sf.map_rgb ((10, 10, 10)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
188 self.assertEqual (ar[3][6], sf.map_rgb ((10, 10, 10)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
189
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
190 def test_contains (self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
191 for bpp in (8, 16, 24, 32):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
192 sf = pygame.Surface ((10, 20), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
193 sf.fill ((0, 0, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
194 sf.set_at ((8, 8), (255, 255, 255))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
195
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
196 ar = pygame.PixelArray (sf)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
197 self.assertTrue ((0, 0, 0) in ar)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
198 self.assertTrue ((255, 255, 255) in ar)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
199 self.assertFalse ((255, 255, 0) in ar)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
200 self.assertFalse (0x0000ff in ar)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
201
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
202 # Test sliced array
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
203 self.assertTrue ((0, 0, 0) in ar[8])
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
204 self.assertTrue ((255, 255, 255) in ar[8])
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
205 self.assertFalse ((255, 255, 0) in ar[8])
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
206 self.assertFalse (0x0000ff in ar[8])
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
207
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
208 def test_get_surface (self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
209 for bpp in (8, 16, 24, 32):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
210 sf = pygame.Surface ((10, 20), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
211 sf.fill ((0, 0, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
212 ar = pygame.PixelArray (sf)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
213 self.assertEqual (sf, ar.surface)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
214
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
215 def test_set_slice (self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
216 for bpp in (8, 16, 24, 32):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
217 sf = pygame.Surface ((6, 8), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
218 sf.fill ((0, 0, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
219 ar = pygame.PixelArray (sf)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
220
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
221 # Test single value assignment
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
222 val = sf.map_rgb ((128, 128, 128))
1578
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
223 if PY3:
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
224 ar[0:2] = val
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
225 else:
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
226 ar.__setslice__ (0, 2, val)
1418
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
227 self.assertEqual (ar[0][0], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
228 self.assertEqual (ar[0][1], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
229 self.assertEqual (ar[1][0], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
230 self.assertEqual (ar[1][1], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
231
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
232 val = sf.map_rgb ((0, 255, 255))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
233 ar[-3:-1] = val
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
234 self.assertEqual (ar[3][0], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
235 self.assertEqual (ar[-2][1], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
236
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
237 val = sf.map_rgb ((255, 255, 255))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
238 ar[-3:] = (255, 255, 255)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
239 self.assertEqual (ar[4][0], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
240 self.assertEqual (ar[-1][1], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
241
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
242 # Test list assignment, this is a vertical assignment.
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
243 val = sf.map_rgb ((0, 255, 0))
1578
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
244 if PY3:
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
245 ar[2:4] = [val] * 8
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
246 else:
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
247 ar.__setslice__ (2, 4, [val] * 8)
1418
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
248 self.assertEqual (ar[2][0], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
249 self.assertEqual (ar[2][1], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
250 self.assertEqual (ar[2][4], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
251 self.assertEqual (ar[2][5], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
252 self.assertEqual (ar[3][0], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
253 self.assertEqual (ar[3][1], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
254 self.assertEqual (ar[3][4], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
255 self.assertEqual (ar[3][5], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
256
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
257 # And the horizontal assignment.
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
258 val = sf.map_rgb ((255, 0, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
259 val2 = sf.map_rgb ((128, 0, 255))
1578
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
260 if PY3:
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
261 ar[0:2] = [val, val2]
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
262 else:
c0d170c1e636 all standard modules build with Python 3.1. Optional movie module adapted. setup.py skips unsupported files for Python 3
Lenard Lindstrom <len-l@telus.net>
parents: 1418
diff changeset
263 ar.__setslice__ (0, 2, [val, val2])
1418
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
264 self.assertEqual (ar[0][0], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
265 self.assertEqual (ar[1][0], val2)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
266 self.assertEqual (ar[0][1], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
267 self.assertEqual (ar[1][1], val2)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
268 self.assertEqual (ar[0][4], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
269 self.assertEqual (ar[1][4], val2)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
270 self.assertEqual (ar[0][5], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
271 self.assertEqual (ar[1][5], val2)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
272
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
273 # Test pixelarray assignment.
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
274 ar[:] = (0, 0, 0)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
275 sf2 = pygame.Surface ((6, 8), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
276 sf2.fill ((255, 0, 255))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
277
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
278 val = sf.map_rgb ((255, 0, 255))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
279 ar2 = pygame.PixelArray (sf2)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
280
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
281 ar[:] = ar2[:]
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
282 self.assertEqual (ar[0][0], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
283 self.assertEqual (ar[5][7], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
284
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
285 def test_subscript (self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
286 # By default we do not need to work with any special __***__
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
287 # methods as map subscripts are the first looked up by the
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
288 # object system.
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
289 for bpp in (8, 16, 24, 32):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
290 sf = pygame.Surface ((6, 8), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
291 sf.set_at ((1, 3), (0, 255, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
292 sf.set_at ((0, 0), (0, 255, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
293 sf.set_at ((4, 4), (0, 255, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
294 val = sf.map_rgb ((0, 255, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
295
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
296 ar = pygame.PixelArray (sf)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
297
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
298 # Test single value requests.
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
299 self.assertEqual (ar[1,3], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
300 self.assertEqual (ar[0,0], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
301 self.assertEqual (ar[4,4], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
302 self.assertEqual (ar[1][3], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
303 self.assertEqual (ar[0][0], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
304 self.assertEqual (ar[4][4], val)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
305
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
306 # Test ellipse working.
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
307 self.assertEqual (len (ar[...,...]), 6)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
308 self.assertEqual (len (ar[1,...]), 8)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
309 self.assertEqual (len (ar[...,3]), 6)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
310
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
311 # Test simple slicing
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
312 self.assertEqual (len (ar[:,:]), 6)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
313 self.assertEqual (len (ar[:,]), 6)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
314 self.assertEqual (len (ar[1,:]), 8)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
315 self.assertEqual (len (ar[:,2]), 6)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
316 # Empty slices
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
317 self.assertEqual (ar[4:4,], None)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
318 self.assertEqual (ar[4:4,...], None)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
319 self.assertEqual (ar[4:4,2:2], None)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
320 self.assertEqual (ar[4:4,1:4], None)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
321 self.assertEqual (ar[4:4:2,], None)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
322 self.assertEqual (ar[4:4:-2,], None)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
323 self.assertEqual (ar[4:4:1,...], None)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
324 self.assertEqual (ar[4:4:-1,...], None)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
325 self.assertEqual (ar[4:4:1,2:2], None)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
326 self.assertEqual (ar[4:4:-1,1:4], None)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
327 self.assertEqual (ar[...,4:4], None)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
328 self.assertEqual (ar[1:4,4:4], None)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
329 self.assertEqual (ar[...,4:4:1], None)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
330 self.assertEqual (ar[...,4:4:-1], None)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
331 self.assertEqual (ar[2:2,4:4:1], None)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
332 self.assertEqual (ar[1:4,4:4:-1], None)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
333
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
334 # Test advanced slicing
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
335 ar[0] = 0
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
336 ar[1] = 1
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
337 ar[2] = 2
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
338 ar[3] = 3
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
339 ar[4] = 4
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
340 ar[5] = 5
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
341
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
342 # We should receive something like [0,2,4]
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
343 self.assertEqual (ar[::2,1][0], 0)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
344 self.assertEqual (ar[::2,1][1], 2)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
345 self.assertEqual (ar[::2,1][2], 4)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
346 # We should receive something like [2,2,2]
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
347 self.assertEqual (ar[2,::2][0], 2)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
348 self.assertEqual (ar[2,::2][1], 2)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
349 self.assertEqual (ar[2,::2][2], 2)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
350
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
351 # Should create a 3x3 array of [0,2,4]
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
352 ar2 = ar[::2,::2]
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
353 self.assertEqual (len (ar2), 3)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
354 self.assertEqual (ar2[0][0], 0)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
355 self.assertEqual (ar2[0][1], 0)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
356 self.assertEqual (ar2[0][2], 0)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
357 self.assertEqual (ar2[2][0], 4)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
358 self.assertEqual (ar2[2][1], 4)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
359 self.assertEqual (ar2[2][2], 4)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
360 self.assertEqual (ar2[1][0], 2)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
361 self.assertEqual (ar2[2][0], 4)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
362 self.assertEqual (ar2[1][1], 2)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
363
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
364 # Should create a reversed 3x8 array over X of [1,2,3] -> [3,2,1]
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
365 ar2 = ar[3:0:-1]
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
366 self.assertEqual (len (ar2), 3)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
367 self.assertEqual (ar2[0][0], 3)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
368 self.assertEqual (ar2[0][1], 3)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
369 self.assertEqual (ar2[0][2], 3)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
370 self.assertEqual (ar2[0][7], 3)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
371 self.assertEqual (ar2[2][0], 1)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
372 self.assertEqual (ar2[2][1], 1)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
373 self.assertEqual (ar2[2][2], 1)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
374 self.assertEqual (ar2[2][7], 1)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
375 self.assertEqual (ar2[1][0], 2)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
376 self.assertEqual (ar2[1][1], 2)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
377 # Should completely reverse the array over X -> [5,4,3,2,1,0]
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
378 ar2 = ar[::-1]
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
379 self.assertEqual (len (ar2), 6)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
380 self.assertEqual (ar2[0][0], 5)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
381 self.assertEqual (ar2[0][1], 5)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
382 self.assertEqual (ar2[0][3], 5)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
383 self.assertEqual (ar2[0][-1], 5)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
384 self.assertEqual (ar2[1][0], 4)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
385 self.assertEqual (ar2[1][1], 4)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
386 self.assertEqual (ar2[1][3], 4)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
387 self.assertEqual (ar2[1][-1], 4)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
388 self.assertEqual (ar2[-1][-1], 0)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
389 self.assertEqual (ar2[-2][-2], 1)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
390 self.assertEqual (ar2[-3][-1], 2)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
391
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
392 # Test advanced slicing
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
393 ar[:] = 0
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
394 ar2 = ar[:,1]
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
395 ar2[:] = [99] * len(ar2)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
396 self.assertEqual (ar2[0], 99)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
397 self.assertEqual (ar2[-1], 99)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
398 self.assertEqual (ar2[-2], 99)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
399 self.assertEqual (ar2[2], 99)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
400 self.assertEqual (ar[0,1], 99)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
401 self.assertEqual (ar[1,1], 99)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
402 self.assertEqual (ar[2,1], 99)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
403 self.assertEqual (ar[-1,1], 99)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
404 self.assertEqual (ar[-2,1], 99)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
405
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
406 def test_ass_subscript (self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
407 for bpp in (8, 16, 24, 32):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
408 sf = pygame.Surface ((6, 8), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
409 sf.fill ((255, 255, 255))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
410 ar = pygame.PixelArray (sf)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
411
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
412 # Test ellipse working
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
413 ar[...,...] = (0, 0, 0)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
414 self.assertEqual (ar[0,0], 0)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
415 self.assertEqual (ar[1,0], 0)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
416 self.assertEqual (ar[-1,-1], 0)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
417 ar[...,] = (0, 0, 255)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
418 self.assertEqual (ar[0,0], sf.map_rgb ((0, 0, 255)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
419 self.assertEqual (ar[1,0], sf.map_rgb ((0, 0, 255)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
420 self.assertEqual (ar[-1,-1], sf.map_rgb ((0, 0, 255)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
421 ar[:,...] = (255, 0, 0)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
422 self.assertEqual (ar[0,0], sf.map_rgb ((255, 0, 0)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
423 self.assertEqual (ar[1,0], sf.map_rgb ((255, 0, 0)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
424 self.assertEqual (ar[-1,-1], sf.map_rgb ((255, 0, 0)))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
425
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
426 def test_make_surface (self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
427 for bpp in (8, 16, 24, 32):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
428 sf = pygame.Surface ((10, 20), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
429 sf.fill ((255, 255, 255))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
430 ar = pygame.PixelArray (sf)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
431 newsf = ar[::2,::2].make_surface ()
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
432 rect = newsf.get_rect ()
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
433 self.assertEqual (rect.width, 5)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
434 self.assertEqual (rect.height, 10)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
435
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
436 def test_iter (self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
437 for bpp in (8, 16, 24, 32):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
438 sf = pygame.Surface ((5, 10), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
439 ar = pygame.PixelArray (sf)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
440 iterations = 0
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
441 for col in ar:
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
442 self.assertEqual (len (col), 10)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
443 iterations += 1
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
444 self.assertEqual (iterations, 5)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
445
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
446 def test_replace (self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
447 #print "replace start"
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
448 for bpp in (8, 16, 24, 32):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
449 sf = pygame.Surface ((10, 10), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
450 sf.fill ((255, 0, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
451 rval = sf.map_rgb ((0, 0, 255))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
452 oval = sf.map_rgb ((255, 0, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
453 ar = pygame.PixelArray (sf)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
454 ar[::2].replace ((255, 0, 0), (0, 0, 255))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
455 self.assertEqual (ar[0][0], rval)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
456 self.assertEqual (ar[1][0], oval)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
457 self.assertEqual (ar[2][3], rval)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
458 self.assertEqual (ar[3][6], oval)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
459 self.assertEqual (ar[8][9], rval)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
460 self.assertEqual (ar[9][9], oval)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
461
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
462 ar[::2].replace ((0, 0, 255), (255, 0, 0), weights=(10, 20, 50))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
463 self.assertEqual (ar[0][0], oval)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
464 self.assertEqual (ar[2][3], oval)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
465 self.assertEqual (ar[3][6], oval)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
466 self.assertEqual (ar[8][9], oval)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
467 self.assertEqual (ar[9][9], oval)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
468 #print "replace end"
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
469
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
470 def test_extract (self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
471 #print "extract start"
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
472 for bpp in (8, 16, 24, 32):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
473 sf = pygame.Surface ((10, 10), 0, bpp)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
474 sf.fill ((0, 0, 255))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
475 sf.fill ((255, 0, 0), (2, 2, 6, 6))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
476
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
477 white = sf.map_rgb ((255, 255, 255))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
478 black = sf.map_rgb ((0, 0, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
479
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
480 ar = pygame.PixelArray (sf)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
481 newar = ar.extract ((255, 0, 0))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
482
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
483 self.assertEqual (newar[0][0], black)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
484 self.assertEqual (newar[1][0], black)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
485 self.assertEqual (newar[2][3], white)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
486 self.assertEqual (newar[3][6], white)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
487 self.assertEqual (newar[8][9], black)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
488 self.assertEqual (newar[9][9], black)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
489
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
490 newar = ar.extract ((255, 0, 0), weights=(10, 0.1, 50))
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
491 self.assertEqual (newar[0][0], black)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
492 self.assertEqual (newar[1][0], black)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
493 self.assertEqual (newar[2][3], white)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
494 self.assertEqual (newar[3][6], white)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
495 self.assertEqual (newar[8][9], black)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
496 self.assertEqual (newar[9][9], black)
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
497 #print "extract end"
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
498
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
499 def todo_test_surface(self):
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
500
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
501 # __doc__ (as of 2008-08-02) for pygame.pixelarray.PixelArray.surface:
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
502
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
503 # PixelArray.surface: Return Surface
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
504 # Gets the Surface the PixelArray uses.
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
505 #
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
506 # The Surface, the PixelArray was created for.
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
507
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
508 self.fail()
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
509
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
510 if __name__ == '__main__':
af8675f5e463 test suite now pygame.tests subpackage as well
Lenard Lindstrom <len-l@telus.net>
parents: 1261
diff changeset
511 unittest.main()