Mercurial > cpython-lru_cache-weakref
annotate Lib/test/test_array.py @ 40809:f340cb045bf9
- PEP 3106: dict.iterkeys(), .iteritems(), .itervalues() are now gone;
and .keys(), .items(), .values() return dict views.
The dict views aren't fully functional yet; in particular, they can't
be compared to sets yet. but they are useful as "iterator wells".
There are still 27 failing unit tests; I expect that many of these
have fairly trivial fixes, but there are so many, I could use help.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Sun, 11 Feb 2007 06:12:03 +0000 |
| parents | 4cdf21a0dbbc |
| children | f390793e75de |
| rev | line source |
|---|---|
|
4627
6b765453b041
module to test the arraymodule created and added to testall.py
Roger E. Masse <rmasse@newcnri.cnri.reston.va.us>
parents:
diff
changeset
|
1 #! /usr/bin/env python |
|
6b765453b041
module to test the arraymodule created and added to testall.py
Roger E. Masse <rmasse@newcnri.cnri.reston.va.us>
parents:
diff
changeset
|
2 """Test the arraymodule. |
|
4811
9ae3cccfa7cd
Many scripts, but small changes. Update the way the scripts obtain the
Roger E. Masse <rmasse@newcnri.cnri.reston.va.us>
parents:
4627
diff
changeset
|
3 Roger E. Masse |
|
4627
6b765453b041
module to test the arraymodule created and added to testall.py
Roger E. Masse <rmasse@newcnri.cnri.reston.va.us>
parents:
diff
changeset
|
4 """ |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
5 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
6 import unittest |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
7 from test import test_support |
|
32159
2c169ca5fa69
Add weakref support to array.array and file objects.
Raymond Hettinger <python@rcn.com>
parents:
31660
diff
changeset
|
8 from weakref import proxy |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
9 import array, cStringIO, math |
|
39543
9bc0bc0ad1bf
Quite a few fixes to make the library and test suite more robust when
Guido van Rossum <guido@python.org>
parents:
37879
diff
changeset
|
10 from pickle import loads, dumps |
|
34174
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
11 |
|
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
12 class ArraySubclass(array.array): |
|
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
13 pass |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
14 |
|
40737
6ebad2a6b990
Merged revisions 53451-53537 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
40644
diff
changeset
|
15 class ArraySubclassWithKwargs(array.array): |
|
6ebad2a6b990
Merged revisions 53451-53537 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
40644
diff
changeset
|
16 def __init__(self, typecode, newarg=None): |
|
6ebad2a6b990
Merged revisions 53451-53537 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
40644
diff
changeset
|
17 array.array.__init__(typecode) |
|
6ebad2a6b990
Merged revisions 53451-53537 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
40644
diff
changeset
|
18 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
19 tests = [] # list to accumulate all tests |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
20 typecodes = "cubBhHiIlLfd" |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
21 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
22 class BadConstructorTest(unittest.TestCase): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
23 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
24 def test_constructor(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
25 self.assertRaises(TypeError, array.array) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
26 self.assertRaises(TypeError, array.array, spam=42) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
27 self.assertRaises(TypeError, array.array, 'xx') |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
28 self.assertRaises(ValueError, array.array, 'x') |
|
4811
9ae3cccfa7cd
Many scripts, but small changes. Update the way the scripts obtain the
Roger E. Masse <rmasse@newcnri.cnri.reston.va.us>
parents:
4627
diff
changeset
|
29 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
30 tests.append(BadConstructorTest) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
31 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
32 class BaseTest(unittest.TestCase): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
33 # Required class attributes (provided by subclasses |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
34 # typecode: the typecode to test |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
35 # example: an initializer usable in the constructor for this type |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
36 # smallerexample: the same length as example, but smaller |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
37 # biggerexample: the same length as example, but bigger |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
38 # outside: An entry that is not in example |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
39 # minitemsize: the minimum guaranteed itemsize |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
40 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
41 def assertEntryEqual(self, entry1, entry2): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
42 self.assertEqual(entry1, entry2) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
43 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
44 def badtypecode(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
45 # Return a typecode that is different from our own |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
46 return typecodes[(typecodes.index(self.typecode)+1) % len(typecodes)] |
|
4811
9ae3cccfa7cd
Many scripts, but small changes. Update the way the scripts obtain the
Roger E. Masse <rmasse@newcnri.cnri.reston.va.us>
parents:
4627
diff
changeset
|
47 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
48 def test_constructor(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
49 a = array.array(self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
50 self.assertEqual(a.typecode, self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
51 self.assert_(a.itemsize>=self.minitemsize) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
52 self.assertRaises(TypeError, array.array, self.typecode, None) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
53 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
54 def test_len(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
55 a = array.array(self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
56 a.append(self.example[0]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
57 self.assertEqual(len(a), 1) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
58 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
59 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
60 self.assertEqual(len(a), len(self.example)) |
|
22098
966725095854
Patch 520694: arraymodule.c improvements:
Martin v. Löwis <martin@v.loewis.de>
parents:
15966
diff
changeset
|
61 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
62 def test_buffer_info(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
63 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
64 self.assertRaises(TypeError, a.buffer_info, 42) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
65 bi = a.buffer_info() |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
66 self.assert_(isinstance(bi, tuple)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
67 self.assertEqual(len(bi), 2) |
|
40644
1c26505c1de6
Rip out 'long' and 'L'-suffixed integer literals.
Guido van Rossum <guido@python.org>
parents:
40450
diff
changeset
|
68 self.assert_(isinstance(bi[0], (int, int))) |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
69 self.assert_(isinstance(bi[1], int)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
70 self.assertEqual(bi[1], len(a)) |
|
22098
966725095854
Patch 520694: arraymodule.c improvements:
Martin v. Löwis <martin@v.loewis.de>
parents:
15966
diff
changeset
|
71 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
72 def test_byteswap(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
73 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
74 self.assertRaises(TypeError, a.byteswap, 42) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
75 if a.itemsize in (1, 2, 4, 8): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
76 b = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
77 b.byteswap() |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
78 if a.itemsize==1: |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
79 self.assertEqual(a, b) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
80 else: |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
81 self.assertNotEqual(a, b) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
82 b.byteswap() |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
83 self.assertEqual(a, b) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
84 |
|
31651
35cb8114b45c
SF bug #910986: copy.copy fails for array.array
Raymond Hettinger <python@rcn.com>
parents:
30040
diff
changeset
|
85 def test_copy(self): |
|
35cb8114b45c
SF bug #910986: copy.copy fails for array.array
Raymond Hettinger <python@rcn.com>
parents:
30040
diff
changeset
|
86 import copy |
|
35cb8114b45c
SF bug #910986: copy.copy fails for array.array
Raymond Hettinger <python@rcn.com>
parents:
30040
diff
changeset
|
87 a = array.array(self.typecode, self.example) |
|
35cb8114b45c
SF bug #910986: copy.copy fails for array.array
Raymond Hettinger <python@rcn.com>
parents:
30040
diff
changeset
|
88 b = copy.copy(a) |
|
35cb8114b45c
SF bug #910986: copy.copy fails for array.array
Raymond Hettinger <python@rcn.com>
parents:
30040
diff
changeset
|
89 self.assertNotEqual(id(a), id(b)) |
|
35cb8114b45c
SF bug #910986: copy.copy fails for array.array
Raymond Hettinger <python@rcn.com>
parents:
30040
diff
changeset
|
90 self.assertEqual(a, b) |
|
35cb8114b45c
SF bug #910986: copy.copy fails for array.array
Raymond Hettinger <python@rcn.com>
parents:
30040
diff
changeset
|
91 |
|
40450
cc992d75d5b3
Four months of trunk changes (including a few releases...)
Thomas Wouters <thomas@python.org>
parents:
39543
diff
changeset
|
92 def test_deepcopy(self): |
|
cc992d75d5b3
Four months of trunk changes (including a few releases...)
Thomas Wouters <thomas@python.org>
parents:
39543
diff
changeset
|
93 import copy |
|
cc992d75d5b3
Four months of trunk changes (including a few releases...)
Thomas Wouters <thomas@python.org>
parents:
39543
diff
changeset
|
94 a = array.array(self.typecode, self.example) |
|
cc992d75d5b3
Four months of trunk changes (including a few releases...)
Thomas Wouters <thomas@python.org>
parents:
39543
diff
changeset
|
95 b = copy.deepcopy(a) |
|
cc992d75d5b3
Four months of trunk changes (including a few releases...)
Thomas Wouters <thomas@python.org>
parents:
39543
diff
changeset
|
96 self.assertNotEqual(id(a), id(b)) |
|
cc992d75d5b3
Four months of trunk changes (including a few releases...)
Thomas Wouters <thomas@python.org>
parents:
39543
diff
changeset
|
97 self.assertEqual(a, b) |
|
cc992d75d5b3
Four months of trunk changes (including a few releases...)
Thomas Wouters <thomas@python.org>
parents:
39543
diff
changeset
|
98 |
|
34174
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
99 def test_pickle(self): |
|
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
100 for protocol in (0, 1, 2): |
|
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
101 a = array.array(self.typecode, self.example) |
|
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
102 b = loads(dumps(a, protocol)) |
|
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
103 self.assertNotEqual(id(a), id(b)) |
|
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
104 self.assertEqual(a, b) |
|
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
105 |
|
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
106 a = ArraySubclass(self.typecode, self.example) |
|
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
107 a.x = 10 |
|
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
108 b = loads(dumps(a, protocol)) |
|
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
109 self.assertNotEqual(id(a), id(b)) |
|
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
110 self.assertEqual(a, b) |
|
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
111 self.assertEqual(a.x, b.x) |
|
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
112 self.assertEqual(type(a), type(b)) |
|
30b97c1bb12d
SF #1085304: Make array.array pickle-able
Raymond Hettinger <python@rcn.com>
parents:
33316
diff
changeset
|
113 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
114 def test_insert(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
115 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
116 a.insert(0, self.example[0]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
117 self.assertEqual(len(a), 1+len(self.example)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
118 self.assertEqual(a[0], a[1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
119 self.assertRaises(TypeError, a.insert) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
120 self.assertRaises(TypeError, a.insert, None) |
|
29158
001d3c7e9637
Add another error case to the insert test.
Walter Dörwald <walter@livinglogic.de>
parents:
29157
diff
changeset
|
121 self.assertRaises(TypeError, a.insert, 0, None) |
|
22098
966725095854
Patch 520694: arraymodule.c improvements:
Martin v. Löwis <martin@v.loewis.de>
parents:
15966
diff
changeset
|
122 |
|
29163
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
123 a = array.array(self.typecode, self.example) |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
124 a.insert(-1, self.example[0]) |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
125 self.assertEqual( |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
126 a, |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
127 array.array( |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
128 self.typecode, |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
129 self.example[:-1] + self.example[:1] + self.example[-1:] |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
130 ) |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
131 ) |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
132 |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
133 a = array.array(self.typecode, self.example) |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
134 a.insert(-1000, self.example[0]) |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
135 self.assertEqual( |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
136 a, |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
137 array.array(self.typecode, self.example[:1] + self.example) |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
138 ) |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
139 |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
140 a = array.array(self.typecode, self.example) |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
141 a.insert(1000, self.example[0]) |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
142 self.assertEqual( |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
143 a, |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
144 array.array(self.typecode, self.example + self.example[:1]) |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
145 ) |
|
2bb5ceef9ac3
Fix array.array.insert(), so that it treats negative indices as
Walter Dörwald <walter@livinglogic.de>
parents:
29158
diff
changeset
|
146 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
147 def test_tofromfile(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
148 a = array.array(self.typecode, 2*self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
149 self.assertRaises(TypeError, a.tofile) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
150 self.assertRaises(TypeError, a.tofile, cStringIO.StringIO()) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
151 f = open(test_support.TESTFN, 'wb') |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
152 try: |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
153 a.tofile(f) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
154 f.close() |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
155 b = array.array(self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
156 f = open(test_support.TESTFN, 'rb') |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
157 self.assertRaises(TypeError, b.fromfile) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
158 self.assertRaises( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
159 TypeError, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
160 b.fromfile, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
161 cStringIO.StringIO(), len(self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
162 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
163 b.fromfile(f, len(self.example)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
164 self.assertEqual(b, array.array(self.typecode, self.example)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
165 self.assertNotEqual(a, b) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
166 b.fromfile(f, len(self.example)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
167 self.assertEqual(a, b) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
168 self.assertRaises(EOFError, b.fromfile, f, 1) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
169 f.close() |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
170 finally: |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
171 if not f.closed: |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
172 f.close() |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
173 test_support.unlink(test_support.TESTFN) |
|
22098
966725095854
Patch 520694: arraymodule.c improvements:
Martin v. Löwis <martin@v.loewis.de>
parents:
15966
diff
changeset
|
174 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
175 def test_tofromlist(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
176 a = array.array(self.typecode, 2*self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
177 b = array.array(self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
178 self.assertRaises(TypeError, a.tolist, 42) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
179 self.assertRaises(TypeError, b.fromlist) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
180 self.assertRaises(TypeError, b.fromlist, 42) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
181 self.assertRaises(TypeError, b.fromlist, [None]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
182 b.fromlist(a.tolist()) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
183 self.assertEqual(a, b) |
|
22098
966725095854
Patch 520694: arraymodule.c improvements:
Martin v. Löwis <martin@v.loewis.de>
parents:
15966
diff
changeset
|
184 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
185 def test_tofromstring(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
186 a = array.array(self.typecode, 2*self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
187 b = array.array(self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
188 self.assertRaises(TypeError, a.tostring, 42) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
189 self.assertRaises(TypeError, b.fromstring) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
190 self.assertRaises(TypeError, b.fromstring, 42) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
191 b.fromstring(a.tostring()) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
192 self.assertEqual(a, b) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
193 if a.itemsize>1: |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
194 self.assertRaises(ValueError, b.fromstring, "x") |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
195 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
196 def test_repr(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
197 a = array.array(self.typecode, 2*self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
198 self.assertEqual(a, eval(repr(a), {"array": array.array})) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
199 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
200 a = array.array(self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
201 self.assertEqual(repr(a), "array('%s')" % self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
202 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
203 def test_str(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
204 a = array.array(self.typecode, 2*self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
205 str(a) |
|
22098
966725095854
Patch 520694: arraymodule.c improvements:
Martin v. Löwis <martin@v.loewis.de>
parents:
15966
diff
changeset
|
206 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
207 def test_cmp(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
208 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
209 self.assert_((a == 42) is False) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
210 self.assert_((a != 42) is True) |
|
22098
966725095854
Patch 520694: arraymodule.c improvements:
Martin v. Löwis <martin@v.loewis.de>
parents:
15966
diff
changeset
|
211 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
212 self.assert_((a == a) is True) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
213 self.assert_((a != a) is False) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
214 self.assert_((a < a) is False) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
215 self.assert_((a <= a) is True) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
216 self.assert_((a > a) is False) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
217 self.assert_((a >= a) is True) |
|
22098
966725095854
Patch 520694: arraymodule.c improvements:
Martin v. Löwis <martin@v.loewis.de>
parents:
15966
diff
changeset
|
218 |
|
37055
fdc05b167236
as is on the road to keyword-hood, use a different var name.
Neal Norwitz <nnorwitz@gmail.com>
parents:
34479
diff
changeset
|
219 al = array.array(self.typecode, self.smallerexample) |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
220 ab = array.array(self.typecode, self.biggerexample) |
|
22098
966725095854
Patch 520694: arraymodule.c improvements:
Martin v. Löwis <martin@v.loewis.de>
parents:
15966
diff
changeset
|
221 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
222 self.assert_((a == 2*a) is False) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
223 self.assert_((a != 2*a) is True) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
224 self.assert_((a < 2*a) is True) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
225 self.assert_((a <= 2*a) is True) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
226 self.assert_((a > 2*a) is False) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
227 self.assert_((a >= 2*a) is False) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
228 |
|
37055
fdc05b167236
as is on the road to keyword-hood, use a different var name.
Neal Norwitz <nnorwitz@gmail.com>
parents:
34479
diff
changeset
|
229 self.assert_((a == al) is False) |
|
fdc05b167236
as is on the road to keyword-hood, use a different var name.
Neal Norwitz <nnorwitz@gmail.com>
parents:
34479
diff
changeset
|
230 self.assert_((a != al) is True) |
|
fdc05b167236
as is on the road to keyword-hood, use a different var name.
Neal Norwitz <nnorwitz@gmail.com>
parents:
34479
diff
changeset
|
231 self.assert_((a < al) is False) |
|
fdc05b167236
as is on the road to keyword-hood, use a different var name.
Neal Norwitz <nnorwitz@gmail.com>
parents:
34479
diff
changeset
|
232 self.assert_((a <= al) is False) |
|
fdc05b167236
as is on the road to keyword-hood, use a different var name.
Neal Norwitz <nnorwitz@gmail.com>
parents:
34479
diff
changeset
|
233 self.assert_((a > al) is True) |
|
fdc05b167236
as is on the road to keyword-hood, use a different var name.
Neal Norwitz <nnorwitz@gmail.com>
parents:
34479
diff
changeset
|
234 self.assert_((a >= al) is True) |
|
22098
966725095854
Patch 520694: arraymodule.c improvements:
Martin v. Löwis <martin@v.loewis.de>
parents:
15966
diff
changeset
|
235 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
236 self.assert_((a == ab) is False) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
237 self.assert_((a != ab) is True) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
238 self.assert_((a < ab) is True) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
239 self.assert_((a <= ab) is True) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
240 self.assert_((a > ab) is False) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
241 self.assert_((a >= ab) is False) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
242 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
243 def test_add(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
244 a = array.array(self.typecode, self.example) \ |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
245 + array.array(self.typecode, self.example[::-1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
246 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
247 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
248 array.array(self.typecode, self.example + self.example[::-1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
249 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
250 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
251 b = array.array(self.badtypecode()) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
252 self.assertRaises(TypeError, a.__add__, b) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
253 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
254 self.assertRaises(TypeError, a.__add__, "bad") |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
255 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
256 def test_iadd(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
257 a = array.array(self.typecode, self.example[::-1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
258 b = a |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
259 a += array.array(self.typecode, 2*self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
260 self.assert_(a is b) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
261 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
262 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
263 array.array(self.typecode, self.example[::-1]+2*self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
264 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
265 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
266 b = array.array(self.badtypecode()) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
267 self.assertRaises(TypeError, a.__add__, b) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
268 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
269 self.assertRaises(TypeError, a.__iadd__, "bad") |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
270 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
271 def test_mul(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
272 a = 5*array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
273 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
274 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
275 array.array(self.typecode, 5*self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
276 ) |
|
5289
47d3d396d4ef
Use TESTFN instead of /etc/passwd and /dev/null as test files.
Guido van Rossum <guido@python.org>
parents:
4811
diff
changeset
|
277 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
278 a = array.array(self.typecode, self.example)*5 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
279 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
280 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
281 array.array(self.typecode, self.example*5) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
282 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
283 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
284 a = 0*array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
285 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
286 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
287 array.array(self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
288 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
289 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
290 a = (-1)*array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
291 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
292 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
293 array.array(self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
294 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
295 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
296 self.assertRaises(TypeError, a.__mul__, "bad") |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
297 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
298 def test_imul(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
299 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
300 b = a |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
301 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
302 a *= 5 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
303 self.assert_(a is b) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
304 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
305 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
306 array.array(self.typecode, 5*self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
307 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
308 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
309 a *= 0 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
310 self.assert_(a is b) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
311 self.assertEqual(a, array.array(self.typecode)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
312 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
313 a *= 1000 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
314 self.assert_(a is b) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
315 self.assertEqual(a, array.array(self.typecode)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
316 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
317 a *= -1 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
318 self.assert_(a is b) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
319 self.assertEqual(a, array.array(self.typecode)) |
|
4627
6b765453b041
module to test the arraymodule created and added to testall.py
Roger E. Masse <rmasse@newcnri.cnri.reston.va.us>
parents:
diff
changeset
|
320 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
321 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
322 a *= -1 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
323 self.assertEqual(a, array.array(self.typecode)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
324 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
325 self.assertRaises(TypeError, a.__imul__, "bad") |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
326 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
327 def test_getitem(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
328 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
329 self.assertEntryEqual(a[0], self.example[0]) |
|
40644
1c26505c1de6
Rip out 'long' and 'L'-suffixed integer literals.
Guido van Rossum <guido@python.org>
parents:
40450
diff
changeset
|
330 self.assertEntryEqual(a[0], self.example[0]) |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
331 self.assertEntryEqual(a[-1], self.example[-1]) |
|
40644
1c26505c1de6
Rip out 'long' and 'L'-suffixed integer literals.
Guido van Rossum <guido@python.org>
parents:
40450
diff
changeset
|
332 self.assertEntryEqual(a[-1], self.example[-1]) |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
333 self.assertEntryEqual(a[len(self.example)-1], self.example[-1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
334 self.assertEntryEqual(a[-len(self.example)], self.example[0]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
335 self.assertRaises(TypeError, a.__getitem__) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
336 self.assertRaises(IndexError, a.__getitem__, len(self.example)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
337 self.assertRaises(IndexError, a.__getitem__, -len(self.example)-1) |
|
13069
b76df68099a5
Trent Mick <trentm@activestate.com>:
Fred Drake <fdrake@acm.org>
parents:
8676
diff
changeset
|
338 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
339 def test_setitem(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
340 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
341 a[0] = a[-1] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
342 self.assertEntryEqual(a[0], a[-1]) |
|
13069
b76df68099a5
Trent Mick <trentm@activestate.com>:
Fred Drake <fdrake@acm.org>
parents:
8676
diff
changeset
|
343 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
344 a = array.array(self.typecode, self.example) |
|
40644
1c26505c1de6
Rip out 'long' and 'L'-suffixed integer literals.
Guido van Rossum <guido@python.org>
parents:
40450
diff
changeset
|
345 a[0] = a[-1] |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
346 self.assertEntryEqual(a[0], a[-1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
347 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
348 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
349 a[-1] = a[0] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
350 self.assertEntryEqual(a[0], a[-1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
351 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
352 a = array.array(self.typecode, self.example) |
|
40644
1c26505c1de6
Rip out 'long' and 'L'-suffixed integer literals.
Guido van Rossum <guido@python.org>
parents:
40450
diff
changeset
|
353 a[-1] = a[0] |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
354 self.assertEntryEqual(a[0], a[-1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
355 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
356 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
357 a[len(self.example)-1] = a[0] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
358 self.assertEntryEqual(a[0], a[-1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
359 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
360 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
361 a[-len(self.example)] = a[-1] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
362 self.assertEntryEqual(a[0], a[-1]) |
|
13069
b76df68099a5
Trent Mick <trentm@activestate.com>:
Fred Drake <fdrake@acm.org>
parents:
8676
diff
changeset
|
363 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
364 self.assertRaises(TypeError, a.__setitem__) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
365 self.assertRaises(TypeError, a.__setitem__, None) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
366 self.assertRaises(TypeError, a.__setitem__, 0, None) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
367 self.assertRaises( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
368 IndexError, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
369 a.__setitem__, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
370 len(self.example), self.example[0] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
371 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
372 self.assertRaises( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
373 IndexError, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
374 a.__setitem__, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
375 -len(self.example)-1, self.example[0] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
376 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
377 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
378 def test_delitem(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
379 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
380 del a[0] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
381 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
382 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
383 array.array(self.typecode, self.example[1:]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
384 ) |
|
4627
6b765453b041
module to test the arraymodule created and added to testall.py
Roger E. Masse <rmasse@newcnri.cnri.reston.va.us>
parents:
diff
changeset
|
385 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
386 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
387 del a[-1] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
388 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
389 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
390 array.array(self.typecode, self.example[:-1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
391 ) |
|
4627
6b765453b041
module to test the arraymodule created and added to testall.py
Roger E. Masse <rmasse@newcnri.cnri.reston.va.us>
parents:
diff
changeset
|
392 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
393 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
394 del a[len(self.example)-1] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
395 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
396 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
397 array.array(self.typecode, self.example[:-1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
398 ) |
|
15409
99ca419ca58b
Verify that str(a) and repr(a) don't blow up (part of SF patch 102068).
Tim Peters <tim.peters@gmail.com>
parents:
15305
diff
changeset
|
399 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
400 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
401 del a[-len(self.example)] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
402 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
403 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
404 array.array(self.typecode, self.example[1:]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
405 ) |
|
15409
99ca419ca58b
Verify that str(a) and repr(a) don't blow up (part of SF patch 102068).
Tim Peters <tim.peters@gmail.com>
parents:
15305
diff
changeset
|
406 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
407 self.assertRaises(TypeError, a.__delitem__) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
408 self.assertRaises(TypeError, a.__delitem__, None) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
409 self.assertRaises(IndexError, a.__delitem__, len(self.example)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
410 self.assertRaises(IndexError, a.__delitem__, -len(self.example)-1) |
|
4627
6b765453b041
module to test the arraymodule created and added to testall.py
Roger E. Masse <rmasse@newcnri.cnri.reston.va.us>
parents:
diff
changeset
|
411 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
412 def test_getslice(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
413 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
414 self.assertEqual(a[:], a) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
415 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
416 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
417 a[1:], |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
418 array.array(self.typecode, self.example[1:]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
419 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
420 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
421 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
422 a[:1], |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
423 array.array(self.typecode, self.example[:1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
424 ) |
|
22098
966725095854
Patch 520694: arraymodule.c improvements:
Martin v. Löwis <martin@v.loewis.de>
parents:
15966
diff
changeset
|
425 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
426 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
427 a[:-1], |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
428 array.array(self.typecode, self.example[:-1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
429 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
430 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
431 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
432 a[-1:], |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
433 array.array(self.typecode, self.example[-1:]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
434 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
435 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
436 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
437 a[-1:-1], |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
438 array.array(self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
439 ) |
|
22098
966725095854
Patch 520694: arraymodule.c improvements:
Martin v. Löwis <martin@v.loewis.de>
parents:
15966
diff
changeset
|
440 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
441 self.assertEqual( |
|
34479
b9bc49b53f4d
Add a slice test with high < low.
Walter Dörwald <walter@livinglogic.de>
parents:
34174
diff
changeset
|
442 a[2:1], |
|
b9bc49b53f4d
Add a slice test with high < low.
Walter Dörwald <walter@livinglogic.de>
parents:
34174
diff
changeset
|
443 array.array(self.typecode) |
|
b9bc49b53f4d
Add a slice test with high < low.
Walter Dörwald <walter@livinglogic.de>
parents:
34174
diff
changeset
|
444 ) |
|
b9bc49b53f4d
Add a slice test with high < low.
Walter Dörwald <walter@livinglogic.de>
parents:
34174
diff
changeset
|
445 |
|
b9bc49b53f4d
Add a slice test with high < low.
Walter Dörwald <walter@livinglogic.de>
parents:
34174
diff
changeset
|
446 self.assertEqual( |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
447 a[1000:], |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
448 array.array(self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
449 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
450 self.assertEqual(a[-1000:], a) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
451 self.assertEqual(a[:1000], a) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
452 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
453 a[:-1000], |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
454 array.array(self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
455 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
456 self.assertEqual(a[-1000:1000], a) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
457 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
458 a[2000:1000], |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
459 array.array(self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
460 ) |
|
22098
966725095854
Patch 520694: arraymodule.c improvements:
Martin v. Löwis <martin@v.loewis.de>
parents:
15966
diff
changeset
|
461 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
462 def test_setslice(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
463 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
464 a[:1] = a |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
465 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
466 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
467 array.array(self.typecode, self.example + self.example[1:]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
468 ) |
|
22098
966725095854
Patch 520694: arraymodule.c improvements:
Martin v. Löwis <martin@v.loewis.de>
parents:
15966
diff
changeset
|
469 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
470 a = array.array(self.typecode, self.example) |
|
15305
07f24261c6e6
Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents:
14649
diff
changeset
|
471 a[:-1] = a |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
472 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
473 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
474 array.array(self.typecode, self.example + self.example[-1:]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
475 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
476 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
477 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
478 a[-1:] = a |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
479 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
480 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
481 array.array(self.typecode, self.example[:-1] + self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
482 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
483 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
484 a = array.array(self.typecode, self.example) |
|
15305
07f24261c6e6
Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents:
14649
diff
changeset
|
485 a[1:] = a |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
486 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
487 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
488 array.array(self.typecode, self.example[:1] + self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
489 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
490 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
491 a = array.array(self.typecode, self.example) |
|
22098
966725095854
Patch 520694: arraymodule.c improvements:
Martin v. Löwis <martin@v.loewis.de>
parents:
15966
diff
changeset
|
492 a[1:-1] = a |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
493 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
494 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
495 array.array( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
496 self.typecode, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
497 self.example[:1] + self.example + self.example[-1:] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
498 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
499 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
500 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
501 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
502 a[1000:] = a |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
503 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
504 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
505 array.array(self.typecode, 2*self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
506 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
507 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
508 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
509 a[-1000:] = a |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
510 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
511 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
512 array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
513 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
514 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
515 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
516 a[:1000] = a |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
517 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
518 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
519 array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
520 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
521 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
522 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
523 a[:-1000] = a |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
524 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
525 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
526 array.array(self.typecode, 2*self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
527 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
528 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
529 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
530 a[1:0] = a |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
531 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
532 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
533 array.array(self.typecode, self.example[:1] + self.example + self.example[1:]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
534 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
535 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
536 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
537 a[2000:1000] = a |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
538 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
539 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
540 array.array(self.typecode, 2*self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
541 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
542 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
543 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
544 self.assertRaises(TypeError, a.__setslice__, 0, 0, None) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
545 self.assertRaises(TypeError, a.__setitem__, slice(0, 1), None) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
546 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
547 b = array.array(self.badtypecode()) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
548 self.assertRaises(TypeError, a.__setslice__, 0, 0, b) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
549 self.assertRaises(TypeError, a.__setitem__, slice(0, 1), b) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
550 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
551 def test_index(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
552 example = 2*self.example |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
553 a = array.array(self.typecode, example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
554 self.assertRaises(TypeError, a.index) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
555 for x in example: |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
556 self.assertEqual(a.index(x), example.index(x)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
557 self.assertRaises(ValueError, a.index, None) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
558 self.assertRaises(ValueError, a.index, self.outside) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
559 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
560 def test_count(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
561 example = 2*self.example |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
562 a = array.array(self.typecode, example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
563 self.assertRaises(TypeError, a.count) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
564 for x in example: |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
565 self.assertEqual(a.count(x), example.count(x)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
566 self.assertEqual(a.count(self.outside), 0) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
567 self.assertEqual(a.count(None), 0) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
568 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
569 def test_remove(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
570 for x in self.example: |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
571 example = 2*self.example |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
572 a = array.array(self.typecode, example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
573 pos = example.index(x) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
574 example2 = example[:pos] + example[pos+1:] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
575 a.remove(x) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
576 self.assertEqual(a, array.array(self.typecode, example2)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
577 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
578 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
579 self.assertRaises(ValueError, a.remove, self.outside) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
580 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
581 self.assertRaises(ValueError, a.remove, None) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
582 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
583 def test_pop(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
584 a = array.array(self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
585 self.assertRaises(IndexError, a.pop) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
586 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
587 a = array.array(self.typecode, 2*self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
588 self.assertRaises(TypeError, a.pop, 42, 42) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
589 self.assertRaises(TypeError, a.pop, None) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
590 self.assertRaises(IndexError, a.pop, len(a)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
591 self.assertRaises(IndexError, a.pop, -len(a)-1) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
592 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
593 self.assertEntryEqual(a.pop(0), self.example[0]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
594 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
595 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
596 array.array(self.typecode, self.example[1:]+self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
597 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
598 self.assertEntryEqual(a.pop(1), self.example[2]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
599 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
600 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
601 array.array(self.typecode, self.example[1:2]+self.example[3:]+self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
602 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
603 self.assertEntryEqual(a.pop(0), self.example[1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
604 self.assertEntryEqual(a.pop(), self.example[-1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
605 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
606 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
607 array.array(self.typecode, self.example[3:]+self.example[:-1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
608 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
609 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
610 def test_reverse(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
611 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
612 self.assertRaises(TypeError, a.reverse, 42) |
|
22098
966725095854
Patch 520694: arraymodule.c improvements:
Martin v. Löwis <martin@v.loewis.de>
parents:
15966
diff
changeset
|
613 a.reverse() |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
614 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
615 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
616 array.array(self.typecode, self.example[::-1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
617 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
618 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
619 def test_extend(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
620 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
621 self.assertRaises(TypeError, a.extend) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
622 a.extend(array.array(self.typecode, self.example[::-1])) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
623 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
624 a, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
625 array.array(self.typecode, self.example+self.example[::-1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
626 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
627 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
628 b = array.array(self.badtypecode()) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
629 self.assertRaises(TypeError, a.extend, b) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
630 |
|
31660
35f56e08727f
SF feature request #686323: Minor array module enhancements
Raymond Hettinger <python@rcn.com>
parents:
31651
diff
changeset
|
631 a = array.array(self.typecode, self.example) |
|
35f56e08727f
SF feature request #686323: Minor array module enhancements
Raymond Hettinger <python@rcn.com>
parents:
31651
diff
changeset
|
632 a.extend(self.example[::-1]) |
|
35f56e08727f
SF feature request #686323: Minor array module enhancements
Raymond Hettinger <python@rcn.com>
parents:
31651
diff
changeset
|
633 self.assertEqual( |
|
35f56e08727f
SF feature request #686323: Minor array module enhancements
Raymond Hettinger <python@rcn.com>
parents:
31651
diff
changeset
|
634 a, |
|
35f56e08727f
SF feature request #686323: Minor array module enhancements
Raymond Hettinger <python@rcn.com>
parents:
31651
diff
changeset
|
635 array.array(self.typecode, self.example+self.example[::-1]) |
|
35f56e08727f
SF feature request #686323: Minor array module enhancements
Raymond Hettinger <python@rcn.com>
parents:
31651
diff
changeset
|
636 ) |
|
35f56e08727f
SF feature request #686323: Minor array module enhancements
Raymond Hettinger <python@rcn.com>
parents:
31651
diff
changeset
|
637 |
|
33316
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
638 def test_constructor_with_iterable_argument(self): |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
639 a = array.array(self.typecode, iter(self.example)) |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
640 b = array.array(self.typecode, self.example) |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
641 self.assertEqual(a, b) |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
642 |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
643 # non-iterable argument |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
644 self.assertRaises(TypeError, array.array, self.typecode, 10) |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
645 |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
646 # pass through errors raised in __iter__ |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
647 class A: |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
648 def __iter__(self): |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
649 raise UnicodeError |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
650 self.assertRaises(UnicodeError, array.array, self.typecode, A()) |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
651 |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
652 # pass through errors raised in next() |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
653 def B(): |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
654 raise UnicodeError |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
655 yield None |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
656 self.assertRaises(UnicodeError, array.array, self.typecode, B()) |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
657 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
658 def test_coveritertraverse(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
659 try: |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
660 import gc |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
661 except ImportError: |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
662 return |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
663 a = array.array(self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
664 l = [iter(a)] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
665 l.append(l) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
666 gc.collect() |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
667 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
668 def test_buffer(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
669 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
670 b = buffer(a) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
671 self.assertEqual(b[0], a.tostring()[0]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
672 |
|
32159
2c169ca5fa69
Add weakref support to array.array and file objects.
Raymond Hettinger <python@rcn.com>
parents:
31660
diff
changeset
|
673 def test_weakref(self): |
|
2c169ca5fa69
Add weakref support to array.array and file objects.
Raymond Hettinger <python@rcn.com>
parents:
31660
diff
changeset
|
674 s = array.array(self.typecode, self.example) |
|
2c169ca5fa69
Add weakref support to array.array and file objects.
Raymond Hettinger <python@rcn.com>
parents:
31660
diff
changeset
|
675 p = proxy(s) |
|
2c169ca5fa69
Add weakref support to array.array and file objects.
Raymond Hettinger <python@rcn.com>
parents:
31660
diff
changeset
|
676 self.assertEqual(p.tostring(), s.tostring()) |
|
2c169ca5fa69
Add weakref support to array.array and file objects.
Raymond Hettinger <python@rcn.com>
parents:
31660
diff
changeset
|
677 s = None |
|
2c169ca5fa69
Add weakref support to array.array and file objects.
Raymond Hettinger <python@rcn.com>
parents:
31660
diff
changeset
|
678 self.assertRaises(ReferenceError, len, p) |
|
2c169ca5fa69
Add weakref support to array.array and file objects.
Raymond Hettinger <python@rcn.com>
parents:
31660
diff
changeset
|
679 |
|
30039
d8c8fe0c73ed
added test for bug 782369
Skip Montanaro <skip@pobox.com>
parents:
29205
diff
changeset
|
680 def test_bug_782369(self): |
|
d8c8fe0c73ed
added test for bug 782369
Skip Montanaro <skip@pobox.com>
parents:
29205
diff
changeset
|
681 import sys |
|
30040
643ffb7db18f
protect against test problems with Jython
Skip Montanaro <skip@pobox.com>
parents:
30039
diff
changeset
|
682 if hasattr(sys, "getrefcount"): |
|
643ffb7db18f
protect against test problems with Jython
Skip Montanaro <skip@pobox.com>
parents:
30039
diff
changeset
|
683 for i in range(10): |
|
643ffb7db18f
protect against test problems with Jython
Skip Montanaro <skip@pobox.com>
parents:
30039
diff
changeset
|
684 b = array.array('B', range(64)) |
|
643ffb7db18f
protect against test problems with Jython
Skip Montanaro <skip@pobox.com>
parents:
30039
diff
changeset
|
685 rc = sys.getrefcount(10) |
|
643ffb7db18f
protect against test problems with Jython
Skip Montanaro <skip@pobox.com>
parents:
30039
diff
changeset
|
686 for i in range(10): |
|
643ffb7db18f
protect against test problems with Jython
Skip Montanaro <skip@pobox.com>
parents:
30039
diff
changeset
|
687 b = array.array('B', range(64)) |
|
643ffb7db18f
protect against test problems with Jython
Skip Montanaro <skip@pobox.com>
parents:
30039
diff
changeset
|
688 self.assertEqual(rc, sys.getrefcount(10)) |
|
30039
d8c8fe0c73ed
added test for bug 782369
Skip Montanaro <skip@pobox.com>
parents:
29205
diff
changeset
|
689 |
|
40737
6ebad2a6b990
Merged revisions 53451-53537 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
40644
diff
changeset
|
690 def test_subclass_with_kwargs(self): |
|
6ebad2a6b990
Merged revisions 53451-53537 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
40644
diff
changeset
|
691 # SF bug #1486663 -- this used to erroneously raise a TypeError |
|
6ebad2a6b990
Merged revisions 53451-53537 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
40644
diff
changeset
|
692 ArraySubclassWithKwargs('b', newarg=1) |
|
32159
2c169ca5fa69
Add weakref support to array.array and file objects.
Raymond Hettinger <python@rcn.com>
parents:
31660
diff
changeset
|
693 |
|
2c169ca5fa69
Add weakref support to array.array and file objects.
Raymond Hettinger <python@rcn.com>
parents:
31660
diff
changeset
|
694 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
695 class StringTest(BaseTest): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
696 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
697 def test_setitem(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
698 super(StringTest, self).test_setitem() |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
699 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
700 self.assertRaises(TypeError, a.__setitem__, 0, self.example[:2]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
701 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
702 class CharacterTest(StringTest): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
703 typecode = 'c' |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
704 example = '\x01azAZ\x00\xfe' |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
705 smallerexample = '\x01azAY\x00\xfe' |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
706 biggerexample = '\x01azAZ\x00\xff' |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
707 outside = '\x33' |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
708 minitemsize = 1 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
709 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
710 def test_subbclassing(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
711 class EditableString(array.array): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
712 def __new__(cls, s, *args, **kwargs): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
713 return array.array.__new__(cls, 'c', s) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
714 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
715 def __init__(self, s, color='blue'): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
716 array.array.__init__(self, 'c', s) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
717 self.color = color |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
718 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
719 def strip(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
720 self[:] = array.array('c', self.tostring().strip()) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
721 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
722 def __repr__(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
723 return 'EditableString(%r)' % self.tostring() |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
724 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
725 s = EditableString("\ttest\r\n") |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
726 s.strip() |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
727 self.assertEqual(s.tostring(), "test") |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
728 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
729 self.assertEqual(s.color, "blue") |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
730 s.color = "red" |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
731 self.assertEqual(s.color, "red") |
|
40809
f340cb045bf9
- PEP 3106: dict.iterkeys(), .iteritems(), .itervalues() are now gone;
Guido van Rossum <guido@python.org>
parents:
40775
diff
changeset
|
732 self.assertEqual(list(s.__dict__.keys()), ["color"]) |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
733 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
734 def test_nounicode(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
735 a = array.array(self.typecode, self.example) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
736 self.assertRaises(ValueError, a.fromunicode, unicode('')) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
737 self.assertRaises(ValueError, a.tounicode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
738 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
739 tests.append(CharacterTest) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
740 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
741 if test_support.have_unicode: |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
742 class UnicodeTest(StringTest): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
743 typecode = 'u' |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
744 example = unicode(r'\x01\u263a\x00\ufeff', 'unicode-escape') |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
745 smallerexample = unicode(r'\x01\u263a\x00\ufefe', 'unicode-escape') |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
746 biggerexample = unicode(r'\x01\u263a\x01\ufeff', 'unicode-escape') |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
747 outside = unicode('\x33') |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
748 minitemsize = 2 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
749 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
750 def test_unicode(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
751 self.assertRaises(TypeError, array.array, 'b', unicode('foo', 'ascii')) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
752 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
753 a = array.array('u', unicode(r'\xa0\xc2\u1234', 'unicode-escape')) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
754 a.fromunicode(unicode(' ', 'ascii')) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
755 a.fromunicode(unicode('', 'ascii')) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
756 a.fromunicode(unicode('', 'ascii')) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
757 a.fromunicode(unicode(r'\x11abc\xff\u1234', 'unicode-escape')) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
758 s = a.tounicode() |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
759 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
760 s, |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
761 unicode(r'\xa0\xc2\u1234 \x11abc\xff\u1234', 'unicode-escape') |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
762 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
763 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
764 s = unicode(r'\x00="\'a\\b\x80\xff\u0000\u0001\u1234', 'unicode-escape') |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
765 a = array.array('u', s) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
766 self.assertEqual( |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
767 repr(a), |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
768 r"""array('u', u'\x00="\'a\\b\x80\xff\x00\x01\u1234')""" |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
769 ) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
770 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
771 self.assertRaises(TypeError, a.fromunicode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
772 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
773 tests.append(UnicodeTest) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
774 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
775 class NumberTest(BaseTest): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
776 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
777 def test_extslice(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
778 a = array.array(self.typecode, range(5)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
779 self.assertEqual(a[::], a) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
780 self.assertEqual(a[::2], array.array(self.typecode, [0,2,4])) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
781 self.assertEqual(a[1::2], array.array(self.typecode, [1,3])) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
782 self.assertEqual(a[::-1], array.array(self.typecode, [4,3,2,1,0])) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
783 self.assertEqual(a[::-2], array.array(self.typecode, [4,2,0])) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
784 self.assertEqual(a[3::-2], array.array(self.typecode, [3,1])) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
785 self.assertEqual(a[-100:100:], a) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
786 self.assertEqual(a[100:-100:-1], a[::-1]) |
|
40644
1c26505c1de6
Rip out 'long' and 'L'-suffixed integer literals.
Guido van Rossum <guido@python.org>
parents:
40450
diff
changeset
|
787 self.assertEqual(a[-100:100:2], array.array(self.typecode, [0,2,4])) |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
788 self.assertEqual(a[1000:2000:2], array.array(self.typecode, [])) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
789 self.assertEqual(a[-1000:-2000:-2], array.array(self.typecode, [])) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
790 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
791 def test_delslice(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
792 a = array.array(self.typecode, range(5)) |
|
23929
26ba17b758b9
Fix the bug described in
Michael W. Hudson <mwh@python.net>
parents:
23459
diff
changeset
|
793 del a[::2] |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
794 self.assertEqual(a, array.array(self.typecode, [1,3])) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
795 a = array.array(self.typecode, range(5)) |
|
23929
26ba17b758b9
Fix the bug described in
Michael W. Hudson <mwh@python.net>
parents:
23459
diff
changeset
|
796 del a[1::2] |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
797 self.assertEqual(a, array.array(self.typecode, [0,2,4])) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
798 a = array.array(self.typecode, range(5)) |
|
23929
26ba17b758b9
Fix the bug described in
Michael W. Hudson <mwh@python.net>
parents:
23459
diff
changeset
|
799 del a[1::-2] |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
800 self.assertEqual(a, array.array(self.typecode, [0,2,3,4])) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
801 a = array.array(self.typecode, range(10)) |
| 24424 | 802 del a[::1000] |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
803 self.assertEqual(a, array.array(self.typecode, [1,2,3,4,5,6,7,8,9])) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
804 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
805 def test_assignment(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
806 a = array.array(self.typecode, range(10)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
807 a[::2] = array.array(self.typecode, [42]*5) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
808 self.assertEqual(a, array.array(self.typecode, [42, 1, 42, 3, 42, 5, 42, 7, 42, 9])) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
809 a = array.array(self.typecode, range(10)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
810 a[::-4] = array.array(self.typecode, [10]*3) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
811 self.assertEqual(a, array.array(self.typecode, [0, 10, 2, 3, 4, 10, 6, 7, 8 ,10])) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
812 a = array.array(self.typecode, range(4)) |
|
23929
26ba17b758b9
Fix the bug described in
Michael W. Hudson <mwh@python.net>
parents:
23459
diff
changeset
|
813 a[::-1] = a |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
814 self.assertEqual(a, array.array(self.typecode, [3, 2, 1, 0])) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
815 a = array.array(self.typecode, range(10)) |
|
23929
26ba17b758b9
Fix the bug described in
Michael W. Hudson <mwh@python.net>
parents:
23459
diff
changeset
|
816 b = a[:] |
|
26ba17b758b9
Fix the bug described in
Michael W. Hudson <mwh@python.net>
parents:
23459
diff
changeset
|
817 c = a[:] |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
818 ins = array.array(self.typecode, range(2)) |
|
23929
26ba17b758b9
Fix the bug described in
Michael W. Hudson <mwh@python.net>
parents:
23459
diff
changeset
|
819 a[2:3] = ins |
|
26ba17b758b9
Fix the bug described in
Michael W. Hudson <mwh@python.net>
parents:
23459
diff
changeset
|
820 b[slice(2,3)] = ins |
|
26ba17b758b9
Fix the bug described in
Michael W. Hudson <mwh@python.net>
parents:
23459
diff
changeset
|
821 c[2:3:] = ins |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
822 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
823 def test_iterationcontains(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
824 a = array.array(self.typecode, range(10)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
825 self.assertEqual(list(a), range(10)) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
826 b = array.array(self.typecode, [20]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
827 self.assertEqual(a[-1] in a, True) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
828 self.assertEqual(b[0] not in a, True) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
829 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
830 def check_overflow(self, lower, upper): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
831 # method to be used by subclasses |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
832 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
833 # should not overflow assigning lower limit |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
834 a = array.array(self.typecode, [lower]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
835 a[0] = lower |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
836 # should overflow assigning less than lower limit |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
837 self.assertRaises(OverflowError, array.array, self.typecode, [lower-1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
838 self.assertRaises(OverflowError, a.__setitem__, 0, lower-1) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
839 # should not overflow assigning upper limit |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
840 a = array.array(self.typecode, [upper]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
841 a[0] = upper |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
842 # should overflow assigning more than upper limit |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
843 self.assertRaises(OverflowError, array.array, self.typecode, [upper+1]) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
844 self.assertRaises(OverflowError, a.__setitem__, 0, upper+1) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
845 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
846 def test_subclassing(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
847 typecode = self.typecode |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
848 class ExaggeratingArray(array.array): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
849 __slots__ = ['offset'] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
850 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
851 def __new__(cls, typecode, data, offset): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
852 return array.array.__new__(cls, typecode, data) |
|
8676
7d96842383bb
Add tests for array self-assigns. (This one has no relevance to JPython.)
Guido van Rossum <guido@python.org>
parents:
7747
diff
changeset
|
853 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
854 def __init__(self, typecode, data, offset): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
855 self.offset = offset |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
856 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
857 def __getitem__(self, i): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
858 return array.array.__getitem__(self, i) + self.offset |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
859 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
860 a = ExaggeratingArray(self.typecode, [3, 6, 7, 11], 4) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
861 self.assertEntryEqual(a[0], 7) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
862 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
863 self.assertRaises(AttributeError, setattr, a, "color", "blue") |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
864 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
865 class SignedNumberTest(NumberTest): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
866 example = [-1, 0, 1, 42, 0x7f] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
867 smallerexample = [-1, 0, 1, 42, 0x7e] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
868 biggerexample = [-1, 0, 1, 43, 0x7f] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
869 outside = 23 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
870 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
871 def test_overflow(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
872 a = array.array(self.typecode) |
|
40644
1c26505c1de6
Rip out 'long' and 'L'-suffixed integer literals.
Guido van Rossum <guido@python.org>
parents:
40450
diff
changeset
|
873 lower = -1 * int(pow(2, a.itemsize * 8 - 1)) |
|
1c26505c1de6
Rip out 'long' and 'L'-suffixed integer literals.
Guido van Rossum <guido@python.org>
parents:
40450
diff
changeset
|
874 upper = int(pow(2, a.itemsize * 8 - 1)) - 1 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
875 self.check_overflow(lower, upper) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
876 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
877 class UnsignedNumberTest(NumberTest): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
878 example = [0, 1, 17, 23, 42, 0xff] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
879 smallerexample = [0, 1, 17, 23, 42, 0xfe] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
880 biggerexample = [0, 1, 17, 23, 43, 0xff] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
881 outside = 0xaa |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
882 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
883 def test_overflow(self): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
884 a = array.array(self.typecode) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
885 lower = 0 |
|
40644
1c26505c1de6
Rip out 'long' and 'L'-suffixed integer literals.
Guido van Rossum <guido@python.org>
parents:
40450
diff
changeset
|
886 upper = int(pow(2, a.itemsize * 8)) - 1 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
887 self.check_overflow(lower, upper) |
|
15305
07f24261c6e6
Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents:
14649
diff
changeset
|
888 |
|
07f24261c6e6
Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents:
14649
diff
changeset
|
889 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
890 class ByteTest(SignedNumberTest): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
891 typecode = 'b' |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
892 minitemsize = 1 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
893 tests.append(ByteTest) |
|
15305
07f24261c6e6
Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents:
14649
diff
changeset
|
894 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
895 class UnsignedByteTest(UnsignedNumberTest): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
896 typecode = 'B' |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
897 minitemsize = 1 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
898 tests.append(UnsignedByteTest) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
899 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
900 class ShortTest(SignedNumberTest): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
901 typecode = 'h' |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
902 minitemsize = 2 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
903 tests.append(ShortTest) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
904 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
905 class UnsignedShortTest(UnsignedNumberTest): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
906 typecode = 'H' |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
907 minitemsize = 2 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
908 tests.append(UnsignedShortTest) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
909 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
910 class IntTest(SignedNumberTest): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
911 typecode = 'i' |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
912 minitemsize = 2 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
913 tests.append(IntTest) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
914 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
915 class UnsignedIntTest(UnsignedNumberTest): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
916 typecode = 'I' |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
917 minitemsize = 2 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
918 tests.append(UnsignedIntTest) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
919 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
920 class LongTest(SignedNumberTest): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
921 typecode = 'l' |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
922 minitemsize = 4 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
923 tests.append(LongTest) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
924 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
925 class UnsignedLongTest(UnsignedNumberTest): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
926 typecode = 'L' |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
927 minitemsize = 4 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
928 tests.append(UnsignedLongTest) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
929 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
930 class FPTest(NumberTest): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
931 example = [-42.0, 0, 42, 1e5, -1e10] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
932 smallerexample = [-42.0, 0, 42, 1e5, -2e10] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
933 biggerexample = [-42.0, 0, 42, 1e5, 1e10] |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
934 outside = 23 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
935 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
936 def assertEntryEqual(self, entry1, entry2): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
937 self.assertAlmostEqual(entry1, entry2) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
938 |
|
29204
b1f643690a88
test_byteswap() fails on alphas, because treating the byte swapped bit
Walter Dörwald <walter@livinglogic.de>
parents:
29163
diff
changeset
|
939 def test_byteswap(self): |
|
b1f643690a88
test_byteswap() fails on alphas, because treating the byte swapped bit
Walter Dörwald <walter@livinglogic.de>
parents:
29163
diff
changeset
|
940 a = array.array(self.typecode, self.example) |
|
b1f643690a88
test_byteswap() fails on alphas, because treating the byte swapped bit
Walter Dörwald <walter@livinglogic.de>
parents:
29163
diff
changeset
|
941 self.assertRaises(TypeError, a.byteswap, 42) |
|
b1f643690a88
test_byteswap() fails on alphas, because treating the byte swapped bit
Walter Dörwald <walter@livinglogic.de>
parents:
29163
diff
changeset
|
942 if a.itemsize in (1, 2, 4, 8): |
|
b1f643690a88
test_byteswap() fails on alphas, because treating the byte swapped bit
Walter Dörwald <walter@livinglogic.de>
parents:
29163
diff
changeset
|
943 b = array.array(self.typecode, self.example) |
|
b1f643690a88
test_byteswap() fails on alphas, because treating the byte swapped bit
Walter Dörwald <walter@livinglogic.de>
parents:
29163
diff
changeset
|
944 b.byteswap() |
|
b1f643690a88
test_byteswap() fails on alphas, because treating the byte swapped bit
Walter Dörwald <walter@livinglogic.de>
parents:
29163
diff
changeset
|
945 if a.itemsize==1: |
|
b1f643690a88
test_byteswap() fails on alphas, because treating the byte swapped bit
Walter Dörwald <walter@livinglogic.de>
parents:
29163
diff
changeset
|
946 self.assertEqual(a, b) |
|
b1f643690a88
test_byteswap() fails on alphas, because treating the byte swapped bit
Walter Dörwald <walter@livinglogic.de>
parents:
29163
diff
changeset
|
947 else: |
|
b1f643690a88
test_byteswap() fails on alphas, because treating the byte swapped bit
Walter Dörwald <walter@livinglogic.de>
parents:
29163
diff
changeset
|
948 # On alphas treating the byte swapped bit patters as |
|
b1f643690a88
test_byteswap() fails on alphas, because treating the byte swapped bit
Walter Dörwald <walter@livinglogic.de>
parents:
29163
diff
changeset
|
949 # floats/doubles results in floating point exceptions |
|
b1f643690a88
test_byteswap() fails on alphas, because treating the byte swapped bit
Walter Dörwald <walter@livinglogic.de>
parents:
29163
diff
changeset
|
950 # => compare the 8bit string values instead |
|
b1f643690a88
test_byteswap() fails on alphas, because treating the byte swapped bit
Walter Dörwald <walter@livinglogic.de>
parents:
29163
diff
changeset
|
951 self.assertNotEqual(a.tostring(), b.tostring()) |
|
b1f643690a88
test_byteswap() fails on alphas, because treating the byte swapped bit
Walter Dörwald <walter@livinglogic.de>
parents:
29163
diff
changeset
|
952 b.byteswap() |
|
b1f643690a88
test_byteswap() fails on alphas, because treating the byte swapped bit
Walter Dörwald <walter@livinglogic.de>
parents:
29163
diff
changeset
|
953 self.assertEqual(a, b) |
|
b1f643690a88
test_byteswap() fails on alphas, because treating the byte swapped bit
Walter Dörwald <walter@livinglogic.de>
parents:
29163
diff
changeset
|
954 |
|
29205
56ffca02c824
Walter's last checkin also needs to work on doubles.
Neal Norwitz <nnorwitz@gmail.com>
parents:
29204
diff
changeset
|
955 class FloatTest(FPTest): |
|
56ffca02c824
Walter's last checkin also needs to work on doubles.
Neal Norwitz <nnorwitz@gmail.com>
parents:
29204
diff
changeset
|
956 typecode = 'f' |
|
56ffca02c824
Walter's last checkin also needs to work on doubles.
Neal Norwitz <nnorwitz@gmail.com>
parents:
29204
diff
changeset
|
957 minitemsize = 4 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
958 tests.append(FloatTest) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
959 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
960 class DoubleTest(FPTest): |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
961 typecode = 'd' |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
962 minitemsize = 8 |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
963 tests.append(DoubleTest) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
964 |
|
33316
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
965 def test_main(verbose=None): |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
966 import sys |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
967 |
|
29157
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
968 test_support.run_unittest(*tests) |
|
7f0074ee8ab9
Port test_array and test_winsound to PyUnit. Enhance tests for array
Walter Dörwald <walter@livinglogic.de>
parents:
27128
diff
changeset
|
969 |
|
33316
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
970 # verify reference counting |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
971 if verbose and hasattr(sys, "gettotalrefcount"): |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
972 import gc |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
973 counts = [None] * 5 |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
974 for i in xrange(len(counts)): |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
975 test_support.run_unittest(*tests) |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
976 gc.collect() |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
977 counts[i] = sys.gettotalrefcount() |
|
40775
4cdf21a0dbbc
Fix most trivially-findable print statements.
Guido van Rossum <guido@python.org>
parents:
40737
diff
changeset
|
978 print(counts) |
|
33316
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
979 |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
980 if __name__ == "__main__": |
|
0b181bf230c9
SF feature request #992967: array.array objects should support sequences.
Raymond Hettinger <python@rcn.com>
parents:
32159
diff
changeset
|
981 test_main(verbose=True) |
