summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_wave.py
blob: 271f0a893edd16fa4b620222fdc656ffff2af858 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from test.test_support import TestFailed, TESTFN
import os
import wave

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

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

f = wave.open(TESTFN, 'wb')
f.setnchannels(nchannels)
f.setsampwidth(sampwidth)
f.setframerate(framerate)
f.setnframes(nframes)
output = b'\0' * nframes * nchannels * sampwidth
f.writeframes(output)
f.close()

f = wave.open(TESTFN, 'rb')
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(TESTFN)