o
    ¯N i÷  ã                   @   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__Úis_pyobject© r   r   úY/home/ubuntu/.local/lib/python3.10/site-packages/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)ÚselfÚscoper   r   r   Ú
infer_type   s   zFakeNode.infer_type)r	   r
   r   ÚposÚ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ÚassertEqualÚassertFalseÚis_argÚis_deletionr   r   r   )	r   r   r   r   Úname_assÚassÚ
static_assÚarg_assÚname_delr   r   r   Útest_deepcopy   sF   
zTestGraph.test_deepcopyN)r	   r
   r   r(   r   r   r   r   r      s    r   N)Úcopyr   Úunittestr   ÚCython.Compiler.FlowControlr   r   r   r   r   r   r   r   r   r   r   r   Ú<module>   s    	