Roger E. Masse | 8db1b07 | 1996-12-09 20:09:16 +0000 | [diff] [blame] | 1 | #! /usr/bin/env python |
| 2 | """Test the arraymodule. |
Roger E. Masse | fab8ab8 | 1996-12-20 22:36:52 +0000 | [diff] [blame] | 3 | Roger E. Masse |
Roger E. Masse | 8db1b07 | 1996-12-09 20:09:16 +0000 | [diff] [blame] | 4 | """ |
| 5 | import array |
Roger E. Masse | fab8ab8 | 1996-12-20 22:36:52 +0000 | [diff] [blame] | 6 | from test_support import verbose |
| 7 | |
| 8 | def main(): |
| 9 | |
| 10 | testtype('c', 'c') |
| 11 | |
| 12 | for type in (['b', 'h', 'i', 'l', 'f', 'd']): |
| 13 | testtype(type, 1) |
| 14 | |
Roger E. Masse | 8db1b07 | 1996-12-09 20:09:16 +0000 | [diff] [blame] | 15 | |
| 16 | def testtype(type, example): |
| 17 | |
| 18 | |
| 19 | a = array.array(type) |
| 20 | a.append(example) |
Roger E. Masse | fab8ab8 | 1996-12-20 22:36:52 +0000 | [diff] [blame] | 21 | if verbose: |
| 22 | print 40*'*' |
| 23 | print 'array after append: ', a |
Roger E. Masse | 8db1b07 | 1996-12-09 20:09:16 +0000 | [diff] [blame] | 24 | a.typecode |
| 25 | a.itemsize |
| 26 | if a.typecode in ('i', 'b', 'h', 'l'): |
| 27 | a.byteswap() |
| 28 | |
| 29 | if a.typecode == 'c': |
| 30 | f = open('/etc/passwd', 'r') |
| 31 | a.fromfile(f, 10) |
Roger E. Masse | fab8ab8 | 1996-12-20 22:36:52 +0000 | [diff] [blame] | 32 | if verbose: |
| 33 | print 'char array with 10 bytes of /etc/passwd appended: ', a |
Roger E. Masse | 8db1b07 | 1996-12-09 20:09:16 +0000 | [diff] [blame] | 34 | a.fromlist(['a', 'b', 'c']) |
Roger E. Masse | fab8ab8 | 1996-12-20 22:36:52 +0000 | [diff] [blame] | 35 | if verbose: |
| 36 | print 'char array with list appended: ', a |
Roger E. Masse | 8db1b07 | 1996-12-09 20:09:16 +0000 | [diff] [blame] | 37 | |
| 38 | a.insert(0, example) |
Roger E. Masse | fab8ab8 | 1996-12-20 22:36:52 +0000 | [diff] [blame] | 39 | if verbose: |
| 40 | print 'array of %s after inserting another:' % a.typecode, a |
Roger E. Masse | 8db1b07 | 1996-12-09 20:09:16 +0000 | [diff] [blame] | 41 | f = open('/dev/null', 'w') |
| 42 | a.tofile(f) |
| 43 | a.tolist() |
| 44 | a.tostring() |
Roger E. Masse | fab8ab8 | 1996-12-20 22:36:52 +0000 | [diff] [blame] | 45 | if verbose: |
| 46 | print 'array of %s converted to a list: ' % a.typecode, a.tolist() |
| 47 | if verbose: |
| 48 | print 'array of %s converted to a string: ' \ |
| 49 | % a.typecode, a.tostring() |
Roger E. Masse | 8db1b07 | 1996-12-09 20:09:16 +0000 | [diff] [blame] | 50 | |
Roger E. Masse | fab8ab8 | 1996-12-20 22:36:52 +0000 | [diff] [blame] | 51 | main() |
Roger E. Masse | 8db1b07 | 1996-12-09 20:09:16 +0000 | [diff] [blame] | 52 | |