Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
7416a4cd
Commit
7416a4cd
authored
Jun 28, 2008
by
Benjamin Peterson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
convert test_audioop to unittest. Thanks to Giampaolo Rodola.
parent
de34d91e
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
147 additions
and
264 deletions
+147
-264
Lib/test/test_audioop.py
Lib/test/test_audioop.py
+147
-264
No files found.
Lib/test/test_audioop.py
View file @
7416a4cd
# Test audioop.
import
audioop
from
test.test_support
import
verbose
import
unittest
from
test.test_support
import
run_unittest
def
gendata1
():
return
'
\
0
\
1
\
2
'
def
gendata2
():
if
verbose
:
print
'getsample'
if
audioop
.
getsample
(
'
\
0
\
1
'
,
2
,
0
)
==
1
:
return
'
\
0
\
0
\
0
\
1
\
0
\
2
'
else
:
return
'
\
0
\
0
\
1
\
0
\
2
\
0
'
def
gendata4
():
if
verbose
:
print
'getsample'
if
audioop
.
getsample
(
'
\
0
\
0
\
0
\
1
'
,
4
,
0
)
==
1
:
return
'
\
0
\
0
\
0
\
0
\
0
\
0
\
0
\
1
\
0
\
0
\
0
\
2
'
else
:
return
'
\
0
\
0
\
0
\
0
\
1
\
0
\
0
\
0
\
2
\
0
\
0
\
0
'
def
testmax
(
data
):
if
verbose
:
print
'max'
if
audioop
.
max
(
data
[
0
],
1
)
!=
2
or
\
audioop
.
max
(
data
[
1
],
2
)
!=
2
or
\
audioop
.
max
(
data
[
2
],
4
)
!=
2
:
return
0
return
1
def
testminmax
(
data
):
if
verbose
:
print
'minmax'
if
audioop
.
minmax
(
data
[
0
],
1
)
!=
(
0
,
2
)
or
\
audioop
.
minmax
(
data
[
1
],
2
)
!=
(
0
,
2
)
or
\
audioop
.
minmax
(
data
[
2
],
4
)
!=
(
0
,
2
):
return
0
return
1
def
testmaxpp
(
data
):
if
verbose
:
print
'maxpp'
if
audioop
.
maxpp
(
data
[
0
],
1
)
!=
0
or
\
audioop
.
maxpp
(
data
[
1
],
2
)
!=
0
or
\
audioop
.
maxpp
(
data
[
2
],
4
)
!=
0
:
return
0
return
1
def
testavg
(
data
):
if
verbose
:
print
'avg'
if
audioop
.
avg
(
data
[
0
],
1
)
!=
1
or
\
audioop
.
avg
(
data
[
1
],
2
)
!=
1
or
\
audioop
.
avg
(
data
[
2
],
4
)
!=
1
:
return
0
return
1
def
testavgpp
(
data
):
if
verbose
:
print
'avgpp'
if
audioop
.
avgpp
(
data
[
0
],
1
)
!=
0
or
\
audioop
.
avgpp
(
data
[
1
],
2
)
!=
0
or
\
audioop
.
avgpp
(
data
[
2
],
4
)
!=
0
:
return
0
return
1
def
testrms
(
data
):
if
audioop
.
rms
(
data
[
0
],
1
)
!=
1
or
\
audioop
.
rms
(
data
[
1
],
2
)
!=
1
or
\
audioop
.
rms
(
data
[
2
],
4
)
!=
1
:
return
0
return
1
def
testcross
(
data
):
if
verbose
:
print
'cross'
if
audioop
.
cross
(
data
[
0
],
1
)
!=
0
or
\
audioop
.
cross
(
data
[
1
],
2
)
!=
0
or
\
audioop
.
cross
(
data
[
2
],
4
)
!=
0
:
return
0
return
1
def
testadd
(
data
):
if
verbose
:
print
'add'
data
=
[
gendata1
(),
gendata2
(),
gendata4
()]
class
TestAudioop
(
unittest
.
TestCase
):
def
test_max
(
self
):
self
.
assertEqual
(
audioop
.
max
(
data
[
0
],
1
),
2
)
self
.
assertEqual
(
audioop
.
max
(
data
[
1
],
2
),
2
)
self
.
assertEqual
(
audioop
.
max
(
data
[
2
],
4
),
2
)
def
test_minmax
(
self
):
self
.
assertEqual
(
audioop
.
minmax
(
data
[
0
],
1
),
(
0
,
2
))
Self
.
assertEqual
(
audioop
.
minmax
(
data
[
1
],
2
),
(
0
,
2
))
self
.
assertEqual
(
audioop
.
minmax
(
data
[
2
],
4
),
(
0
,
2
))
def
test_maxpp
(
self
):
self
.
assertEqual
(
audioop
.
maxpp
(
data
[
0
],
1
),
0
)
self
.
assertEqual
(
audioop
.
maxpp
(
data
[
1
],
2
),
0
)
self
.
assertEqual
(
audioop
.
maxpp
(
data
[
2
],
4
),
0
)
def
test_avg
(
self
):
self
.
assertEqual
(
audioop
.
avg
(
data
[
0
],
1
),
1
)
self
.
assertEqual
(
audioop
.
avg
(
data
[
1
],
2
),
1
)
self
.
assertEqual
(
audioop
.
avg
(
data
[
2
],
4
),
1
)
def
test_avgpp
(
self
):
self
.
assertEqual
(
audioop
.
avgpp
(
data
[
0
],
1
),
0
)
self
.
assertEqual
(
audioop
.
avgpp
(
data
[
1
],
2
),
0
)
self
.
assertEqual
(
audioop
.
avgpp
(
data
[
2
],
4
),
0
)
def
test_rms
(
self
):
self
.
assertEqual
(
audioop
.
rms
(
data
[
0
],
1
),
1
)
self
.
assertEqual
(
audioop
.
rms
(
data
[
1
],
2
),
1
)
self
.
assertEqual
(
audioop
.
rms
(
data
[
2
],
4
),
1
)
def
test_cross
(
self
):
self
.
assertEqual
(
audioop
.
cross
(
data
[
0
],
1
),
0
)
self
.
assertEqual
(
audioop
.
cross
(
data
[
1
],
2
),
0
)
self
.
assertEqual
(
audioop
.
cross
(
data
[
2
],
4
),
0
)
def
test_add
(
self
):
data2
=
[]
for
d
in
data
:
str
=
''
for
s
in
d
:
str
=
str
+
chr
(
ord
(
s
)
*
2
)
data2
.
append
(
str
)
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
]:
return
0
return
1
def
testbias
(
data
):
if
verbose
:
print
'bias'
self
.
assertEqual
(
audioop
.
add
(
data
[
0
],
data
[
0
],
1
),
data2
[
0
])
self
.
assertEqual
(
audioop
.
add
(
data
[
1
],
data
[
1
],
2
),
data2
[
1
])
self
.
assertEqual
(
audioop
.
add
(
data
[
2
],
data
[
2
],
4
),
data2
[
2
])
def
test_bias
(
self
):
# 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
:
return
0
return
1
def
testlin2lin
(
data
):
if
verbose
:
print
'lin2lin'
self
.
assertEqual
(
audioop
.
avg
(
d1
,
1
),
101
)
self
.
assertEqual
(
audioop
.
avg
(
d2
,
2
),
101
)
self
.
assertEqual
(
audioop
.
avg
(
d4
,
4
),
101
)
def
test_lin2lin
(
self
):
# too simple: we test only the size
for
d1
in
data
:
for
d2
in
data
:
got
=
len
(
d1
)
//
3
wtd
=
len
(
d2
)
//
3
if
len
(
audioop
.
lin2lin
(
d1
,
got
,
wtd
))
!=
len
(
d2
):
return
0
return
1
self
.
assertEqual
(
len
(
audioop
.
lin2lin
(
d1
,
got
,
wtd
)),
len
(
d2
))
def
testadpcm2lin
(
data
):
def
test_adpcm2lin
(
self
):
# Very cursory test
if
audioop
.
adpcm2lin
(
'
\
0
\
0
'
,
1
,
None
)
!=
(
'
\
0
\
0
\
0
\
0
'
,
(
0
,
0
)):
return
0
return
1
self
.
assertEqual
(
audioop
.
adpcm2lin
(
'
\
0
\
0
'
,
1
,
None
),
(
'
\
0
\
0
\
0
\
0
'
,
(
0
,
0
)))
def
testlin2adpcm
(
data
):
if
verbose
:
print
'lin2adpcm'
def
test_lin2adpcm
(
self
):
# Very cursory test
if
audioop
.
lin2adpcm
(
'
\
0
\
0
\
0
\
0
'
,
1
,
None
)
!=
(
'
\
0
\
0
'
,
(
0
,
0
)):
return
0
return
1
def
testlin2alaw
(
data
):
if
verbose
:
print
'lin2alaw'
if
audioop
.
lin2alaw
(
data
[
0
],
1
)
!=
'
\
xd5
\
xc5
\
xf5
'
or
\
audioop
.
lin2alaw
(
data
[
1
],
2
)
!=
'
\
xd5
\
xd5
\
xd5
'
or
\
audioop
.
lin2alaw
(
data
[
2
],
4
)
!=
'
\
xd5
\
xd5
\
xd5
'
:
return
0
return
1
def
testalaw2lin
(
data
):
if
verbose
:
print
'alaw2lin'
self
.
assertEqual
(
audioop
.
lin2adpcm
(
'
\
0
\
0
\
0
\
0
'
,
1
,
None
),
(
'
\
0
\
0
'
,
(
0
,
0
)))
def
test_lin2alaw
(
self
):
self
.
assertEqual
(
audioop
.
lin2alaw
(
data
[
0
],
1
),
'
\
xd5
\
xc5
\
xf5
'
)
self
.
assertEqual
(
audioop
.
lin2alaw
(
data
[
1
],
2
),
'
\
xd5
\
xd5
\
xd5
'
)
self
.
assertEqual
(
audioop
.
lin2alaw
(
data
[
2
],
4
),
'
\
xd5
\
xd5
\
xd5
'
)
def
test_alaw2lin
(
self
):
# Cursory
d
=
audioop
.
lin2alaw
(
data
[
0
],
1
)
if
audioop
.
alaw2lin
(
d
,
1
)
!=
data
[
0
]:
return
0
return
1
def
testlin2ulaw
(
data
):
if
verbose
:
print
'lin2ulaw'
if
audioop
.
lin2ulaw
(
data
[
0
],
1
)
!=
'
\
xff
\
xe7
\
xdb
'
or
\
audioop
.
lin2ulaw
(
data
[
1
],
2
)
!=
'
\
xff
\
xff
\
xff
'
or
\
audioop
.
lin2ulaw
(
data
[
2
],
4
)
!=
'
\
xff
\
xff
\
xff
'
:
return
0
return
1
def
testulaw2lin
(
data
):
if
verbose
:
print
'ulaw2lin'
self
.
assertEqual
(
audioop
.
alaw2lin
(
d
,
1
),
data
[
0
])
def
test_lin2ulaw
(
self
):
self
.
assertEqual
(
audioop
.
lin2ulaw
(
data
[
0
],
1
),
'
\
xff
\
xe7
\
xdb
'
)
self
.
assertEqual
(
audioop
.
lin2ulaw
(
data
[
1
],
2
),
'
\
xff
\
xff
\
xff
'
)
self
.
assertEqual
(
audioop
.
lin2ulaw
(
data
[
2
],
4
),
'
\
xff
\
xff
\
xff
'
)
def
test_ulaw2lin
(
self
):
# Cursory
d
=
audioop
.
lin2ulaw
(
data
[
0
],
1
)
if
audioop
.
ulaw2lin
(
d
,
1
)
!=
data
[
0
]:
return
0
return
1
self
.
assertEqual
(
audioop
.
ulaw2lin
(
d
,
1
),
data
[
0
])
def
testmul
(
data
):
if
verbose
:
print
'mul'
def
test_mul
(
self
):
data2
=
[]
for
d
in
data
:
str
=
''
for
s
in
d
:
str
=
str
+
chr
(
ord
(
s
)
*
2
)
data2
.
append
(
str
)
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
]:
return
0
return
1
def
testratecv
(
data
):
if
verbose
:
print
'ratecv'
self
.
assertEqual
(
audioop
.
mul
(
data
[
0
],
1
,
2
),
data2
[
0
])
self
.
assertEqual
(
audioop
.
mul
(
data
[
1
],
2
,
2
),
data2
[
1
])
self
.
assertEqual
(
audioop
.
mul
(
data
[
2
],
4
,
2
),
data2
[
2
])
def
test_ratecv
(
self
):
state
=
None
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
'
:
return
0
return
1
def
testreverse
(
data
):
if
verbose
:
print
'reverse'
if
audioop
.
reverse
(
data
[
0
],
1
)
!=
'
\
2
\
1
\
0
'
:
return
0
return
1
def
testtomono
(
data
):
if
verbose
:
print
'tomono'
self
.
assertEqual
(
d1
+
d2
,
'
\
000
\
000
\
001
\
001
\
002
\
001
\
000
\
000
\
001
\
001
\
002
'
)
def
test_reverse
(
self
):
self
.
assertEqual
(
audioop
.
reverse
(
data
[
0
],
1
),
'
\
2
\
1
\
0
'
)
def
test_tomono
(
self
):
data2
=
''
for
d
in
data
[
0
]:
data2
=
data2
+
d
+
d
if
audioop
.
tomono
(
data2
,
1
,
0.5
,
0.5
)
!=
data
[
0
]:
return
0
return
1
self
.
assertEqual
(
audioop
.
tomono
(
data2
,
1
,
0.5
,
0.5
),
data
[
0
])
def
testtostereo
(
data
):
if
verbose
:
print
'tostereo'
def
test_tostereo
(
self
):
data2
=
''
for
d
in
data
[
0
]:
data2
=
data2
+
d
+
d
if
audioop
.
tostereo
(
data
[
0
],
1
,
1
,
1
)
!=
data2
:
return
0
return
1
def
testfindfactor
(
data
):
if
verbose
:
print
'findfactor'
if
audioop
.
findfactor
(
data
[
1
],
data
[
1
])
!=
1.0
:
return
0
return
1
def
testfindfit
(
data
):
if
verbose
:
print
'findfit'
if
audioop
.
findfit
(
data
[
1
],
data
[
1
])
!=
(
0
,
1.0
):
return
0
return
1
def
testfindmax
(
data
):
if
verbose
:
print
'findmax'
if
audioop
.
findmax
(
data
[
1
],
1
)
!=
2
:
return
0
return
1
def
testgetsample
(
data
):
if
verbose
:
print
'getsample'
for
i
in
range
(
3
):
if
audioop
.
getsample
(
data
[
0
],
1
,
i
)
!=
i
or
\
audioop
.
getsample
(
data
[
1
],
2
,
i
)
!=
i
or
\
audioop
.
getsample
(
data
[
2
],
4
,
i
)
!=
i
:
return
0
return
1
def
testone
(
name
,
data
):
try
:
func
=
eval
(
'test'
+
name
)
except
NameError
:
print
'No test found for audioop.'
+
name
+
'()'
return
try
:
rv
=
func
(
data
)
except
'xx'
:
print
'Test FAILED for audioop.'
+
name
+
'() (with an exception)'
return
if
not
rv
:
print
'Test FAILED for audioop.'
+
name
+
'()'
self
.
assertEqual
(
audioop
.
tostereo
(
data
[
0
],
1
,
1
,
1
),
data2
)
def
test_main
():
data
=
[
gendata1
(),
gendata2
(),
gendata4
()]
names
=
dir
(
audioop
)
# We know there is a routine 'add'
routines
=
[]
for
n
in
names
:
if
type
(
eval
(
'audioop.'
+
n
))
==
type
(
audioop
.
add
):
routines
.
append
(
n
)
for
n
in
routines
:
testone
(
n
,
data
)
def
test_findfactor
(
self
):
self
.
assertEqual
(
audioop
.
findfactor
(
data
[
1
],
data
[
1
]),
1.0
)
def
test_findfit
(
self
):
self
.
assertEqual
(
audioop
.
findfit
(
data
[
1
],
data
[
1
]),
(
0
,
1.0
))
def
test_findmax
(
self
):
self
.
assertEqual
(
audioop
.
findmax
(
data
[
1
],
1
),
2
)
def
test_getsample
(
self
):
for
i
in
range
(
3
):
self
.
assertEqual
(
audioop
.
getsample
(
data
[
0
],
1
,
i
),
i
)
self
.
assertEqual
(
audioop
.
getsample
(
data
[
1
],
2
,
i
),
i
)
self
.
assertEqual
(
audioop
.
getsample
(
data
[
2
],
4
,
i
),
i
)
def
test_main
():
run_unittest
(
TestAudioop
)
if
__name__
==
'__main__'
:
test_main
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment