a zep @sddlZddlZddlZddZddZdddDZd ddDZd ddDZd ed dd dddddeddddddddedddddddddZgdZ Gd d!d!ej Z e d"kre dS)#Ncsdfdd|DS)Nc3s |]}|jtjddVqdS)TsignedN)to_bytessys byteorder).0vwidthE/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_audioop.py rzpack..)joinr datar r r packsrcs fddtdtDS)Ncs*g|]"}tj||tjddqS)Tr)int from_bytesrr)rirr r r szunpack..r)rangelenrr rr unpacks rcCsi|]}||dddqS)r cWs t||S)N)rrr r r  rz.r rwr r r rrcCs"i|]}|dd|d>dqS)r r rr r r r rcCsi|]}|dd|d>qS)r$r r rr r r rrsEr!4gEir%r"V4gEiwr#ixV4igEiUv))abcr)r0r!)sabr")r0r#c@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?S)@ TestAudioopc CsdD]}|td|d|tt|d|ttd|dt|}|t|d|d|t|ddd|d|t|t||t||t|t||t| |tt||t| qdS)Nrrrr%r$) assertEqualaudioopmax bytearray memoryviewpacks maxvalues minvaluesdatasselfrpr r r test_max"s "zTestAudioop.test_maxc CsdD]}|td|d|tt|d|ttd|dt|}|t|d|d|t|ddd|d|t|t||t|t|f|t|t||t|t|f|tt||t|t|fqdS) Nrr)r.r/r2)r2r2r3r%)r3r2) r4r5minmaxr7r8r9r:r;r<r=r r r test_minmax.s,zTestAudioop.test_minmaxc CsdD]}|td|d|tt|d|ttd|d|tt|td|d|tt|dddddd|d|tt||t|t |qdS) Nrrrd r2r ) r4r5maxppr7r8r9rr<r:r;r>rr r r test_maxpp@s &zTestAudioop.test_maxppc Cs,dD]}|td|d|tt|d|ttd|dt|}|t|d|d|t|dd|d|t|dd|d|t|t|t||t||t|t|t||t|q|ttd d d d d |ttd d dd ddS)Nrrrr2r$r3r#iPipi`iii)r4r5avgr7r8r9r:r;r=r r r test_avgJs(zTestAudioop.test_avgc CsdD]}|td|d|tt|d|ttd|d|tt|td|d|tt|dddddd|dq|ttddd |ttd d d |ttd d d |ttddddS)NrrrrCrDrEr2r r!ifr"igr#l )r4r5avgppr7r8r9rr<rGr r r test_avgpp\s (zTestAudioop.test_avgppcCs&dD]}|td|d|tt|d|ttd|dt|}|t|td|d|jt|t|d|t|dd|jt|t |d|t | ddq|tt ddd |tt d d d |tt d d d |tt ddddS)NrrrrC9r2r )ZdeltaMr!i!Nr"i "Nr#i "N) r4r5rmsr7r8r9rZassertAlmostEqualr:r;r<r=r r r test_rmshs  zTestAudioop.test_rmsc CsdD]}|td|d|tt|d|ttd|dt|}|t|ddd|d|t|dddd|d|t|dd d d |d|t|dt||d|t|t|t||dqdS) Nrrr%rr r!rJr"r#)r4r5crossr7r8r9r;r:r=r r r test_crossxszTestAudioop.test_crossc Cs:dD]|}|tdd|d|ttt|d|ttdtd|d|tt|dtt||t|q|ttdtddd|ttdtddtdddd d d d d |ttd td d td dd ddddd |ttdtddtdddddddd dS)Nrrr $r!rh$r(r)rJr"h$r,r-r#h$r.r/)r4r5addr7r8r<rr9rGr r r test_adds. zTestAudioop.test_addc CsdD]V}dD]L}|td||d|tt||d|ttd||dq q|ttdddd|ttdddd|ttdddd|ttddd td|ttd d dtd dd d d ddd|ttd d dtd ddddddd|ttd d dtd ddddddd|ttd d d td |ttdddtdddddddd|ttdddtdddddd d!d|ttdddtdddddd d!d|ttddd td|ttd"d"dtd"dd#d$d%d d&d|ttd"d"dtd"dd'd(d)d*dd|ttd"d"dtd"dd+d,d-ddd*|ttd"d"d td"d d.d/d0ddddS)1Nr)rr r%ir.r/rr sFr%sD~r.r/r!i5ihEir)iri3ifE阺ir(rJr"iW4igEixr-iiU4igEvir,r#iyV4igEiVviiwV4igEiTviiwV4igiTv:ixV4igiUv:)r4r5biasr7r8r<r9)r>rrbr r r test_biasszTestAudioop.test_biasc Cs\dD]f}|tt|||t||ttt|||t||ttt|||t|q|ttdddtddddddd d |ttddd td dd d dddd|ttdddtdddddddd|ttdddd|ttddd td ddddddd |ttdddtddddd d!dd|ttd d dd|ttd d dtddd"d#d$d%d d&|ttd d dtddd'd(d)d*dd |ttdddd|ttdddtddd"d#d$d%d d&|ttddd td dd+d,d-d.dd&dS)/Nrr r!riiEiir)ir"iiEiir-ir#iiEiir/isEi4igEiii4igEiir&r'r`r(r%iV4igEiwir*r+rar,)r4r5lin2linr<r7r8r9rGr r r test_lin2linspzTestAudioop.test_lin2linc Cs|tdddd|ttdddd|ttdddd|tdddtdddddd d d f|tdd dtd dd ddddd f|tdddtdddddddd fdD]&}|td|dd|ddfqdS)Nr )sM(r!r )irrhrgr"i i)iiriMr#i i)iiriMrrXrErr)r4r5 adpcm2linr7r8r9rGr r r test_adpcm2lins<zTestAudioop.test_adpcm2lincCs|ttdddd|tttdddd|tttdddddD]}|tt||ddqZdD]"}|td|d|ddq~dS) Nr )rf)i#'r!r"r#)rf)rqrrXrE)rmrn)r4r5 lin2adpcmr<r7r8rGr r r test_lin2adpcms"zTestAudioop.test_lin2adpcmcCs|ttjddd|ttjddd|ttjddd|ttjddd|ttjddd|ttjddd|ttjddd|ttjddd|ttjddd|ttjddddS)NrXr i+)rr%)rY)ir)ir) assertRaises TypeErrorr5rort ValueErrorr>r r r test_invalid_adpcm_statesz$TestAudioop.test_invalid_adpcm_statecCsv|ttddd|tttddd|tttddddD]}|tt||dqTdS)Nr sՇ$*ZrrsՇ$*U)r4r5lin2alawr<r7r8rGr r r test_lin2alawszTestAudioop.test_lin2alawcsd}gd}dD]btfdd|D}|t|||tt|||tt||qttd}dD]$t|}|t||qdS)Ns$*QTUXkq)iPi0i@i@irTr%ii iiiiiirDr"r Rjrc3s|]}|d>d?VqdS)r$ Nr rxrr r r0rz,TestAudioop.test_alaw2lin..rr) r9r4r5alaw2linr7r8bytesrr|r>encodedsrcZdecodedr rr test_alaw2lin*s  zTestAudioop.test_alaw2lincCsv|ttddd|tttddd|tttddddD]}|tt||dqTdS)Nr sgrrs~)r4r5lin2ulawr<r7r8rGr r r test_lin2ulaw:szTestAudioop.test_lin2ulawcsd}gd}dD]btfdd|D}|t|||tt|||tt||qttdttdd}d D]$t|}|t||qdS) Ns(?Wjv|~)iiiAii]iiirJri_i_ii5rIr!rrc3s|]}|d>d?VqdS)r$Nr rrr r rKrz,TestAudioop.test_ulaw2lin..r_rrr) r9r4r5ulaw2linr7r8rrrrr rr test_ulaw2linEs zTestAudioop.test_ulaw2linc Cs>dD]}|td|dd|tt|dd|ttd|dd|tt||ddtt||tt||dt|q|ttdddd|ttdddtdddd d d d d |ttd d dtd dd ddddd |ttdddtdddddddd dS)Nrrr!rrXr rYrZr(r)rJr"r[r,r-r#r\r.r/)r4r5mulr7r8r<rr9rGr r r test_mulVs4zTestAudioop.test_mulc CsdD]}|td|ddddd|tt|ddddd|ttd|ddddd|td|ddddd|td|ddddd |tt||ddddd t||tt||dddddd d t|qd}td dddd|\}}td dddd|\}}|||d dD]}tt||dddd\}}d \}}td tt||D]6}tt|||||ddd|\}}||7}qt||||||q8tdd ddddddtdd ddddddtdd ddddd d!td"d d#d$d%d&d'd(d} dD]^}|tt||ddddddd | ||tt||ddddd)d*d | |q*| t tjdddddd+| t tjdddddd,dS)-Nrrr i@)r)r%rnr2)r)r%)rnrnrnrnrni>)r)rJrrss )rNr7iUiir!i iw7iisViifr"i@ ivw7i6i tVii@gr#i@ ivww7i6i tViji@grE*)r )r) r4r5ratecvr7r8r<rrr9rwrx) r>rstateZd1Zd2Zd0Zstate0drZexpectedr r r test_ratecvjsp"  ""  zTestAudioop.test_ratecvc Cs|dD]r}|td|d|tt|d|ttd|d|tt|ddd|t|dddqdS)Nrrrr r!)r4r5reverser7r8r9rGr r r test_reverseszTestAudioop.test_reversec CsdD]}t|}tdt|}t|D] }||d|||dd|<q(|t||dd||t||dddt|t|D]$}||d||||dd|<q|t||dd||tt||dd||tt||dd|qdS)Nrr!r rrX?)r<r7rrr4r5tomonor8r>rZdata1Zdata2kr r r test_tomonos    "zTestAudioop.test_tomonoc CsdD]}t|}tdt|}t|D] }||d|||dd|<q(|t||dd||t||dddt|t|D]$}||d||||dd|<q|t||dd||tt||dd||tt||dd|qdS)Nrr!r rrX)r<r7rrr4r5tostereor8rr r r test_tostereos   "zTestAudioop.test_tostereocCs|ttdtdd|tttdttdd|tttdttdd|tdttdtdddS)Nr!?rXg)r4r5Z findfactorr<r7r8rrzr r r test_findfactors  zTestAudioop.test_findfactorc Cs|ttdtdd|tttdttdd|tttdttdd|ttdtddddd|ttddddtdtdddS) Nr!)rrr r)r gf@rJr2)rr)r4r5Zfindfitr<r7r8r9rzr r r test_findfits"  *zTestAudioop.test_findfitcCsT|ttddd|tttddd|tttddddS)Nr!r r2)r4r5findmaxr<r7r8rzr r r test_findmaxszTestAudioop.test_findmaxcCsdD]}t|dddt|t|}|t||dd|tt||dd|tt||dd|t||dd|t||dd|t||dt||t||dt|qdS)Nrrr r%r!r"r#)r9r:r;r4r5 getsampler7r8)r>rrr r r test_getsampleszTestAudioop.test_getsamplec Cstdtdddddddd td dd d d ddd tdddddddd d}dD]}|td|d|tt|||||t|||t||ttt|||||ttt||||qRdS)Nr r!ri4iEgiirr%r"i4ViEgiwr#i4VxiEgivUrr)r<r9r4r5byteswapr7r8)r>Z swapped_datasrr r r test_byteswaps"zTestAudioop.test_byteswapcCs |tjtjttdddS)Nri~)rwr5errorrrrrzr r r test_negativelenszTestAudioop.test_negativelenc Csd}tD]\}}|}|tjtj||d|tjtj|||tjtj|||tjtj|||tjtj|||tjtj |||tjtj |||tjtj |||tjtj ||d|tjtj ||dd|tjtj||dd|tjtj||||tjtj||d|tjtj|||tjtj||||tjtj||ddd||tjtj|||tjtj|||tjtj|||qdS)Nrrrr ) INVALID_DATArwr5rrr6rArKrRrNrFrVrrrr]rbrrdrrr|rt)r>rrsizeZsize2r r r test_issue7673s,zTestAudioop.test_issue7673c Cs~d}d}|ttj||d|ttj|||ttj|||ttj|||ttj|||ttj|||ttj |||ttj |||ttj ||d|ttj ||dd|ttj ||dd|ttj||||ttj||d|ttj|||ttj||||ttj||dddd|ttj|||ttj|||ttj||ddS)NZabcdr!rrrr )rwrxr5rr6rArKrRrNrFrVrrrr]rbrrdrrr|rt)r>rrr r r test_strings*zTestAudioop.test_stringcCsTd}d}dD]B}|tjtj|||tjtj|||tjtj|||q dS)Nsabcdefgh)r%rr2i)rwr5rrrro)r>rrrr r r test_wrongsize,s zTestAudioop.test_wrongsizeN)"__name__ __module__ __qualname__r@rBrHrLrOrSrWr^rcrerprur{r}rrrrrrrrrrrrrrrrrr r r r r1 s>    .'  2   r1__main__)r5rZunittestrrr9r:r;r<rZTestCaser1rmainr r r r s,