3 2a-@s ddlmZddlZddlmZmZmZddlj Z ddl m Z m Z ddl mZddlZddZdd ZGd d d ZGd d d ejZGdddejZGdddejZGdddejZGdddejZGdddejZGdddejZedkrejdddS)) searchengineN) BooleanVar StringVarTclError)VarMbox)TextcCstt_tt_tt_dS)N)rserrr tkMessageBoxr r 6/opt/alt/python36/lib64/python3.6/test_searchengine.py setUpModulesr cCstt_tt_tt_dS)N)rr rr r r r r tearDownModulesrc@seZdZddZdS)MockcOsdS)Nr )selfargskwargsr r r __init__ sz Mock.__init__N)__name__ __module__ __qualname__rr r r r rsrc@seZdZddZdS)GetTestc Cs\tj}tt_zBt}tj|}|j|tj|j|j||jtj||Wd|t_XdS)N)r SearchEnginergetZassertIsInstanceZassertIsZ _searchengine)rZ saved_Enginerootenginer r r test_get$s zGetTest.test_getN)rrrrr r r r r"src@seZdZddZdS)GetLineColTestcCsH|jtjdd|jtjdd |jttjd|jttjddS) Nz1.0rz1.11 z 1.0 lineendend)rr)rr) assertEqualr Z get_line_colZ assertRaises ValueError)rr r r test_get_line_col2sz GetLineColTest.test_get_line_colN)rrrr#r r r r r0src@seZdZddZdS)GetSelectionTestcCsVt}|jdddd}||_|jtj|d dd}||_|jtj|d dS) N1.0z Hello World!cSs |dkr dS|dkrdStdS)Nz sel.firstz1.0zsel.lastz1.12)r)sr r r selLs z0GetSelectionTest.test_get_selection..sel1.12cSs|dkr dStdS)Ninsertz1.5)r)r&r r r markTsz1GetSelectionTest.test_get_selection..mark1.5)r%r()r+r+)mockTextr)indexr!r Z get_selection)rtextr'r*r r r test_get_selectionFs z#GetSelectionTest.test_get_selectionN)rrrr/r r r r r$9s r$c@seZdZddZdS)ReverseSearchTestcCs|j}d}tjd}|tj||t|jd |tj||djd |tj||djd |tj||djd |tj||dddS) NzHere is an 'is' test text.is  )r2r3)r2r3)r5r6)r5r6)r!recompiler Zsearch_reverselenspan)rEquallineprogr r r test_search_reverse^s z%ReverseSearchTest.test_search_reverseN)rrrr?r r r r r0\sr0c@s<eZdZddZddZddZddZd d Zd d Zd S)SearchEngineTestcCstjdd|_dS)N)r)r rr)rr r r setUplszSearchEngineTest.setUpcCs|j}|j}||jd|jd||jd||jd|jjd||jd||jd|jjd||jd||j d|j jd||j d||j d|j jd||j d||j d|jjd||j ddS)NhelloFrTr)rr!getpatsetpatZisrerevarsetZiscasecasevarZiswordwordvarZiswrapwrapvarZisbackbackvar)rrr<r r r test_is_getqs(      zSearchEngineTest.test_is_getcCsJ|j}|jd|j|jd|jjd|jd|j|jddS)Nz\srz\\s)rZ setcookedpatr!rDrFrG)rrr r r test_setcookedpats    z"SearchEngineTest.test_setcookedpatcCs|j}|j}||jd|jd||jd|jjd||jd|jjd|jd||jd|jjd||jddS)NrBrCTz \bhello\bFz\sz\\s)rr!Z getcookedpatrErIrGrF)rrr<r r r test_getcookedpats     z"SearchEngineTest.test_getcookedpatcCs|j}|j}|jd|j}||jtjdtjj|jj d|j}||jtjdjd|jd||jd|jd|j j d||jd|jt j j ddS)NZHellorrrB+z1Error: nothing to repeat at position 0 Pattern: +)rr!rEZgetprogpatternr8r9 IGNORECASErHrGrFr showerrormessage)rrr<Ztemppatr r r test_getprogs      zSearchEngineTest.test_getprogcCstj}|j}d}d}||jj||d||jdd|d}||j|||jj||dd||jd|d7}||j|dS)Nz[a-zz$unexpected end of regular expressionzRegular expression errorzError: z Pattern: [a-zr5z Offset: 5)rrRr!rZ report_errortitlerS)rrRr<patmsgZexpected_messager r r test_report_errors    z"SearchEngineTest.test_report_errorN) rrrrArLrMrNrTrXr r r r r@is r@c@s eZdZeddZddZdS) SearchTestcCsNt|_d}|jjd|tjd|_tjd|_dd|j_ dd|j_ dS)Nz&First line Line with target Last line z1.0targetcWsd|fS)Nfr )rr r r sz'SearchTest.setUpClass..cWsd|fS)Nbr )rr r r r\s) r,r.r)r8r9rVr rrsearch_forwardsearch_backward)cls test_textr r r setUpClasss   zSearchTest.setUpClassc Csx|j}|j}|j}|j}|j}|jjd|||ddd}||_||||d||ddddff|jjd||||d||ddddff|jjd|j jd||||d||ddddff|j jdd d }||_||||d||d d ddff||||dd||d d ddff|j jd||||d||d d ddff||||dd||d d ddffdS)NcSs|dkr dStdS)Nr)z1.5)r)r&r r r r*sz$SearchTest.test_search..markr[rr5TFr]cSs |dkr dS|dkrdStdS)Nz sel.firstz2.10zsel.lastz2.16)r)r&r r r r's z#SearchTest.test_search..sel ) r!rZ search_textr.rVZpatvarrGr-rJrK)rr<rsearchr.rVr*r'r r r test_searchs.         "  zSearchTest.test_searchN)rrr classmethodrbrgr r r r rYs rYc@s0eZdZeddZddZddZddZd S) ForwardBackwardTestcCs`tjd|_t|_dd|j_d}|jjd|tjd|_ d |_ tjd |_ tjd |_ dS) NcSsdS)Nz4.0r )r-r r r r\sz0ForwardBackwardTest.setUpClass..z&First line Line with target Last line z1.0rZrcrerdZxyzz\w*rerd)rcrj) r rrr,r.r-r)r8r9rVresfailpatemptypat)r`rar r r rb s    zForwardBackwardTest.setUpClasscsdfdd }|S)Nrcs0j|||||}|r,|d|djfS|S)Nrr)r.r;)rVr=colwrapokrk)funcrr r rf!sz/ForwardBackwardTest.make_search..search)rr )rrqrfr )rqrr make_search szForwardBackwardTest.make_searchcCs|j}|j|jj}|j}|||ddd|j|||ddd|j|||dddd|||ddd|j|||jdddd|||jddddd d |||jddd|jdS) NrrTFrcre )rprtrt)rcru)r!rrrr^rVrkrlrm)rr<ZforwardrVr r r test_search_forward'sz'ForwardBackwardTest.test_search_forwardcCs|j}|j|jj}|j}|||ddd|j|||ddd|j|||dddd|||ddd|j|||jdddd|||jdd ddd d |||jdddddS)Nrsr5TrcrFrdrtre)rprtrt)rcrwr5rt)rcrx)r!rrrr_rVrkrlrm)rr<ZbackwardrVr r r test_search_backward8sz(ForwardBackwardTest.test_search_backwardN)rrrrhrbrrrvryr r r r ris ri__main__rc) verbosity)Zidlelibrr ZunittestZtkinterrrrZtkinter.messageboxZ messageboxr Zidlelib.idle_test.mock_tkrrrr,r8r rrZTestCaserrr$r0r@rYrirmainr r r r s$    # `=C