o
    fv                     @   sT   d dl mZ d dlT d dlT d dlT G dd deZedkr(d dlZe  dS dS )    )
CythonTest)*c                   @   sD   e Z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 )TestTreeFragmentsc                 C   s"   |  d}| }| d| d S )Nx = 4)fragmentcopy
assertCode)selfFT r   b/var/www/html/mig_web/myenv/lib/python3.10/site-packages/Cython/Compiler/Tests/TestTreeFragment.py
test_basic   s   
zTestTreeFragments.test_basicc                 C   sn   |  d}|j}| }| d|jd jd jjj d|jd jd jj_| d|jd jd jjj d S )Nzif True: x = 4xr   other)	r   rootr   assertEqualstats
if_clausesbodylhsname)r	   r
   T1T2r   r   r   test_copy_is_taken   s   
"z$TestTreeFragments.test_copy_is_takenc                 C   sr   |  ddtd ddi}| d|jd jjj | d|jd jjj | 	|jd jj|jd jju d S )Nzy + yyr   posr   r   )
r   
substituteNameNoder   r   exproperand1r   operand2
assertTrue)r	   r   r   r   r   test_substitutions_are_copied   s   &z/TestTreeFragments.test_substitutions_are_copiedc                 C   s4   |  d}td dd}|d|i}| d| d S )Nr   r   r   r   zy = 4)r   r   r   r   )r	   r
   r   r   r   r   r   test_substitution   s   
z#TestTreeFragments.test_substitutionc                 C   s>   |  d}td d}|d|i}| t|jd t| d S )NPASS)r   r   )r   PassStatNoder   r#   
isinstancer   )r	   r
   	pass_statr   r   r   r   test_exprstat!   s   

zTestTreeFragments.test_exprstatc                 C   sV   |  d}|dtd ddi}|jjd jjj}|jd jjj}| |j	|j	 d S )Nz.
        x = y
        x = u * v ** w
        var      )
r   r   r   r   r   rhsr"   r!   r   r   )r	   r
   r   r+   r,   r   r   r   test_pos_is_transferred'   s
   
z)TestTreeFragments.test_pos_is_transferredc                 C   st   dt _| d}|jdgd}|jj}| t|d jt	 | t|d j
t	 | |d jj|d j
ju  d S )Nr   z-
            TMP
            x = TMP
        TMP)tempsr-   )TemplateTransformtemp_name_counterr   r   r   r   r#   r(   r    TempRefNoder.   handle)r	   r
   r   sr   r   r   
test_temps1   s   
"zTestTreeFragments.test_tempsN)
__name__
__module____qualname__r   r   r$   r%   r*   r/   r7   r   r   r   r   r      s    
r   __main__N)	Cython.TestUtilsr   Cython.Compiler.TreeFragmentCython.Compiler.NodesCython.Compiler.UtilNodesr   r8   unittestmainr   r   r   r   <module>   s    7