| 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() |