| import sndhdr | |
| import pickle | |
| import unittest | |
| from test.support import findfile | |
| class TestFormats(unittest.TestCase): | |
| def test_data(self): | |
| for filename, expected in ( | |
| ('sndhdr.8svx', ('8svx', 0, 1, 0, 8)), | |
| ('sndhdr.aifc', ('aifc', 44100, 2, 5, 16)), | |
| ('sndhdr.aiff', ('aiff', 44100, 2, 5, 16)), | |
| ('sndhdr.au', ('au', 44100, 2, 5.0, 16)), | |
| ('sndhdr.hcom', ('hcom', 22050.0, 1, -1, 8)), | |
| ('sndhdr.sndt', ('sndt', 44100, 1, 5, 8)), | |
| ('sndhdr.voc', ('voc', 0, 1, -1, 8)), | |
| ('sndhdr.wav', ('wav', 44100, 2, 5, 16)), | |
| ): | |
| filename = findfile(filename, subdir="sndhdrdata") | |
| what = sndhdr.what(filename) | |
| self.assertNotEqual(what, None, filename) | |
| self.assertSequenceEqual(what, expected) | |
| self.assertEqual(what.filetype, expected[0]) | |
| self.assertEqual(what.framerate, expected[1]) | |
| self.assertEqual(what.nchannels, expected[2]) | |
| self.assertEqual(what.nframes, expected[3]) | |
| self.assertEqual(what.sampwidth, expected[4]) | |
| def test_pickleable(self): | |
| filename = findfile('sndhdr.aifc', subdir="sndhdrdata") | |
| what = sndhdr.what(filename) | |
| for proto in range(pickle.HIGHEST_PROTOCOL + 1): | |
| dump = pickle.dumps(what, proto) | |
| self.assertEqual(pickle.loads(dump), what) | |
| if __name__ == '__main__': | |
| unittest.main() |