3
¬øÖh8  ã               @   sB   d dl Z d dlmZ d dlmZmZmZmZ G dd„ de jƒZ	dS )é    N)ÚShadow)ÚOptionsÚCythonScopeÚ
PyrexTypesÚErrorsc               @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )Ú
TestShadowc             C   sf   t jd ƒ}g }xF|jjƒ D ]8}|jdƒr4|jdƒr4q|dkr>qtt|ƒs|j|ƒ qW | j	|g ƒ d S )NÚ__ÚPyTypeObjectÚPyObject_TypeCheck)r	   r
   )
r   Úcreate_cython_scopeÚentriesÚkeysÚ
startswithÚendswithÚhasattrr   ÚappendÚassertEqual)ÚselfÚcython_scopeÚmissing_typesÚkey© r   úi/var/www/html/CrowdFlow/Picklecon/ble_analysis_env/lib/python3.6/site-packages/Cython/Tests/TestShadow.pyÚtest_all_types_in_shadow   s    

z#TestShadow.test_all_types_in_shadowc          	   C   sÀ   g }xªt jD ] }xšdD ]’}|| }|r\|dks6|d
kr\| j|tt ƒƒ | jd| tt ƒƒ qtt |ƒsp|j|ƒ x6tddƒD ](}d| d | }tt |ƒs||j|ƒ q|W qW qW | j|g ƒ d S )NÚ ÚuÚsÚ
Py_UNICODEÚPy_UCS4Ú
Py_ssize_tÚssize_tÚ	ptrdiff_tÚ	Py_hash_tZusize_tZp_é   é   ÚpÚ_)r   r   r   )r   r   r   r    r!   r"   )r   Ú	int_typesZassertNotInÚdirr   r   Úranger   )r   r   Zint_nameÚsignÚnameÚptrÚptr_namer   r   r   Útest_int_types_in_shadow   s$    



z#TestShadow.test_int_types_in_shadowc             C   sæ   t jd ƒ}G dd„ dƒ}||_tjƒ  g }g }xštjjƒ D ]Œ\\}}}}|dkrRq:tt	|ƒsf|j
|ƒ |j|ƒsz|j
|ƒ xJtddƒD ]<}	d|	 d | }
tt	|
ƒs®|j
|
ƒ |j|
ƒs†|j
|
ƒ q†W q:W | j|g ƒ | j|g ƒ d S )Nc               @   s   e Zd ZdZdZg ZdS )z+TestShadow.test_most_types.<locals>.ContextFé   N)Ú__name__Ú
__module__Ú__qualname__ÚcppZlanguage_levelZfuture_directivesr   r   r   r   ÚContext8   s   r4   Úobjectr#   r$   r%   r&   )r   r   Úcontextr   Zinit_threadr   Zmodifiers_and_name_to_typeÚitemsr   r   r   Zlookup_typer)   r   )r   r   r4   r   Zmissing_lookupsÚsignedZlongnessr+   Útype_r,   r-   r   r   r   Útest_most_types2   s*    







zTestShadow.test_most_typesN)r0   r1   r2   r   r.   r:   r   r   r   r   r      s   r   )
ZunittestZCythonr   ZCython.Compilerr   r   r   r   ZTestCaser   r   r   r   r   Ú<module>   s   