Staging
v0.5.1
https://github.com/python/cpython
Raw File
Tip revision: f71d45a84a060a78ef6357897f659c2a60d27dcf authored by Barry Warsaw on 06 October 2009, 13:21:07 UTC
Bumping to 2.6.4rc1
Tip revision: f71d45a
test_wave.py
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()
back to top