o
    JAfá  ã                   @   s€   	 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„ deƒZ
G dd	„ d	ejƒZed
kr>ejdd dS dS )é    )Ú
PercolatorÚ	DelegatorN)ÚrequiresZgui)ÚTextÚTkÚENDc                   @   sB   e Zd Zdd„ Zdd„ Zdd„ Zddd	„Zdd
d„Zddd„ZdS )ÚMyFilterc                 C   s   t  | d ¡ d S ©N)r   Ú__init__©Úself© r   ú8/usr/lib/python3.10/idlelib/idle_test/test_percolator.pyr
      s   zMyFilter.__init__c                 G   ó   || _ | jj|Ž  d S r	   )Úinsert_called_withÚdelegateÚinsert©r   Úargsr   r   r   r      ó   zMyFilter.insertc                 G   r   r	   )Údelete_called_withr   Údeleter   r   r   r   r      r   zMyFilter.deleteNc                 C   ó   |  ¡ }| j ||¡ d S r	   )Úupperr   r   ©r   ÚindexÚcharsÚtagsr   r   r   Úuppercase_insert   ó   zMyFilter.uppercase_insertc                 C   r   r	   )Úlowerr   r   r   r   r   r   Úlowercase_insert   r   zMyFilter.lowercase_insertc                 C   s   d S r	   r   r   r   r   r   Údont_insert   s   zMyFilter.dont_insertr	   )	Ú__name__Ú
__module__Ú__qualname__r
   r   r   r   r!   r"   r   r   r   r   r   
   s    

r   c                   @   st   e Zd Zedd„ ƒZedd„ ƒZdd„ Zdd„ Zd	d
„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚPercolatorTestc                 C   s   t ƒ | _t| jƒ| _d S r	   )r   Úrootr   Útext©Úclsr   r   r   Ú
setUpClass$   s   zPercolatorTest.setUpClassc                 C   s   | ` | j ¡  | `d S r	   )r(   r'   Zdestroyr)   r   r   r   ÚtearDownClass)   s   
zPercolatorTest.tearDownClassc                 C   s<   t | jƒ| _tƒ | _tƒ | _| j | j¡ | j | j¡ d S r	   )r   r(   Ú
percolatorr   Ú
filter_oneÚ
filter_twoÚinsertfilterr   r   r   r   ÚsetUp/   s
   zPercolatorTest.setUpc                 C   s   | j  ¡  | j dt¡ d S )Nú1.0)r-   Úcloser(   r   r   r   r   r   r   ÚtearDown6   s   
zPercolatorTest.tearDownc                 C   sJ   |   | jj¡ |  | jj| j¡ |  | jj| j¡ |  | jj| jj¡ d S r	   )ZassertIsNotNoner.   r   ÚassertEqualr-   Útopr/   Úbottomr   r   r   r   Útest_insertfilter:   s   z PercolatorTest.test_insertfilterc                 C   s¨   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-   Zremovefilterr/   r5   r6   r.   ZassertIsNoner   r0   r7   ©r   Zfilter_threer   r   r   Útest_removefilter@   s   z PercolatorTest.test_removefilterc                 C   s8   | j  dd¡ |  | j  dt¡d¡ |  | jjd¡ d S )Nr   Úfoor2   zfoo
)r   r;   N)r(   r   r5   Úgetr   ÚassertTupleEqualr.   r   r   r   r   r   Útest_insertO   s
   
ÿzPercolatorTest.test_insertc                 C   s4   | j j| j _| j dd¡ |  | j dt¡d¡ d S )Nr   ZbArr2   zBAR
)r.   r   r   r(   r5   r<   r   r   r   r   r   Útest_modify_insertU   s   z!PercolatorTest.test_modify_insertc                 C   sR   t ƒ }| j |¡ | jj| j_| jj| j_| j dd¡ |  	| j 
dt¡d¡ d S )Nr   ZBaRr2   zbar
)r   r-   r0   r/   r   r   r.   r!   r(   r5   r<   r   r9   r   r   r   Útest_modify_chain_insertZ   s   z'PercolatorTest.test_modify_chain_insertc                 C   sd   | 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 barr2   Ú
)r.   r"   r   r(   r5   r<   r   r   r   r   r   Útest_dont_insertb   s   zPercolatorTest.test_dont_insertc                 C   s(   | j  dd¡ |  | j  dd¡d¡ d S )Nr   Zhellor2   Úendzhello
)r(   r   r5   r<   r   r   r   r   Útest_without_filterj   s   z"PercolatorTest.test_without_filterc                 C   sF   | j  dd¡ | j  dd¡ |  | j  dt¡d¡ |  | jjd¡ d S )Nr   r;   r2   ú1.2zo
)r2   rE   )	r(   r   r   r5   r<   r   r=   r.   r   r   r   r   r   Útest_deleten   s   
ÿzPercolatorTest.test_deleteN)r#   r$   r%   Úclassmethodr+   r,   r1   r4   r8   r:   r>   r?   r@   rB   rD   rF   r   r   r   r   r&   "   s    

r&   Ú__main__é   )Ú	verbosity)Zidlelib.percolatorr   r   ZunittestZtest.supportr   Útkinterr   r   r   r   ZTestCaser&   r#   Úmainr   r   r   r   Ú<module>   s    Sÿ