33import os
44import io
55import struct
6+ import pickle
67
78import aifc
89
@@ -31,6 +32,7 @@ def test_skipunknown(self):
3132
3233 def test_params (self ):
3334 f = self .f = aifc .open (self .sndfilepath )
35+ params = f .getparams ()
3436 self .assertEqual (f .getfp ().name , self .sndfilepath )
3537 self .assertEqual (f .getnchannels (), 2 )
3638 self .assertEqual (f .getsampwidth (), 2 )
@@ -43,6 +45,36 @@ def test_params(self):
4345 (2 , 2 , 48000 , 14400 , b'NONE' , b'not compressed' ),
4446 )
4547
48+ params = f .getparams ()
49+ self .assertEqual (params .nchannels , 2 )
50+ self .assertEqual (params .sampwidth , 2 )
51+ self .assertEqual (params .framerate , 48000 )
52+ self .assertEqual (params .nframes , 14400 )
53+ self .assertEqual (params .comptype , b'NONE' )
54+ self .assertEqual (params .compname , b'not compressed' )
55+
56+ def test_params_added (self ):
57+ f = self .f = aifc .open (TESTFN , 'wb' )
58+ f .aiff ()
59+ f .setparams ((1 , 1 , 1 , 1 , b'NONE' , b'' ))
60+ f .close ()
61+
62+ f = self .f = aifc .open (TESTFN , 'rb' )
63+ params = f .getparams ()
64+ self .assertEqual (params .nchannels , f .getnchannels ())
65+ self .assertEqual (params .sampwidth , f .getsampwidth ())
66+ self .assertEqual (params .framerate , f .getframerate ())
67+ self .assertEqual (params .nframes , f .getnframes ())
68+ self .assertEqual (params .comptype , f .getcomptype ())
69+ self .assertEqual (params .compname , f .getcompname ())
70+
71+ def test_getparams_picklable (self ):
72+ self .f = aifc .open (self .sndfilepath )
73+ params = self .f .getparams ()
74+ dump = pickle .dumps (params )
75+ self .assertEqual (pickle .loads (dump ), params )
76+ self .f .close ()
77+
4678 def test_context_manager (self ):
4779 with open (self .sndfilepath , 'rb' ) as testfile :
4880 with aifc .open (testfile ) as f :
0 commit comments