Guido van Rossum | 3b0a329 | 2002-08-09 16:38:32 +0000 | [diff] [blame] | 1 | from test.test_support import TestFailed, TESTFN |
| 2 | import os |
Guido van Rossum | a00afc1 | 2000-10-09 20:05:59 +0000 | [diff] [blame] | 3 | import wave |
| 4 | |
| 5 | def check(t, msg=None): |
| 6 | if not t: |
| 7 | raise TestFailed, msg |
| 8 | |
| 9 | nchannels = 2 |
| 10 | sampwidth = 2 |
| 11 | framerate = 8000 |
| 12 | nframes = 100 |
| 13 | |
Guido van Rossum | 3b0a329 | 2002-08-09 16:38:32 +0000 | [diff] [blame] | 14 | f = wave.open(TESTFN, 'wb') |
Guido van Rossum | a00afc1 | 2000-10-09 20:05:59 +0000 | [diff] [blame] | 15 | f.setnchannels(nchannels) |
| 16 | f.setsampwidth(sampwidth) |
| 17 | f.setframerate(framerate) |
| 18 | f.setnframes(nframes) |
| 19 | output = '\0' * nframes * nchannels * sampwidth |
| 20 | f.writeframes(output) |
| 21 | f.close() |
| 22 | |
Guido van Rossum | 3b0a329 | 2002-08-09 16:38:32 +0000 | [diff] [blame] | 23 | f = wave.open(TESTFN, 'rb') |
Guido van Rossum | a00afc1 | 2000-10-09 20:05:59 +0000 | [diff] [blame] | 24 | check(nchannels == f.getnchannels(), "nchannels") |
| 25 | check(sampwidth == f.getsampwidth(), "sampwidth") |
| 26 | check(framerate == f.getframerate(), "framerate") |
| 27 | check(nframes == f.getnframes(), "nframes") |
| 28 | input = f.readframes(nframes) |
| 29 | check(input == output, "data") |
| 30 | f.close() |
| 31 | |
Guido van Rossum | 3b0a329 | 2002-08-09 16:38:32 +0000 | [diff] [blame] | 32 | os.remove(TESTFN) |