test_wave.py 755 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
from test_support import TestFailed
import os, tempfile
import wave

def check(t, msg=None):
    if not t:
        raise TestFailed, msg

nchannels = 2
sampwidth = 2
framerate = 8000
nframes = 100

testfile = tempfile.mktemp()

16
f = wave.open(testfile, 'wb')
17 18 19 20 21 22 23 24
f.setnchannels(nchannels)
f.setsampwidth(sampwidth)
f.setframerate(framerate)
f.setnframes(nframes)
output = '\0' * nframes * nchannels * sampwidth
f.writeframes(output)
f.close()

25
f = wave.open(testfile, 'rb')
26 27 28 29 30 31 32 33 34
check(nchannels == f.getnchannels(), "nchannels")
check(sampwidth == f.getsampwidth(), "sampwidth")
check(framerate == f.getframerate(), "framerate")
check(nframes == f.getnframes(), "nframes")
input = f.readframes(nframes)
check(input == output, "data")
f.close()

os.remove(testfile)