a
    b                     @   sV   d dl Z d dlmZmZ dd ZG dd de jZG dd deZG d	d
 d
eZdS )    N)CodeUtilityCodec                 C   s(   | d o| d   | d o$| d   fS )Nr      )strip)tup r   u/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/Cython/Compiler/Tests/TestUtilityLoad.py
strip_2tup   s    r	   c                   @   s@   e Zd ZdZdZdZeddZd ZdZ	e
jZdd Zd	d
 ZdS )TestUtilityLoaderz#
    Test loading UtilityCodes
    )ztest {{loader}} prototypeztest {{loader}} impl)zreq {{loader}} protozreq {{loader}} implLoader)loaderzTestUtilityLoader.cc                 C   sH   t | j| j}| || j t | j| j| j}| || j d S )N)r	   clsload_as_stringnameassertEqualexpectedfilenameselfgotr   r   r   test_load_as_string   s    z%TestUtilityLoader.test_load_as_stringc                 C   s   | j | j}t|j|jf}| || j |j\}t|j|jf}| || j	 | j j| j| j
d}t|j|jf}| || j | j j| j| j
d}t|j|jf}| || j d S )N)	from_file)r   loadr   r	   protoimplr   r   requiresrequiredr   Zload_cachedr   Zutilityr   r   r   r   r   	test_load   s    zTestUtilityLoader.test_loadN)__name__
__module____qualname____doc__r   r   dictcontextr   r   r   r   r   r   r   r   r   r   r   r
   	   s   
r
   c                   @   sn   e Zd ZdZejd ddejd ddfZejd ddejd ddfZ	e
jZdd Zdd	 Zd
S )TestTempitaUtilityLoaderz=
    Test loading UtilityCodes with Tempita substitution
    r   z
{{loader}}r   r   c                 C   s*   t | jj| j| jd}| || j d S )Nr$   )r	   r   r   r   r$   r   expected_tempitar   r   r   r   r   =   s    z,TestTempitaUtilityLoader.test_load_as_stringc                 C   s   | j j| j| jd}t|j|jf}| || j |j	\}t|j|jf}| || j
 | j j| j| j| jd}t|j|jf}| || j d S )Nr&   )r   r$   )r   r   r   r$   r	   r   r   r   r'   r   required_tempitar   r   r   r   r   r   A   s    z"TestTempitaUtilityLoader.test_loadN)r   r    r!   r"   r
   r   replacer'   r   r(   r   ZTempitaUtilityCoder   r   r   r   r   r   r   r%   1   s   r%   c                   @   sJ   e Zd ZdZdZdZdZdZeddZ	dZ
d	ZejZd
e_ejZejZd
S )TestCythonUtilityLoaderz)
    Test loading CythonUtilityCodes
    )Nztest {{cy_loader}} impl)Nztest CyLoader impl)Nzreq {{cy_loader}} impl)Nzreq CyLoader implZCyLoader)Z	cy_loaderZTestCyUtilityLoaderzTestCyUtilityLoader.pyxN)r   r    r!   r"   r   r'   r   r(   r#   r$   r   r   r   ZCythonUtilityCoder   r   r
   r   r%   Ztest_load_tempitar   r   r   r   r*   O   s   
r*   )	ZunittestZCython.Compilerr   r   r	   ZTestCaser
   r%   r*   r   r   r   r   <module>   s
   (