<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
ง fแ  ใ               @   s~   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 deZG d	d
 d
ejZedkrzejdd dS )zTest percolator, coverage 100%.้    )ฺ
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 j| d  d S )N)r   ฺ__init__)ฺselfฉ r   ๚F/opt/alt/python36/lib64/python3.6/idlelib/idle_test/test_percolator.pyr	      s    zMyFilter.__init__c             G   s   || _ | jj|  d S )N)ฺinsert_called_withฺdelegateฺinsert)r
   ฺargsr   r   r   r      s    zMyFilter.insertc             G   s   || _ | jj|  d S )N)ฺdelete_called_withr   ฺdelete)r
   r   r   r   r   r      s    zMyFilter.deleteNc             C   s   |j  }| jj|| d S )N)ฺupperr   r   )r
   ฺindexฺcharsฺtagsr   r   r   ฺuppercase_insert   s    zMyFilter.uppercase_insertc             C   s   |j  }| jj|| d S )N)ฺlowerr   r   )r
   r   r   r   r   r   r   ฺlowercase_insert   s    zMyFilter.lowercase_insertc             C   s   d S )Nr   )r
   r   r   r   r   r   r   ฺdont_insert   s    zMyFilter.dont_insert)N)N)N)	ฺ__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 )N)r   ฺrootr   ฺtext)ฺclsr   r   r   ฺ
setUpClass$   s    zPercolatorTest.setUpClassc             C   s   | ` | jj  | `d S )N)r    r   Zdestroy)r!   r   r   r   ฺtearDownClass)   s    
zPercolatorTest.tearDownClassc             C   s<   t | j| _t | _t | _| jj| j | jj| j d S )N)r   r    ฺ
percolatorr   ฺ
filter_oneฺ
filter_twoฺinsertfilter)r
   r   r   r   ฺsetUp/   s
    zPercolatorTest.setUpc             C   s   | j j  | jjdt d S )Nz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| jj| jj d S )N)ZassertIsNotNoner%   r   ฺassertEqualr$   ฺtopr&   ฺbottom)r
   r   r   r   ฺtest_insertfilter:   s    z PercolatorTest.test_insertfilterc             C   sจ   t  }| jj| j | j| jj| j | j| jj t  }| jj	| j | jj	| | jj| j | j| jj| | j|j| j | j| jj| jj
 | j| jj d S )N)r   r$   Zremovefilterr&   r+   r,   r%   ZassertIsNoner   r'   r-   )r
   ฺfilter_threer   r   r   ฺtest_removefilter@   s    z PercolatorTest.test_removefilterc             C   s8   | j jdd | j| j jdtd | j| jjd d S )Nr   ฺfooz1.0zfoo
)r   r1   N)r    r   r+   ฺgetr   ฺassertTupleEqualr%   r   )r
   r   r   r   ฺtest_insertO   s    
zPercolatorTest.test_insertc             C   s4   | j j| j _| jjdd | j| jjdtd d S )Nr   ZbArz1.0zBAR
)r%   r   r   r    r+   r2   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_| jjdd | j	| jj
dtd d S )Nr   ZBaRz1.0zbar
)r   r$   r'   r&   r   r   r%   r   r    r+   r2   r   )r
   r/   r   r   r   ฺtest_modify_chain_insertZ   s    z'PercolatorTest.test_modify_chain_insertc             C   sd   | j j| j _| jjdd | j| jjdtd | j j| j _| jjdd | j| jjdtd d S )Nr   zfoo barz1.0ฺ
)r%   r   r   r    r+   r2   r   )r
   r   r   r   ฺtest_dont_insertb   s    zPercolatorTest.test_dont_insertc             C   s(   | j jdd | j| j jddd d S )Nr   Zhelloz1.0ฺendzhello
)r    r   r+   r2   )r
   r   r   r   ฺtest_without_filterj   s    z"PercolatorTest.test_without_filterc             C   sF   | j jdd | j jdd | j| j jdtd | j| jjd d S )Nr   r1   ๚1.0๚1.2zo
)r;   r<   )	r    r   r   r+   r2   r   r3   r%   r   )r
   r   r   r   ฺtest_deleten   s
    
zPercolatorTest.test_deleteN)r   r   r   ฺclassmethodr"   r#   r(   r*   r.   r0   r4   r5   r6   r8   r:   r=   r   r   r   r   r   "   s   r   ฺ__main__้   )ฺ	verbosity)ฺ__doc__Zidlelib.percolatorr   r   ZunittestZtest.supportr   Ztkinterr   r   r   r   ZTestCaser   r   ฺmainr   r   r   r   ฺ<module>   s   S