o ­=?h‰0ć@sxddlmZddlmZmZddlZddlZddlZGdd„dejƒZ Gdd„dƒZ Gdd „d e ƒZ Gd d „d e ƒZ dS) é)Śfindfile)ŚTESTFNŚunlinkNc@seZdZdd„Zdd„ZdS)Ś UnseekableIOcCótj‚©N©ŚioŚUnsupportedOperation©Śself©r ś6/opt/alt/python310/lib64/python3.10/test/audiotests.pyŚtell ózUnseekableIO.tellcOrrr)r ŚargsŚkwargsr r rŚseek rzUnseekableIO.seekN)Ś__name__Ś __module__Ś __qualname__rrr r r rrs rc@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 | ”|”qqdS)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_fdrrr1r r r rrs  rc@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_file7s    zAudioWriteTests.create_filecCsŒ|j |d”5}| | ”|j”| | ”|j”| | ”|j”| |  ”|”| |  |”|”WdƒdS1s?wYdS©NŚrb) r6r7rrr$r r%r!r&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'Ś writeframesrBr1r$r%r&r(r)r©r rr r rŚtest_write_paramsGs    ’ z!AudioWriteTests.test_write_paramsc Csö| |jj”|j td”Wdƒn1swYWdƒn1s)wY| |jj”<ttdƒ}|j |”Wdƒn1sMwYWdƒn1s\wYWdƒdSWdƒdS1stwYdSr4)Ś assertRaisesr6ŚErrorr7r)r r=r r rŚ&test_write_context_manager_calls_closeOs ’€’ ’€’’"’z6AudioWriteTests.test_write_context_manager_calls_closec Csbttdƒ@}|j |”"}| |j”| |j”| |j”|  |j |j ”Wdƒn1s1wY|  |j |j”Wdƒn1sHwYttdƒU}|j |”,}| | ”j ”| ”}|  |j|j”|  |j|j”|  |j|j”Wdƒn1sˆwY|js—| | ””|  |j |j”WdƒdS1sŖwYdS)Nr5r@)r7rr6r8r$r9r%r:r&r;r(r)rŚclosedr2Ś assertFalseŚgetfpr#Ś assertIsNone)r r=rr.r r rŚ#test_context_manager_with_open_fileZs*    üś ū"÷z3AudioWriteTests.test_context_manager_with_open_filecCsņ|j td”"}| |j”| |j”| |j”|  |j |j ”Wdƒn1s,wY|j t”,}|  |  ”j”| ”}| |j|j”| |j|j”| |j|j”Wdƒn1sfwY|jsw| |  ””dSdSr4)r6r7rr8r$r9r%r:r&r;r(r)rLrMrKr#rr2rN)r rr.r r rŚ"test_context_manager_with_filenamems    üū’z2AudioWriteTests.test_context_manager_with_filenamecCs@| t”}| |j”| |j”| ”| t|j|j”dSr)r>rrDr'rErBrrCrFr r rŚ test_write~s   zAudioWriteTests.test_writecCóD| t”}| |j”| t|jƒ”| ”| t|j|j”dSr) r>rrDr'rEŚ bytearrayrBrrCrFr r rŚtest_write_bytearray†ó  z$AudioWriteTests.test_write_bytearraycCsH| t”}| |j”| t d|j””| ”| t|j|j”dS)NŚh) r>rrDr'rEŚarrayrBrrCrFr r rŚtest_write_arrayŽs  z AudioWriteTests.test_write_arraycCrRr) r>rrDr'rEŚ memoryviewrBrrCrFr r rŚtest_write_memoryview–rUz%AudioWriteTests.test_write_memoryviewcCs¶ttdƒ$}| d”| |”}| |jd”| |j”| ”Wdƒn1s,wYttdƒ}|  |  d”d”|  ||j|j”WdƒdS1sTwYdS©Nr5ó ababagalamagarr@é © r7rŚwriter>rDr'rErBrrŚreadrCr<r r rŚtest_incompleted_writežó     ū "žz&AudioWriteTests.test_incompleted_writecCsŽttdƒ8}| d”| |”}| |j”|j|j}| |j d| …”| |j | d…”|  ”Wdƒn1s@wYttdƒ}|  |  d”d”|  ||j|j ”WdƒdS1shwYdS©Nr5r\r@r])r7rr_r>rDr'r$r%rErBrrr`rC©r r=rŚ framesizer r rŚtest_multiple_writesŖs      ł "žz$AudioWriteTests.test_multiple_writescCs¶ttdƒ$}| d”| |”}| |jd”| |j”| ”Wdƒn1s,wYttdƒ}|  |  d”d”|  ||j|j”WdƒdS1sTwYdSr[r^r<r r rŚtest_overflowed_writeørbz%AudioWriteTests.test_overflowed_writecCs„| t”}| |j”| |j”Wdƒn1swYttdƒ}| ||j|j”WdƒdS1s;wYdSr?)r>rrDr'rErBrrC)r rr=r r rŚtest_unseekable_readÄs  ž "’z$AudioWriteTests.test_unseekable_readc Cs‚ttdƒ)}| |”}| |j”| |j”Wdƒn1s"wYWdƒn1s1wY| t|j|j”dSr4)rrr>rDr'rErBrCr<r r rŚtest_unseekable_writeĢs   ž€’z%AudioWriteTests.test_unseekable_writec Csźttdƒ<}| d”| |”}| |jd”z| |j”Wn ty)Ynwz|  ”Wn ty9YnwWdƒn1sDwYt tdƒ}|  |  d”d”|  ||jd|j”WdƒdS1snwYdSr[)rrr_r>rDr'rErBŚOSErrorrr7rr`rCr<r r rŚ!test_unseekable_incompleted_writeŌs(    ’  ’€ö "žz1AudioWriteTests.test_unseekable_incompleted_writec Csttdƒ<}| d”| |”}| |jd”z| |j”Wn ty)Ynwz|  ”Wn ty9YnwWdƒn1sDwYt tdƒ(}|  |  d”d”|j |j}| ||jd|jd| …”WdƒdS1sywYdSr[)rrr_r>rDr'rErBrjrr7rr`r$r%rCrdr r rŚ test_unseekable_overflowed_writeęs*    ’  ’€ö  ""żz0AudioWriteTests.test_unseekable_overflowed_writeN)rrrr>rCrGrJrOrPrQrTrXrZrarfrgrhrirkrlr r r rr35s$    r3c@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) r6r7rnrr1r$r%r&Śsndfilenframesr(r)rFr r rŚtest_read_paramss ’z)AudioTestsWithSourceFile.test_read_paramsc Cst|jdƒ#}|j |”}|_| |j”| ”| |j|j”Wdƒn1s,wYtt dƒ@}|j |d”}|_ | |j”|  |jj ” | ”Wdƒn1s]wY| |j|j”| ”WdƒdS1sywYdS)Nr@r5) r7rnr6rrLrKrrr2rrrHrI)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ƒn1s›wY|  |jj ”|  | ”d”WdƒdS1s¼wYdS)Nééróé’’’’r)r$r%rBr6r7rnrrrArŚrewindZsetposrHrIr")r reZchunk1Zchunk2rZpos0Zpos2r r rŚ test_reads0      ’"’z"AudioTestsWithSourceFile.test_readcCsĪ|j |j”}|_|j td”}|_| | ””d}| ”}|dkr9|d7}|  |  |””||8}|dks%|  ”|j td”}|_|  ”|  | ”| ””|  |  | ””|  | ”””dS)Nr5rrr@)r6r7rnrrrZ setparamsr#r"rErArrxr)r rrŚiŚnr r rŚ test_copy,s"ż ’z"AudioTestsWithSourceFile.test_copyc CsLttdƒ*}| d”t|jdƒ}| | ””Wdƒn1s#wYWdƒn1s2wYttdƒ`}| | d”d”|j |d”7}| | ”|j”| |  ”|j ”| |  ”|j ”| |  ”|j”| | |j”|j”Wdƒn1s‡wYWdƒdSWdƒdS1sŸwYdSrc)r7rr_rnr`rr6rr$r r%r!r&r"rqrAr'rBr<r r rŚtest_read_not_from_start=s&  ’€ž ūž"žz1AudioTestsWithSourceFile.test_read_not_from_startN) rrrŚ classmethodrprrrsryr|r}r r r rrmśs  rm) Z test.supportrZtest.support.os_helperrrrWr r+ŚFileIOrrr3rmr r r rŚs %F