U
    {±Ëh÷  ã                   @   sn   d dl mZ d dlmZ d dlmZmZmZmZ G dd„ dƒZ	G dd„ dƒZ
G dd	„ d	ƒZG d
d„ deƒZdS )é    )Údeepcopy)ÚTestCase)ÚNameAssignmentÚStaticAssignmentÚArgumentÚNameDeletionc                   @   s   e Zd ZdZdS )ÚFakeTypeTN)Ú__name__Ú
__module__Ú__qualname__Zis_pyobject© r   r   úI/tmp/pip-unpacked-wheel-fhl22ezh/Cython/Compiler/Tests/TestFlowControl.pyr      s   r   c                   @   s"   e Zd ZdZdZeƒ Zdd„ ZdS )ÚFakeNode)zfilename.pyxé   é   Nc                 C   s   | j S ©N)Útype)ÚselfZscoper   r   r   Ú
infer_type   s    zFakeNode.infer_type)r	   r
   r   ÚposZcf_stater   r   r   r   r   r   r   r      s   r   c                   @   s   e Zd Zeƒ ZdS )Ú	FakeEntryN)r	   r
   r   r   r   r   r   r   r   r      s   r   c                   @   s   e Zd Zdd„ ZdS )Ú	TestGraphc           	      C   sš  t ƒ t ƒ  }}tƒ }|j|_t|||ƒ}t|ƒ}|  |j¡ |  |j¡ |  |j¡ |  	|j|j¡ |  
|j¡ |  
|j¡ t|ƒ}t|ƒ}|  |j¡ |  |j¡ |  |j¡ |  	|j|j¡ |  
|j¡ |  
|j¡ t|||ƒ}t|ƒ}|  |j¡ |  |j¡ |  |j¡ |  	|j|j¡ |  |j¡ |  
|j¡ t||ƒ}t|ƒ}|  |j¡ |  |j¡ |  |j¡ |  	|j|j¡ |  
|j¡ |  |j¡ d S r   )r   r   r   r   r   Ú
assertTrueÚlhsÚrhsÚentryÚassertEqualZassertFalseZis_argZis_deletionr   r   r   )	r   r   r   r   Zname_assZassZ
static_assZarg_assZname_delr   r   r   Útest_deepcopy   sF    
zTestGraph.test_deepcopyN)r	   r
   r   r   r   r   r   r   r      s   r   N)Úcopyr   Zunittestr   ZCython.Compiler.FlowControlr   r   r   r   r   r   r   r   r   r   r   r   Ú<module>   s   	