a XC?hg0ã@spddlmZmZmZddlZddlZddlZGdd„dejƒZGdd„dƒZ Gdd„de ƒZ Gd d „d e ƒZ dS) é)ÚfindfileÚTESTFNÚunlinkNc@seZdZdd„Zdd„ZdS)Ú UnseekableIOcCs tj‚dS©N©ÚioÚUnsupportedOperation©Úself©r ú4/opt/alt/python39/lib64/python3.9/test/audiotests.pyÚtellszUnseekableIO.tellcOs tj‚dSrr)r ÚargsÚkwargsr r r Úseek szUnseekableIO.seekN)Ú__name__Ú __module__Ú __qualname__rrr r r r rsrc@s(eZdZdZdd„Zdd„Zdd„ZdS) Ú AudioTestsFcCsd|_|_dSr)ÚfÚfoutr r r r ÚsetUpszAudioTests.setUpcCs4|jdur|j ¡|jdur(|j ¡ttƒdSr)rÚcloserrrr r r r ÚtearDowns     zAudioTests.tearDownc Cs | | ¡|¡| | ¡|¡| | ¡|¡| | ¡|¡| | ¡|¡| | ¡|¡| ¡}| |||||||f¡| |j|¡| |j |¡| |j |¡| |j |¡| |j |¡| |j |¡ttjdƒD]"} t || ¡} | t | ¡|¡qâdS)Né)Ú assertEqualÚ getnchannelsÚ getsampwidthÚ getframerateÚ getnframesZ getcomptypeZ getcompnameÚ getparamsÚ nchannelsÚ sampwidthÚ framerateÚnframesÚcomptypeÚcompnameÚrangeÚpickleZHIGHEST_PROTOCOLÚdumpsÚloads) r rr"r#r$r%r&r'ÚparamsÚprotoÚdumpr r r Ú check_paramss&ÿ zAudioTests.check_paramsN)rrrÚclose_fdrrr/r r r r rsrc@s”eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#S)$ÚAudioWriteTestscCsL|j |d¡}|_| |j¡| |j¡| |j¡|  |j |j ¡|S©NÚwb) ÚmoduleÚopenrÚ setnchannelsr"Ú setsampwidthr#Ú setframerater$Ú setcomptyper&r'©r Útestfilerr r r Ú create_file6s    zAudioWriteTests.create_filecCsŠ|j |d¡h}| | ¡|j¡| | ¡|j¡| | ¡|j¡| |  ¡|¡| |  |¡|¡Wdƒn1s|0YdS©NÚrb) r4r5rrr"rr#rr$r Ú readframes)r r;r%Úframesrr r r Ú check_file>s zAudioWriteTests.check_filec CsP| t¡}| |j¡| |j¡| ||j|j|j |j|j |j ¡|  ¡dSr) r<rÚ setnframesr%Ú writeframesr@r/r"r#r$r&r'r©r rr r r Útest_write_paramsFs    ÿz!AudioWriteTests.test_write_paramsc Csä| |jj¡>|j td¡Wdƒn1s40YWdƒn1sR0Y| |jj¡fttdƒ<}|j |¡Wdƒn1sš0YWdƒn1s¸0YWdƒn1sÖ0YdSr2)Ú assertRaisesr4ÚErrorr5r)r r;r r r Ú&test_write_context_manager_calls_closeNs< z6AudioWriteTests.test_write_context_manager_calls_closec Csfttdƒ€}|j |¡D}| |j¡| |j¡| |j¡|  |j |j ¡Wdƒn1sb0Y|  |j |j¡Wdƒn1s0Yttdƒ¬}|j |¡X}| | ¡j ¡| ¡}|  |j|j¡|  |j|j¡|  |j|j¡Wdƒn1s0Y|js2| | ¡¡|  |j |j¡Wdƒn1sX0YdS)Nr3r>)r5rr4r6r"r7r#r8r$r9r&r'rÚclosedr0Ú assertFalseÚgetfpr!Ú assertIsNone)r r;rr,r r r Ú#test_context_manager_with_open_fileYs"    .. 0z3AudioWriteTests.test_context_manager_with_open_filecCsî|j td¡D}| |j¡| |j¡| |j¡|  |j |j ¡Wdƒn1sX0Y|j t¡X}|  |  ¡j¡| ¡}| |j|j¡| |j|j¡| |j|j¡Wdƒn1sÌ0Y|jsê| |  ¡¡dSr2)r4r5rr6r"r7r#r8r$r9r&r'rJrKrIr!rr0rL)r rr,r r r Ú"test_context_manager_with_filenamels   ..z2AudioWriteTests.test_context_manager_with_filenamecCs@| t¡}| |j¡| |j¡| ¡| t|j|j¡dSr)r<rrBr%rCr@rrArDr r r Ú test_write}s    zAudioWriteTests.test_writecCsD| t¡}| |j¡| t|jƒ¡| ¡| t|j|j¡dSr) r<rrBr%rCÚ bytearrayr@rrArDr r r Útest_write_bytearray…s   z$AudioWriteTests.test_write_bytearraycCsH| t¡}| |j¡| t d|j¡¡| ¡| t|j|j¡dS)NÚh) r<rrBr%rCÚarrayr@rrArDr r r Útest_write_arrays   z AudioWriteTests.test_write_arraycCsD| t¡}| |j¡| t|jƒ¡| ¡| t|j|j¡dSr) r<rrBr%rCÚ memoryviewr@rrArDr r r Útest_write_memoryview•s   z%AudioWriteTests.test_write_memoryviewcCs´ttdƒH}| d¡| |¡}| |jd¡| |j¡| ¡Wdƒn1sX0Yttdƒ4}|  |  d¡d¡|  ||j|j¡Wdƒn1s¦0YdS©Nr3ó ababagalamagarr>é © r5rÚwriter<rBr%rCr@rrÚreadrAr:r r r Útest_incompleted_writes    & z&AudioWriteTests.test_incompleted_writecCsÜttdƒp}| d¡| |¡}| |j¡|j|j}| |j d| …¡| |j | d…¡|  ¡Wdƒn1s€0Yttdƒ4}|  |  d¡d¡|  ||j|j ¡Wdƒn1sÎ0YdS©Nr3rXr>rY)r5rr[r<rBr%r"r#rCr@rrr\rA©r r;rÚ framesizer r r Útest_multiple_writes©s     & z$AudioWriteTests.test_multiple_writescCs´ttdƒH}| d¡| |¡}| |jd¡| |j¡| ¡Wdƒn1sX0Yttdƒ4}|  |  d¡d¡|  ||j|j¡Wdƒn1s¦0YdSrWrZr:r r r Útest_overflowed_write·s    & z%AudioWriteTests.test_overflowed_writecCs‚| t¡(}| |j¡| |j¡Wdƒn1s80Yttdƒ"}| ||j|j¡Wdƒn1st0YdSr=)r<rrBr%rCr@rrA)r rr;r r r Útest_unseekable_readÃs   * z$AudioWriteTests.test_unseekable_readc Cs‚ttdƒR}| |¡(}| |j¡| |j¡Wdƒn1sD0YWdƒn1sb0Y| t|j|j¡dSr2)rrr<rBr%rCr@rAr:r r r Útest_unseekable_writeËs    Hz%AudioWriteTests.test_unseekable_writec Csèttdƒx}| d¡| |¡}| |jd¡z| |j¡WntyRYn0z |  ¡WntyrYn0Wdƒn1sˆ0Yt tdƒ8}|  |  d¡d¡|  ||jd|j¡Wdƒn1sÚ0YdSrW)rrr[r<rBr%rCr@ÚOSErrorrr5rr\rAr:r r r Ú!test_unseekable_incompleted_writeÓs      $ z1AudioWriteTests.test_unseekable_incompleted_writec Csþttdƒx}| d¡| |¡}| |jd¡z| |j¡WntyRYn0z |  ¡WntyrYn0Wdƒn1sˆ0Yt tdƒN}|  |  d¡d¡|j |j}| ||jd|jd| …¡Wdƒn1sð0YdSrW)rrr[r<rBr%rCr@rerr5rr\r"r#rAr_r r r Ú test_unseekable_overflowed_writeås       $  z0AudioWriteTests.test_unseekable_overflowed_writeN)rrrr<rArErHrMrNrOrQrTrVr]rarbrcrdrfrgr r r r r14s"   r1c@s@eZdZedd„ƒZdd„Zdd„Zdd„Zd d „Zd d „Z d S)ÚAudioTestsWithSourceFilecCst|jdd|_dS)NZ audiodata)Zsubdir)rZ sndfilenameÚ sndfilepath)Úclsr r r Ú setUpClassûsz#AudioTestsWithSourceFile.setUpClassc Cs:|j |j¡}|_| ||j|j|j|j|j |j ¡dSr) r4r5rirr/r"r#r$Úsndfilenframesr&r'rDr r r Útest_read_paramsÿs ÿz)AudioTestsWithSourceFile.test_read_paramsc Csþt|jdƒF}|j |¡}|_| |j¡| ¡| |j|j¡Wdƒn1sX0Ytt dƒ~}|j |d¡}|_ | |j¡|  |jj ¡| ¡Wdƒn1sº0Y| |j|j¡| ¡Wdƒn1sð0YdS)Nr>r3) r5rir4rrJrIrrr0rrrFrG)r r;rrr r r Ú test_closes .  &z#AudioTestsWithSourceFile.test_closecCsˆ|j|j}|jdd|…}|jd|d|…}|j |j¡}|_| | d¡d¡| |  ¡d¡| | d¡|¡|  ¡|  ¡}| |d¡| | d¡|¡|  ¡}| |d¡| | d¡|¡|  |¡| | d¡|¡|  |¡| | d¡|¡|  |jj ¡|  d¡Wdƒn1s80Y|  |jj ¡"|  | ¡d¡Wdƒn1sz0YdS)Nééróéÿÿÿÿr)r"r#r@r4r5rirrr?rÚrewindZsetposrFrGr )r r`Zchunk1Zchunk2rZpos0Zpos2r r r Ú test_reads,     *z"AudioTestsWithSourceFile.test_readcCsÈ|j |j¡}|_|j td¡}|_| | ¡¡d}| ¡}|dkrl|d7}|  |  |¡¡||8}qB|  ¡|j td¡}|_|  ¡|  | ¡| ¡¡|  |  | ¡¡|  | ¡¡¡dS)Nr3rrr>)r4r5rirrrZ setparamsr!r rCr?rrsr)r rrÚiÚnr r r Ú test_copy+s   ÿz"AudioTestsWithSourceFile.test_copyc Cs>ttdƒT}| d¡t|jdƒ}| | ¡¡Wdƒn1sF0YWdƒn1sd0Yttdƒ°}| | d¡d¡|j |d¡n}| | ¡|j¡| |  ¡|j ¡| |  ¡|j ¡| |  ¡|j¡| | |j¡|j¡Wdƒn1s0YWdƒn1s00YdSr^)r5rr[rir\rr4rr"rr#rr$r rlr?r%r@r:r r r Útest_read_not_from_start<s  J z1AudioTestsWithSourceFile.test_read_not_from_startN) rrrÚ classmethodrkrmrnrtrwrxr r r r rhùs rh) Z test.supportrrrrSrr)ÚFileIOrrr1rhr r r r Ús%F