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