a 9êdgáã@s~dZddlmZmZddlZddlmZedƒddlmZm Z m Z Gdd„deƒZ Gd d „d ej ƒZ ed krzejd d dS)zTest percolator, coverage 100%.é)Ú PercolatorÚ DelegatorN)ÚrequiresZgui)ÚTextÚTkÚENDc@sBeZdZdd„Zdd„Zdd„Zddd „Zdd d „Zdd d „ZdS)ÚMyFiltercCst |d¡dS©N)rÚ__init__©Úself©r ú=/usr/local/lib/python3.9/idlelib/idle_test/test_percolator.pyr szMyFilter.__init__cGs||_|jj|ŽdSr )Úinsert_called_withÚdelegateÚinsert©r Úargsr r rrszMyFilter.insertcGs||_|jj|ŽdSr )Údelete_called_withrÚdeleterr r rrszMyFilter.deleteNcCs| ¡}|j ||¡dSr )Úupperrr©r ÚindexÚcharsÚtagsr r rÚuppercase_insertszMyFilter.uppercase_insertcCs| ¡}|j ||¡dSr )Úlowerrrrr r rÚlowercase_insertszMyFilter.lowercase_insertcCsdSr r rr r rÚ dont_insertszMyFilter.dont_insert)N)N)N) Ú__name__Ú __module__Ú __qualname__r rrrrrr r r rr s   rc@steZdZedd„ƒZedd„ƒZdd„Zdd„Zd d „Zd d „Z d d„Z dd„Z dd„Z dd„Z dd„Zdd„ZdS)ÚPercolatorTestcCstƒ|_t|jƒ|_dSr )rÚrootrÚtext©Úclsr r rÚ setUpClass$szPercolatorTest.setUpClasscCs|`|j ¡|`dSr )r$r#Zdestroyr%r r rÚ tearDownClass)s zPercolatorTest.tearDownClasscCs<t|jƒ|_tƒ|_tƒ|_|j |j¡|j |j¡dSr )rr$Ú percolatorrÚ filter_oneÚ filter_twoÚ insertfilterr r r rÚsetUp/s  zPercolatorTest.setUpcCs|j ¡|j dt¡dS)Nú1.0)r)Úcloser$rrr r r rÚtearDown6s zPercolatorTest.tearDowncCsJ| |jj¡| |jj|j¡| |jj|j¡| |jj|jj¡dSr )ZassertIsNotNoner*rÚ assertEqualr)Útopr+Úbottomr r r rÚtest_insertfilter:sz PercolatorTest.test_insertfiltercCs¨tƒ}|j |j¡| |jj|j¡| |jj¡tƒ}|j  |j¡|j  |¡|j |j¡| |jj|¡| |j|j¡| |jj|jj ¡| |jj¡dSr ) rr)Z removefilterr+r1r2r*Z assertIsNonerr,r3©r Z filter_threer r rÚtest_removefilter@s z PercolatorTest.test_removefiltercCs8|j dd¡| |j dt¡d¡| |jjd¡dS)NrÚfoor.zfoo )rr7N)r$rr1ÚgetrÚassertTupleEqualr*rr r r rÚ test_insertOs  ÿzPercolatorTest.test_insertcCs4|jj|j_|j dd¡| |j dt¡d¡dS)NrZbArr.zBAR )r*rrr$r1r8rr r r rÚtest_modify_insertUs z!PercolatorTest.test_modify_insertcCsRtƒ}|j |¡|jj|j_|jj|j_|j dd¡|  |j  dt ¡d¡dS)NrZBaRr.zbar ) rr)r,r+rrr*rr$r1r8rr5r r rÚtest_modify_chain_insertZs    z'PercolatorTest.test_modify_chain_insertcCsd|jj|j_|j dd¡| |j dt¡d¡|jj|j_|j dd¡| |j dt¡d¡dS)Nrzfoo barr.Ú )r*rrr$r1r8rr r r rÚtest_dont_insertbs   zPercolatorTest.test_dont_insertcCs(|j dd¡| |j dd¡d¡dS)NrZhellor.Úendzhello )r$rr1r8r r r rÚtest_without_filterjsz"PercolatorTest.test_without_filtercCsF|j dd¡|j dd¡| |j dt¡d¡| |jjd¡dS)Nrr7r.ú1.2zo )r.rA) r$rrr1r8rr9r*rr r r rÚ test_deletens  ÿzPercolatorTest.test_deleteN)rr r!Ú classmethodr'r(r-r0r4r6r:r;r<r>r@rBr r r rr""s  r"Ú__main__é)Ú verbosity)Ú__doc__Zidlelib.percolatorrrZunittestZ test.supportrÚtkinterrrrrZTestCaser"rÚmainr r r rÚs S