3 from test_support
import verbose
11 if audioop
.getsample('\0\1', 2, 0) == 1:
19 if audioop
.getsample('\0\0\0\1', 4, 0) == 1:
20 return '\0\0\0\0\0\0\0\1\0\0\0\2'
22 return '\0\0\0\0\1\0\0\0\2\0\0\0'
27 if audioop
.max(data
[0], 1) <> 2 or \
28 audioop
.max(data
[1], 2) <> 2 or \
29 audioop
.max(data
[2], 4) <> 2:
36 if audioop
.minmax(data
[0], 1) <> (0, 2) or \
37 audioop
.minmax(data
[1], 2) <> (0, 2) or \
38 audioop
.minmax(data
[2], 4) <> (0, 2):
45 if audioop
.maxpp(data
[0], 1) <> 0 or \
46 audioop
.maxpp(data
[1], 2) <> 0 or \
47 audioop
.maxpp(data
[2], 4) <> 0:
54 if audioop
.avg(data
[0], 1) <> 1 or \
55 audioop
.avg(data
[1], 2) <> 1 or \
56 audioop
.avg(data
[2], 4) <> 1:
63 if audioop
.avgpp(data
[0], 1) <> 0 or \
64 audioop
.avgpp(data
[1], 2) <> 0 or \
65 audioop
.avgpp(data
[2], 4) <> 0:
70 if audioop
.rms(data
[0], 1) <> 1 or \
71 audioop
.rms(data
[1], 2) <> 1 or \
72 audioop
.rms(data
[2], 4) <> 1:
79 if audioop
.cross(data
[0], 1) <> 0 or \
80 audioop
.cross(data
[1], 2) <> 0 or \
81 audioop
.cross(data
[2], 4) <> 0:
92 str = str + chr(ord(s
)*2)
94 if audioop
.add(data
[0], data
[0], 1) <> data2
[0] or \
95 audioop
.add(data
[1], data
[1], 2) <> data2
[1] or \
96 audioop
.add(data
[2], data
[2], 4) <> data2
[2]:
103 # Note: this test assumes that avg() works
104 d1
= audioop
.bias(data
[0], 1, 100)
105 d2
= audioop
.bias(data
[1], 2, 100)
106 d4
= audioop
.bias(data
[2], 4, 100)
107 if audioop
.avg(d1
, 1) <> 101 or \
108 audioop
.avg(d2
, 2) <> 101 or \
109 audioop
.avg(d4
, 4) <> 101:
113 def testlin2lin(data
):
116 # too simple: we test only the size
121 if len(audioop
.lin2lin(d1
, got
, wtd
)) <> len(d2
):
125 def testadpcm2lin(data
):
127 if audioop
.adpcm2lin('\0\0', 1, None) <> ('\0\0\0\0', (0,0)):
131 def testlin2adpcm(data
):
135 if audioop
.lin2adpcm('\0\0\0\0', 1, None) <> ('\0\0', (0,0)):
139 def testlin2ulaw(data
):
142 if audioop
.lin2ulaw(data
[0], 1) <> '\377\347\333' or \
143 audioop
.lin2ulaw(data
[1], 2) <> '\377\377\377' or \
144 audioop
.lin2ulaw(data
[2], 4) <> '\377\377\377':
148 def testulaw2lin(data
):
152 d
= audioop
.lin2ulaw(data
[0], 1)
153 if audioop
.ulaw2lin(d
, 1) <> data
[0]:
164 str = str + chr(ord(s
)*2)
166 if audioop
.mul(data
[0], 1, 2) <> data2
[0] or \
167 audioop
.mul(data
[1],2, 2) <> data2
[1] or \
168 audioop
.mul(data
[2], 4, 2) <> data2
[2]:
172 def testratecv(data
):
176 d1
, state
= audioop
.ratecv(data
[0], 1, 1, 8000, 16000, state
)
177 d2
, state
= audioop
.ratecv(data
[0], 1, 1, 8000, 16000, state
)
178 if d1
+ d2
!= '\000\000\001\001\002\001\000\000\001\001\002':
182 def testreverse(data
):
185 if audioop
.reverse(data
[0], 1) <> '\2\1\0':
189 def testtomono(data
):
194 data2
= data2
+ d
+ d
195 if audioop
.tomono(data2
, 1, 0.5, 0.5) <> data
[0]:
199 def testtostereo(data
):
204 data2
= data2
+ d
+ d
205 if audioop
.tostereo(data
[0], 1, 1, 1) <> data2
:
209 def testfindfactor(data
):
212 if audioop
.findfactor(data
[1], data
[1]) <> 1.0:
216 def testfindfit(data
):
219 if audioop
.findfit(data
[1], data
[1]) <> (0, 1.0):
223 def testfindmax(data
):
226 if audioop
.findmax(data
[1], 1) <> 2:
230 def testgetsample(data
):
234 if audioop
.getsample(data
[0], 1, i
) <> i
or \
235 audioop
.getsample(data
[1], 2, i
) <> i
or \
236 audioop
.getsample(data
[2], 4, i
) <> i
:
240 def testone(name
, data
):
242 func
= eval('test'+name
)
244 print 'No test found for audioop.'+name
+'()'
249 print 'Test FAILED for audioop.'+name
+'() (with an exception)'
252 print 'Test FAILED for audioop.'+name
+'()'
255 data
= [gendata1(), gendata2(), gendata4()]
257 # We know there is a routine 'add'
260 if type(eval('audioop.'+n
)) == type(audioop
.add
):