from test
.test_support
import verbose
if audioop
.getsample('\0\1', 2, 0) == 1:
if audioop
.getsample('\0\0\0\1', 4, 0) == 1:
return '\0\0\0\0\0\0\0\1\0\0\0\2'
return '\0\0\0\0\1\0\0\0\2\0\0\0'
if audioop
.max(data
[0], 1) != 2 or \
audioop
.max(data
[1], 2) != 2 or \
audioop
.max(data
[2], 4) != 2:
if audioop
.minmax(data
[0], 1) != (0, 2) or \
audioop
.minmax(data
[1], 2) != (0, 2) or \
audioop
.minmax(data
[2], 4) != (0, 2):
if audioop
.maxpp(data
[0], 1) != 0 or \
audioop
.maxpp(data
[1], 2) != 0 or \
audioop
.maxpp(data
[2], 4) != 0:
if audioop
.avg(data
[0], 1) != 1 or \
audioop
.avg(data
[1], 2) != 1 or \
audioop
.avg(data
[2], 4) != 1:
if audioop
.avgpp(data
[0], 1) != 0 or \
audioop
.avgpp(data
[1], 2) != 0 or \
audioop
.avgpp(data
[2], 4) != 0:
if audioop
.rms(data
[0], 1) != 1 or \
audioop
.rms(data
[1], 2) != 1 or \
audioop
.rms(data
[2], 4) != 1:
if audioop
.cross(data
[0], 1) != 0 or \
audioop
.cross(data
[1], 2) != 0 or \
audioop
.cross(data
[2], 4) != 0:
str = str + chr(ord(s
)*2)
if audioop
.add(data
[0], data
[0], 1) != data2
[0] or \
audioop
.add(data
[1], data
[1], 2) != data2
[1] or \
audioop
.add(data
[2], data
[2], 4) != data2
[2]:
# Note: this test assumes that avg() works
d1
= audioop
.bias(data
[0], 1, 100)
d2
= audioop
.bias(data
[1], 2, 100)
d4
= audioop
.bias(data
[2], 4, 100)
if audioop
.avg(d1
, 1) != 101 or \
audioop
.avg(d2
, 2) != 101 or \
audioop
.avg(d4
, 4) != 101:
# too simple: we test only the size
if len(audioop
.lin2lin(d1
, got
, wtd
)) != len(d2
):
if audioop
.adpcm2lin('\0\0', 1, None) != ('\0\0\0\0', (0,0)):
if audioop
.lin2adpcm('\0\0\0\0', 1, None) != ('\0\0', (0,0)):
if audioop
.lin2ulaw(data
[0], 1) != '\377\347\333' or \
audioop
.lin2ulaw(data
[1], 2) != '\377\377\377' or \
audioop
.lin2ulaw(data
[2], 4) != '\377\377\377':
d
= audioop
.lin2ulaw(data
[0], 1)
if audioop
.ulaw2lin(d
, 1) != data
[0]:
str = str + chr(ord(s
)*2)
if audioop
.mul(data
[0], 1, 2) != data2
[0] or \
audioop
.mul(data
[1],2, 2) != data2
[1] or \
audioop
.mul(data
[2], 4, 2) != data2
[2]:
d1
, state
= audioop
.ratecv(data
[0], 1, 1, 8000, 16000, state
)
d2
, state
= audioop
.ratecv(data
[0], 1, 1, 8000, 16000, state
)
if d1
+ d2
!= '\000\000\001\001\002\001\000\000\001\001\002':
if audioop
.reverse(data
[0], 1) != '\2\1\0':
if audioop
.tomono(data2
, 1, 0.5, 0.5) != data
[0]:
if audioop
.tostereo(data
[0], 1, 1, 1) != data2
:
def testfindfactor(data
):
if audioop
.findfactor(data
[1], data
[1]) != 1.0:
if audioop
.findfit(data
[1], data
[1]) != (0, 1.0):
if audioop
.findmax(data
[1], 1) != 2:
if audioop
.getsample(data
[0], 1, i
) != i
or \
audioop
.getsample(data
[1], 2, i
) != i
or \
audioop
.getsample(data
[2], 4, i
) != i
:
print 'No test found for audioop.'+name
+'()'
print 'Test FAILED for audioop.'+name
+'() (with an exception)'
print 'Test FAILED for audioop.'+name
+'()'
data
= [gendata1(), gendata2(), gendata4()]
# We know there is a routine 'add'
if type(eval('audioop.'+n
)) == type(audioop
.add
):