ó
ŠV]c           @   s   d  d l  m Z d  d l Td  d l Td  d l Td  d l j j Z d e f d     YZ e	 d k r{ d  d l
 Z
 e
 j   n  d S(   iÿÿÿÿ(   t
   CythonTest(   t   *Nt   TestTreeFragmentsc           B   sG   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s/   |  j  d  } | j   } |  j d |  d  S(   Nu   x = 4(   t   fragmentt   copyt
   assertCode(   t   selft   Ft   T(    (    sE   lib/python2.7/site-packages/Cython/Compiler/Tests/TestTreeFragment.pyt
   test_basic	   s    c         C   s   |  j  d  } | j } | j   } |  j d | j d j d j j j  d | j d j d j j _ |  j d | j d j d j j j  d  S(   Nu   if True: x = 4t   xi    t   other(	   R   t   rootR   t   assertEqualt   statst
   if_clausest   bodyt   lhst   name(   R   R   t   T1t   T2(    (    sE   lib/python2.7/site-packages/Cython/Compiler/Tests/TestTreeFragment.pyt   test_copy_is_taken   s    	'c         C   s   |  j  d  j i t d d  d d  d 6 } |  j d | j d j j j  |  j d | j d j j	 j  |  j
 | j d j j | j d j j	 k	  d  S(   Nu   y + yt   posR   R
   t   yi    (   R   t
   substitutet   NameNodet   NoneR   R   t   exprt   operand1R   t   operand2t   assert_(   R   R   (    (    sE   lib/python2.7/site-packages/Cython/Compiler/Tests/TestTreeFragment.pyt   test_substitutions_are_copied   s    .  c         C   sN   |  j  d  } t d d  d d  } | j i | d 6 } |  j d |  d  S(   Nu   x = 4R   R   u   yR
   u   y = 4(   R   R   R   R   R   (   R   R   R   R   (    (    sE   lib/python2.7/site-packages/Cython/Compiler/Tests/TestTreeFragment.pyt   test_substitution   s    c         C   sX   |  j  d  } t d d   } | j i | d 6 } |  j t | j d t  |  d  S(   Nu   PASSR   t   PASSi    (   R   t   PassStatNodeR   R   R   t
   isinstanceR   (   R   R   t	   pass_statR   (    (    sE   lib/python2.7/site-packages/Cython/Compiler/Tests/TestTreeFragment.pyt   test_exprstat"   s    c         C   s}   |  j  d  } | j i t d d  d d  d 6 } | j j d j j j } | j d j j j } |  j	 | j
 | j
  d  S(   Nu.   
        x = y
        x = u * v ** w
        R   R   t   at   vi   (   R   R   R   R   R   R   t   rhsR   R   R   R   (   R   R   R   R'   R&   (    (    sE   lib/python2.7/site-packages/Cython/Compiler/Tests/TestTreeFragment.pyt   test_pos_is_transferred(   s    	%c         C   s   d t  _ |  j d  } | j d d g  } | j j } |  j t | d j t	   |  j t | d j
 t	   |  j | d j j | d j
 j k  d  S(   Ni    u-   
            TMP
            x = TMP
        t   tempsu   TMPi   (   t   TemplateTransformt   temp_name_counterR   R   R   R   R   R#   R   t   TempRefNodeR(   t   handle(   R   R   R   t   s(    (    sE   lib/python2.7/site-packages/Cython/Compiler/Tests/TestTreeFragment.pyt
   test_temps2   s    		(	   t   __name__t
   __module__R	   R   R   R    R%   R)   R0   (    (    (    sE   lib/python2.7/site-packages/Cython/Compiler/Tests/TestTreeFragment.pyR      s   						
t   __main__(   t   Cython.TestUtilsR    t   Cython.Compiler.TreeFragmentt   Cython.Compiler.Nodest   Cython.Compiler.UtilNodest   Cython.Compiler.Namingt   Compilert   NamingR   R1   t   unittestt   main(    (    (    sE   lib/python2.7/site-packages/Cython/Compiler/Tests/TestTreeFragment.pyt   <module>   s   


7