from test.test_support import TESTFN, run_unittest | |
import os | |
import wave | |
import unittest | |
nchannels = 2 | |
sampwidth = 2 | |
framerate = 8000 | |
nframes = 100 | |
class TestWave(unittest.TestCase): | |
def setUp(self): | |
self.f = None | |
def tearDown(self): | |
if self.f is not None: | |
self.f.close() | |
try: | |
os.remove(TESTFN) | |
except OSError: | |
pass | |
def test_it(self): | |
self.f = wave.open(TESTFN, 'wb') | |
self.f.setnchannels(nchannels) | |
self.f.setsampwidth(sampwidth) | |
self.f.setframerate(framerate) | |
self.f.setnframes(nframes) | |
output = '\0' * nframes * nchannels * sampwidth | |
self.f.writeframes(output) | |
self.f.close() | |
self.f = wave.open(TESTFN, 'rb') | |
self.assertEqual(nchannels, self.f.getnchannels()) | |
self.assertEqual(sampwidth, self.f.getsampwidth()) | |
self.assertEqual(framerate, self.f.getframerate()) | |
self.assertEqual(nframes, self.f.getnframes()) | |
self.assertEqual(self.f.readframes(nframes), output) | |
def test_main(): | |
run_unittest(TestWave) | |
if __name__ == '__main__': | |
test_main() |