o
    DDi                     @   st   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G d
d deZdS )    )AnyN)parse_statement)CSTNodeTest)ensure_type)	CodeRange)data_providerc                   @   s  e Zd Zee ddeeeddedddeeede	edd	dejejede
 fe fd
ej	ejde
 fe fd
ededdedddedddeeedej	ededddedddejeedej	edededde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d"d d#dd$d d%dfdeddfd&d'ZdS )(RaiseConstructionTestraisenodecode	Exceptionraise Exception())   r   )r      )r   r   expected_positioncauseraise Exception() from causelparrpar whitespace_before_fromwhitespace_after_fromwhitespace_after_raiseraise(Exception())from(cause))r      r   raise Exception()from cause)r        excr   r   raise  Exception()  from  cause)r      kwargsreturnNc                 K      | j di | d S N validate_nodeselfr'   r+   r+   W/var/www/Datamplify/venv/lib/python3.10/site-packages/libcst/_nodes/tests/test_raise.py
test_valid   s   Az RaiseConstructionTest.test_validc                   C   s   t jt t ddS )Nr   )r   )cstRaiseFromNamer+   r+   r+   r0   <lambda>X   s    zRaiseConstructionTest.<lambda>z5Must have an 'exc' when specifying 'clause'. on Raise)get_nodeexpected_rec                   C   s    t jt t dt ddS )Nr   r   r   )r2   r3   Callr5   SimpleWhitespacer+   r+   r+   r0   r6   ]   s    z*Must have at least one space after 'raise'c                   C   (   t t dt jt dt ddS )Nr$   r   r   r   r2   r3   r5   r4   r:   r+   r+   r+   r0   r6   d       z*Must have at least one space before 'from'c                   C   r;   )Nr$   r   r   )r   r<   r+   r+   r+   r0   r6   n   r=   z)Must have at least one space after 'from'c                 K   r)   r*   )assert_invalidr.   r+   r+   r0   test_invalidT   s   &z"RaiseConstructionTest.test_invalid)__name__
__module____qualname__r   r2   r3   r9   r5   r   r4   	LeftParen
RightParenr:   r   r1   r?   r+   r+   r+   r0   r      s    	@%r   c                   @   s  e Zd Zee ddejeededdddejeedej	edededdeddd	dejejede
 fe fd
ej	ejde
 fe fd
ededdeddddejeedej	edededdeddddejeedej	edededdeddddfdeddfddZdS )RaiseParsingTestr	   r
   r    r   r   r   r   r   r   r   r   r    r"   r#   r%   r'   r(   Nc                 K   s   | j dddd i| d S )Nparserc                 S   s   t t| tjjd S )Nr   )r   r   r2   SimpleStatementLinebody)r   r+   r+   r0   r6      s
    
z-RaiseParsingTest.test_valid.<locals>.<lambda>r+   r,   r.   r+   r+   r0   r1   ~   s
   H
zRaiseParsingTest.test_valid)r@   rA   rB   r   r2   r3   r9   r5   r:   r4   rC   rD   r   r1   r+   r+   r+   r0   rE   }   s|    				GrE   )typingr   libcstr2   r   libcst._nodes.tests.baser   libcst.helpersr   libcst.metadatar   libcst.testing.utilsr   r   rE   r+   r+   r+   r0   <module>   s   m