17db96d56Sopenharmony_ciimport pickle
27db96d56Sopenharmony_ciimport unittest
37db96d56Sopenharmony_cifrom test.support import findfile
47db96d56Sopenharmony_cifrom test.support import warnings_helper
57db96d56Sopenharmony_ci
67db96d56Sopenharmony_cisndhdr = warnings_helper.import_deprecated("sndhdr")
77db96d56Sopenharmony_ci
87db96d56Sopenharmony_ci
97db96d56Sopenharmony_ciclass TestFormats(unittest.TestCase):
107db96d56Sopenharmony_ci    def test_data(self):
117db96d56Sopenharmony_ci        for filename, expected in (
127db96d56Sopenharmony_ci            ('sndhdr.8svx', ('8svx', 0, 1, 0, 8)),
137db96d56Sopenharmony_ci            ('sndhdr.aifc', ('aifc', 44100, 2, 5, 16)),
147db96d56Sopenharmony_ci            ('sndhdr.aiff', ('aiff', 44100, 2, 5, 16)),
157db96d56Sopenharmony_ci            ('sndhdr.au', ('au', 44100, 2, 5.0, 16)),
167db96d56Sopenharmony_ci            ('sndhdr.hcom', ('hcom', 22050.0, 1, -1, 8)),
177db96d56Sopenharmony_ci            ('sndhdr.sndt', ('sndt', 44100, 1, 5, 8)),
187db96d56Sopenharmony_ci            ('sndhdr.voc', ('voc', 0, 1, -1, 8)),
197db96d56Sopenharmony_ci            ('sndhdr.wav', ('wav', 44100, 2, 5, 16)),
207db96d56Sopenharmony_ci        ):
217db96d56Sopenharmony_ci            filename = findfile(filename, subdir="sndhdrdata")
227db96d56Sopenharmony_ci            what = sndhdr.what(filename)
237db96d56Sopenharmony_ci            self.assertNotEqual(what, None, filename)
247db96d56Sopenharmony_ci            self.assertSequenceEqual(what, expected)
257db96d56Sopenharmony_ci            self.assertEqual(what.filetype, expected[0])
267db96d56Sopenharmony_ci            self.assertEqual(what.framerate, expected[1])
277db96d56Sopenharmony_ci            self.assertEqual(what.nchannels, expected[2])
287db96d56Sopenharmony_ci            self.assertEqual(what.nframes, expected[3])
297db96d56Sopenharmony_ci            self.assertEqual(what.sampwidth, expected[4])
307db96d56Sopenharmony_ci
317db96d56Sopenharmony_ci    def test_pickleable(self):
327db96d56Sopenharmony_ci        filename = findfile('sndhdr.aifc', subdir="sndhdrdata")
337db96d56Sopenharmony_ci        what = sndhdr.what(filename)
347db96d56Sopenharmony_ci        for proto in range(pickle.HIGHEST_PROTOCOL + 1):
357db96d56Sopenharmony_ci            dump = pickle.dumps(what, proto)
367db96d56Sopenharmony_ci            self.assertEqual(pickle.loads(dump), what)
377db96d56Sopenharmony_ci
387db96d56Sopenharmony_ci
397db96d56Sopenharmony_ciif __name__ == '__main__':
407db96d56Sopenharmony_ci    unittest.main()
41