U
    {±Ėh  ć                   @   s>   d dl Z d dlmZ dZeee ” ZG dd de j	Z
dS )é    N)ŚStringIOTreezā
cdef int spam                   # line 1

cdef ham():
    a = 1
    b = 2
    c = 3
    d = 4

def eggs():
    pass

cpdef bacon():
    print spam
    print 'scotch'
    print 'tea?'
    print 'or coffee?'          # line 16
c                   @   s8   e Zd Zdd Zdd Zdd Zddd	Zdd
dZdS )ŚTestStringIOTreec                 C   s   t  ” | _d S ©N)Ś
stringtreer   Śtree©Śself© r	   śA/tmp/pip-unpacked-wheel-fhl22ezh/Cython/Tests/TestStringIOTree.pyŚsetUp   s    zTestStringIOTree.setUpc                 C   s   | j  ” rtd S r   )r   Ś
allmarkersŚAssertionErrorr   r	   r	   r
   Śtest_markers   s    zTestStringIOTree.test_markersc                 C   sę   |   d” | j ” }|   d” | j ” }|   d” | ” }| j d|d | ” }| jd|d | jd|d | jd|d | ” }| jd	|d | jd
|d | jd|d |  | j ” ttdd” |  t 	” | j 
”  	” ” d S )N)é   é   é   )é   é   )é   é   é   )é   é   ©r   é   é   é	   é   é
   é   r   é   )Śwrite_linesr   Zinsertion_pointŚ
write_lineŚassertEqualr   ŚlistŚrangeŚcodeŚstripŚgetvalue)r   Zline_4_to_6_insertion_pointZline_9_to_13_insertion_pointZline_4_insertion_pointZline_9_to_12_insertion_pointZline_10_insertion_pointr	   r	   r
   Śtest_insertion"   s$    




’zTestStringIOTree.test_insertionNc                 C   s   |D ]}| j ||d qd S )Nr   )r"   )r   Zlinenosr   Ślinenor	   r	   r
   r!   ;   s    zTestStringIOTree.write_linesc                 C   s0   |d kr| j }|j |” | t| d ” d S )NŚ
)r   ŚmarkersŚappendŚwriteŚlinemap)r   r*   r   r	   r	   r
   r"   ?   s    zTestStringIOTree.write_line)N)N)Ś__name__Ś
__module__Ś__qualname__r   r   r)   r!   r"   r	   r	   r	   r
   r      s
   
r   )ZunittestZCythonr   r   r&   ŚdictŚ	enumerateŚ
splitlinesr/   ZTestCaser   r	   r	   r	   r
   Ś<module>   s   