B
    >\d	                 @   sP   d dl Z d dlZd dlZd dlmZ dddgZejZejZG dd dejZdS )    N)checkerTestCaseskipskipIfc               @   s   e Zd ZdZdd Zeejds*dddZeejds@dd	d
Z	eejdsVdddZ
eejdsldddZeejdsdddZdS )r   Fc             O   s   t t|}tt|}|dr>|jd }|d tj	|f|| j
d|}dd |jD }t|}|jdd d |jd	d d | ||d
||ddd |jD f  |S )NZ
is_segmentr   )file_tokenswithDoctestc             S   s   g | ]}t |qS  )type).0or   r   4lib/python3.7/site-packages/pyflakes/test/harness.py
<listcomp>   s    z#TestCase.flakes.<locals>.<listcomp>c             S   s   | j S )N)__name__)tr   r   r   <lambda>   s    z!TestCase.flakes.<locals>.<lambda>)keyc             S   s   | j S )N)r   )r   r   r   r   r      s    z.for input:
%s
expected outputs:
%r
but got:
%s
c             S   s   g | ]}t |qS r   )str)r
   r   r   r   r   r   $   s    )astparsetextwrapdedentr   Zmake_tokensgetZbodypopZCheckerr   ZmessageslistsortZassertEqualjoin)selfinputZexpectedOutputskwZtreer   wZoutputsr   r   r   flakes   s    


"zTestCase.flakesassertIsNc             C   s"   ||k	r|  |pd||f  d S )Nz%r is not %r)fail)r   Zexpr1Zexpr2msgr   r   r   r"   )   s    zTestCase.assertIsassertIsInstancec             C   s$   t ||s | |pd||f  dS )z.Same as self.assertTrue(isinstance(obj, cls)).z%r is not an instance of %rN)
isinstancer#   )r   objclsr$   r   r   r   r%   /   s    
zTestCase.assertIsInstanceassertNotIsInstancec             C   s$   t ||r | |pd||f  dS )z/Same as self.assertFalse(isinstance(obj, cls)).z%r is an instance of %rN)r&   r#   )r   r'   r(   r$   r   r   r   r)   6   s    
zTestCase.assertNotIsInstanceassertInc             C   s"   ||kr|  |pd||f  dS )z"Just like self.assertTrue(a in b).z%r not found in %rN)r#   )r   member	containerr$   r   r   r   r*   =   s    zTestCase.assertInassertNotInc             C   s"   ||kr|  |pd||f  dS )z&Just like self.assertTrue(a not in b).z%r unexpectedly found in %rN)r#   )r   r+   r,   r$   r   r   r   r-   D   s    zTestCase.assertNotIn)N)N)N)N)N)r   
__module____qualname__r   r!   hasattrunittestr   r"   r%   r)   r*   r-   r   r   r   r   r      s   



)	r   r   r1   Zpyflakesr   __all__r   r   r   r   r   r   r   <module>   s   
