o
    DDi                     @   s`   d dl mZmZ d dlZd dlmZ d dlmZmZ d dl	m
Z
 d dlmZ G dd deZdS )	    )AnyCallableN)parse_statement)CSTNodeTestDummyIndentedBlock)	CodeRange)data_providerc                   @   s  e Zd Zeeedee fde	e
dddejedee feee fdde	e
dddejedee fejed	ee feee fddd
e	e
dddedejedee feee fddde
dddedeedeee ffdde
dddejedee fejeddfdde	e
dddejedee fededejee fedddde	e
dddejed ee fejed!ee fe fejee fe fdd"dd#e	e
dd$dfd%ed&dfd'd(Zed)d* d+ffd,eg ejf d-ed&dfd.d/ZdS )0IfTestconditionalzif conditional: pass
)   r   )r      )nodecodeparserexpected_position)orelsez if conditional: pass
else: pass
)   
   other_conditionalz=if conditional: pass
elif other_conditional: pass
else: pass
)   r   z    z(    if conditional: pass
    else: pass
N)r      )r      z!    if conditional:
        pass
)r      z# leading comment)comment)leading_linesz'# leading comment
if conditional: pass
)r   r   )r   r   z   z   )whitespace_before_colon)whitespace_before_testwhitespace_after_testr   z%if   conditional  : pass
else : pass
)r      test_atest_b)r   r   z/if test_a: pass

elif test_b: pass

else: pass
)   r   kwargsreturnc                 K   s   | j di | d S )N )validate_node)selfr#   r%   r%   T/var/www/Datamplify/venv/lib/python3.10/site-packages/libcst/_nodes/tests/test_if.py
test_valid   s   szIfTest.test_validc                   C   s(   t jt dt t  ft ddS )Nr
    )r   )cstIfNameSimpleStatementSuitePassSimpleWhitespacer%   r%   r%   r(   <lambda>   s
    zIfTest.<lambda>z0Must have at least one space after 'if' keyword.get_nodeexpected_rec                 C   s   |  || d S )N)assert_invalid)r'   r2   r3   r%   r%   r(   test_invalid   s   zIfTest.test_invalid)__name__
__module____qualname__r   r+   r,   r-   r.   r/   r   r   Elser   IndentedBlockSimpleStatementLine	EmptyLineCommentr0   r   r)   r   CSTNodestrr5   r%   r%   r%   r(   r	      s    
	
rr	   )typingr   r   libcstr+   r   libcst._nodes.tests.baser   r   libcst.metadatar   libcst.testing.utilsr   r	   r%   r%   r%   r(   <module>   s   