o
    DDi                     @   s   d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ G dd	 d	eZd
edejfddZG dd deZdS )    )AnyN)parse_statement)CSTNodeTest)ensure_type)	CodeRange)data_providerc                   @   s  e Zd Zeeedddddeededddddejejde fe	 fde
dd	d
dedddeje
dedeje
de
ddeddddedddfdeddfddZedd dddd ddfdeddfddZdS )AssertConstructionTestTrueassert TrueNnodecodeparserexpected_position"Value should be true"#assert True, "Value should be true"lparrpar whitespace_after_assertassert(True))   r   )r        whitespace_beforewhitespace_afterr   testcommamsg'assert  True  ,  "Value should be true")r   '   kwargsreturnc                 K      | j di | d S N validate_nodeselfr%   r)   r)   X/var/www/Datamplify/venv/lib/python3.10/site-packages/libcst/_nodes/tests/test_assert.py
test_valid   s   .z!AssertConstructionTest.test_validc                   C   s   t jt dt ddS )Nr	   r   r   )cstAssertNameSimpleWhitespacer)   r)   r)   r.   <lambda>G   s    zAssertConstructionTest.<lambda>z+Must have at least one space after 'assert')get_nodeexpected_rec                   C   s   t jt dt  dS )Nr	   )r    r!   )r0   r1   r2   Commar)   r)   r)   r.   r4   Q   s    z'Cannot have trailing comma after 'test'c                 K   r'   r(   )assert_invalidr,   r)   r)   r.   test_invalidB   s   z#AssertConstructionTest.test_invalid)__name__
__module____qualname__r   r0   r1   r2   SimpleString	LeftParen
RightParenr3   r   r7   r   r/   r9   r)   r)   r)   r.   r      s`    
	-r   r   r&   c                 C   s   t t t| tjjd tjS )Nr   )r   r   r0   SimpleStatementLinebodyr1   )r   r)   r)   r.   _assert_parser[   s   rB   c                   @   s   e Zd Zeeeddeddejededej	e
dddd	eddejejde fe fd
e
dddeddeje
dedej	e
de
ddedddeddfdeddfddZdS )AssertParsingTestr	   r
   Nr   r    )r   )r!   r   r   r   r   r   r   r   r   r#   r%   r&   c                 K   r'   r(   r*   r,   r)   r)   r.   r/   b   s   0zAssertParsingTest.test_valid)r:   r;   r<   r   r0   r1   r2   rB   r=   r7   r3   r>   r?   r   r/   r)   r)   r)   r.   rC   a   sP    	/rC   )typingr   libcstr0   r   libcst._nodes.tests.baser   libcst.helpersr   libcst.metadatar   libcst.testing.utilsr   r   strr1   rB   rC   r)   r)   r)   r.   <module>   s   J