
    ch                         d Z ddlmZmZ ddlZddlmZ  ed           ddlmZm	Z	m
Z
  G d de          Z G d	 d
ej                  Zedk    r ej        d           dS dS )zTest percolator, coverage 100%.    )
Percolator	DelegatorN)requiresgui)TextTkENDc                   8    e Zd Zd Zd Zd ZddZddZddZdS )	MyFilterc                 0    t          j        | d            d S N)r   __init__selfs    3  /home/conda/feedstock_root/build_artifacts/python-split_1761172146731/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.11/idlelib/idle_test/test_percolator.pyr   zMyFilter.__init__   s    4&&&&&    c                 2    || _          | j        j        |  d S r   )insert_called_withdelegateinsertr   argss     r   r   zMyFilter.insert   "    "&d####r   c                 2    || _          | j        j        |  d S r   )delete_called_withr   deleter   s     r   r   zMyFilter.delete   r   r   Nc                 d    |                                 }| j                            ||           d S r   )upperr   r   r   indexcharstagss       r   uppercase_insertzMyFilter.uppercase_insert   -    UE*****r   c                 d    |                                 }| j                            ||           d S r   )lowerr   r   r   s       r   lowercase_insertzMyFilter.lowercase_insert   r$   r   c                     d S r    r   s       r   dont_insertzMyFilter.dont_insert   s    r   r   )	__name__
__module____qualname__r   r   r   r#   r'   r*   r)   r   r   r   r   
   s}        ' ' '$ $ $$ $ $+ + + ++ + + +     r   r   c                   v    e Zd Zed             Zed             Zd Zd Zd Zd Z	d Z
d Zd	 Zd
 Zd Zd ZdS )PercolatorTestc                 ^    t                      | _        t          | j                  | _        d S r   )r   rootr   textclss    r   
setUpClasszPercolatorTest.setUpClass$   s     44>>r   c                 @    | ` | j                                         | `d S r   )r2   r1   destroyr3   s    r   tearDownClasszPercolatorTest.tearDownClass)   s$    HHHHr   c                     t          | j                  | _        t                      | _        t                      | _        | j                            | j                   | j                            | j                   d S r   )r   r2   
percolatorr   
filter_one
filter_twoinsertfilterr   s    r   setUpzPercolatorTest.setUp/   s_    $TY//"**"**$$T_555$$T_55555r   c                 x    | j                                          | j                            dt                     d S )N1.0)r:   closer2   r   r	   r   s    r   tearDownzPercolatorTest.tearDown6   s4    	$$$$$r   c                 ,   |                      | j        j                   |                     | j        j        | j                   |                     | j        j        | j                   |                     | j        j        | j        j                   d S r   )assertIsNotNoner;   r   assertEqualr:   topr<   bottomr   s    r   test_insertfilterz PercolatorTest.test_insertfilter:   s{    T_5666,do>>>14?CCC14?3IJJJJJr   c                    t                      }| j                            | j                   |                     | j        j        | j                   |                     | j        j                   t                      }| j        	                    | j                   | j        	                    |           | j                            | j                   |                     | j        j        |           |                     |j        | j                   |                     | j        j        | j        j
                   |                     | j        j                   d S r   )r   r:   removefilterr<   rE   rF   r;   assertIsNoner   r=   rG   r   filter_threes     r   test_removefilterz PercolatorTest.test_removefilter@   s   zz$$T_555,do>>>$/2333zz$$T_555$$\222$$T_555,l;;;.@@@14?3IJJJ$/233333r   c                     | j                             dd           |                     | j                             dt                    d           |                     | j        j        d           d S )Nr   foor@   zfoo
)r   rP   N)r2   r   rE   getr	   assertTupleEqualr;   r   r   s    r   test_insertzPercolatorTest.test_insertO   sl    	5)))uc22G<<<do@5	7 	7 	7 	7 	7r   c                     | j         j        | j         _        | j                            dd           |                     | j                            dt                    d           d S )Nr   bArr@   zBAR
)r;   r#   r   r2   rE   rQ   r	   r   s    r   test_modify_insertz!PercolatorTest.test_modify_insertU   sU    !%!A	5)))uc22G<<<<<r   c                 L   t                      }| j                            |           | j        j        | j        _        | j        j        | j        _        | j                            dd           | 	                    | j        
                    dt                    d           d S )Nr   BaRr@   zbar
)r   r:   r=   r<   r#   r   r;   r'   r2   rE   rQ   r	   rL   s     r   test_modify_chain_insertz'PercolatorTest.test_modify_chain_insertZ   s    zz$$\222!%!A!%!A	5)))uc22G<<<<<r   c                    | j         j        | j         _        | j                            dd           |                     | j                            dt                    d           | j         j        | j         _        | j                            dd           |                     | j                            dt                    d           d S )Nr   zfoo barr@   
)r;   r*   r   r2   rE   rQ   r	   r   s    r   test_dont_insertzPercolatorTest.test_dont_insertb   s    !%!<	9---uc22D999!%!<	9---uc22D99999r   c                     | j                             dd           |                     | j                             dd          d           d S )Nr   hellor@   endzhello
)r2   r   rE   rQ   r   s    r   test_without_filterz"PercolatorTest.test_without_filterj   sF    	7+++ue44i@@@@@r   c                    | j                             dd           | j                             dd           |                     | j                             dt
                    d           |                     | j        j        d           d S )Nr   rP   r@   1.2zo
)r@   rb   )	r2   r   r   rE   rQ   r	   rR   r;   r   r   s    r   test_deletezPercolatorTest.test_deleten   s    	5)))	&&&uc22E:::do@,	. 	. 	. 	. 	.r   N)r+   r,   r-   classmethodr5   r8   r>   rB   rH   rN   rS   rV   rY   r\   r`   rc   r)   r   r   r/   r/   "   s        " " ["   [
6 6 6% % %K K K4 4 47 7 7= = =
= = =: : :A A A. . . . .r   r/   __main__   )	verbosity)__doc__idlelib.percolatorr   r   unittesttest.supportr   tkinterr   r   r	   r   TestCaser/   r+   mainr)   r   r   <module>ro      s    ! ! 4 4 4 4 4 4 4 4  ! ! ! ! ! !  ! ! ! ! ! ! ! ! ! !    y   0Q. Q. Q. Q. Q.X& Q. Q. Q.f zHMA r   