U
    f»{j-9  ã                   @   s"  d dl mZ d dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
mZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ dZdZdZdZd	Zd
ZdZdZe ddddddddddddd�Z!edd„ ƒZ"e	j# $dee–dd
fedej%ej&ffedd
fedd
fed d
fed!d
fg¡d"d#„ ƒZ'dS )$é    N)	ÚFIFFÚFWDÚ_coord_frame_namedÚ_ch_kind_namedÚ_ch_unit_namedÚ_ch_unit_mul_namedÚ_ch_coil_type_namedÚ_dig_kind_namedÚ_dig_cardinal_named)Ú_read_coil_defs)Úrequires_good_networkz	mne-toolsZ(aa49e20cff5791fbaf01d77ad4ec2e0ecb69840d)ic  ig  )i­  )ÚclearÚcopyÚfromkeysÚgetÚitemsÚkeysÚpopÚpopitemÚ
setdefaultÚupdateÚvaluesZhas_keyÚ	iteritemsÚiterkeysÚ
itervaluesÚ	viewitemsÚviewkeysÚ
viewvalues© )Zbem_surf_idZcardinal_point_cardiacZ
cond_modelÚcoordZdacq_systemZdiffusion_paramZgantry_typeZmap_surfZmne_lin_projÚmne_oriZ
mri_formatZ	mri_pixelZproj_byÚtagsÚtypeÚiodZvolume_typeZvol_type)r   é   é   é   é   é   éÈ   i,  i-  i.  i/  i0  i1  iè  iÑ  iÃ  iÆ  iÍ  ZFIFFV_COIL_MAGNES_REF_MAGZFIFFV_COIL_MAGNES_REF_GRADZ"FIFFV_COIL_MAGNES_OFFDIAG_REF_GRADZFIFFV_COIL_FNIRS_CW_AMPLITUDEZFIFFV_MNE_COORD_4D_HEADZFIFFV_COORD_ISOTRAKZFIFFV_COORD_MRIZFIFFV_MNE_NOISE_COVZFIFFV_POINT_ECGZFIFF_COMMENTZFIFF_MRI_SOURCE_PATH)ZFIFFV_COIL_MAGNES_R_MAGZFIFFV_COIL_MAGNES_R_GRADZFIFFV_COIL_MAGNES_R_GRAD_OFFZFIFFV_COIL_FNIRS_RAWZFIFFV_MNE_COORD_CTF_HEADZFIFFV_MNE_COORD_KIT_HEADZFIFFV_MNE_COORD_DIGITIZERZFIFFV_MNE_COORD_SURFACE_RASZFIFFV_MNE_SENSOR_COVZFIFFV_POINT_EEGZFIFF_DESCRIPTIONZFIFF_REF_PATHc           .   
   C   sø  t | ƒ} d}t | |¡}tjdt› dt› �| |dd� tƒ }t 	|d¡�X}| 
¡ D ]H}d|krR| || ¡ | t |¡¡ t t | |¡t | |d ¡¡ qRW 5 Q R X t|ƒ}|d	d
dddddgksÈt‚ttƒ tƒ tƒ tƒ d�}ttƒ tƒ tƒ tƒ d�}d}dD �]J}tt | |¡dƒ��*}	|	D �]}
|
 d¡ ¡ }
|
 d¡�rZ|dk�sNt‚|
 ¡ d }|
 d¡�s |
 d¡�s t|
ƒdk�r„�q |
 d¡}
t|
ƒdk�s t‚t|
ƒdk�r²dn|
d }|
d  ¡ }
t|
ƒdk�sØt‚t|
ƒdk�rð|
\}}n|
\}}}|dk�st‚t|ƒ}|tk�r,||d k�s,t‚||g|d |< �q W 5 Q R X �q tt | d¡dƒ�� }	|	D ]ô}
|
 d ¡ ¡ }
|
 d¡�sh|
 d¡�sh|
 d!¡�sht|
ƒdk�r°�qh|
 d¡}
t|
ƒdk�sÐt|
ƒ‚t|
ƒdk�râdn|
d }|
d  ¡ }
t|
ƒd"k�st|
ƒ‚|
\}}}}t|ƒ}|||g}||d# k�sNt|d#  |¡|fƒ‚||d# |< �qhW 5 Q R X tt | d¡dƒ��„}	t|	ƒD �]r\}}
|
 d ¡ ¡ }
|
 d¡�s†|
 d¡�s†|
 d!¡�s†|
 d$¡�s†t|
ƒdk�rà�q†|
d%k�rî�q†|
 d¡}
t|
ƒdk�st|
ƒ‚t|
ƒd&k�rZt|
d ƒdk�rZ|
d  ¡ }| d'¡�rR| d(¡�sZt|ƒ‚t|
ƒdk�rldn|
d }|
d  ¡ }
t|
ƒd&k�sžt|d |
fƒ‚|
\}}}d)}t|ƒ}|||g}|tk�rì||d# k�sìt|d#  |¡|fƒ‚||d# |< �q†W 5 Q R X d}t  d*¡}t  d+¡}t  d,¡}t  d-¡}tƒ }d.D �]²}tt | d/|f ¡dƒ��Œ}	t|	ƒD �]z\}}
|
 d ¡ ¡ }
|dk�rt| !|
¡}| !|
¡}| !|
¡}|dk	�rê| "¡ \}}}t|ƒ}||d0 k�sØt‚||g|d0 |< nˆ|dk	�r0| #d¡} | |k�r&| | ¡ tƒ || < tƒ || < ||  }nB|dk	�rb| "¡ \}}}t|ƒ}||g|d1 |< n|
 d2¡�ràt‚nl|
d3k�r„�qfn|
d4k�r–d}�qf| !|
¡ "¡ \}}}t|ƒ}|d5k�rÔ|d&k�rÔ||k�sÔt‚||g||< �qfW 5 Q R X �q<d6t$j%t$j&f }!||!k�st‚tƒ }"d7t't$ƒk�s(t‚tt't$ƒƒD �]t}| d8¡�s4|t(k�rT�q4d}#t)t$|ƒ}||d1 k�rŽ|d1 | d |k�	s$t‚�n–| d9¡�r¬|d:k�	s$t‚�nx| d;¡�rÀd}#�nd| d<¡�rÔd0}#�nP| d=¡�rä| d>¡�rþ| d?¡�rþd@}#nÄ| d>¡�r| dA¡�rdB}#n¦| dC¡�r.dD}#n”| dE¡�sNdF|k�sN|dGk�rTdH}#nn| dI¡�rt| d8¡d  *¡ }#nN|dJk�r„dK}#n>|D ] }#| d=|# +¡  ¡�rˆ �qÂ�qˆ|t,k�rÂt-dL|f ƒ‚|#|k�sÔt|ƒ‚dM|#k�	r$t-‚n@| dN¡�	r| d8¡d  *¡ }#n | dO¡�	rd#}#n|" ||f¡ |#dk	�r4|t,k�r4|||# k�	sXtdP|#||f ƒ‚|||# k�	rœdQ|||# | f }$t. |¡||# | k�	s¨t|$ƒ‚n|||# |< �q4dR dSdT„ |"D ƒ¡}"t|"ƒdk�	sÚtdU|" ƒ‚t/| 0¡ ƒt/| 0¡ ƒk�	søt‚tt/| 0¡ ƒd1h ƒD ]º}%||% ||%  }&}'tt/|& 0¡ ƒƒt|&ƒk�
sBt‚tt/|' 0¡ ƒƒt|'ƒk�
s`t‚tt/|' 0¡ ƒt/|& 0¡ ƒ ƒ}(|(g k�
sŽt|%ƒ‚|%t1k�
rtt/|& 0¡ ƒt/|' 0¡ ƒ ƒ})|)g k�
st|%ƒ‚�
qt2ƒ }*t3 4dVdW„ |*D ƒ¡}+t3 4dXdW„ |*D ƒt¡}*|*dd…df t5j6k},|*|,df }*|+|, }+g }-|dY D ]B}%|%t7k�r0|%|*k�r0|- dZ|%  8d[¡d\ |dY |% d  ¡ �q0t|-ƒdk�s”td]d^ |-¡ ƒ‚t9|*|+ƒD ]4\}%}|%|dY k�rž|- dZ|%  8d[¡d\ | ¡ �qžt|-ƒdk�sôtd_d^ |-¡ ƒ‚dS )`zTest compensation.zfiff.zipzhttps://codeload.github.com/z/fiff-constants/zip/N)ÚurlÚpathÚfnameZ
known_hashÚrZ
DictionaryéÿÿÿÿúDictionaryIOD.txtúDictionaryIOD_MNE.txtzDictionaryStructures.txtzDictionaryTags.txtzDictionaryTags_MNE.txtzDictionaryTypes.txtzDictionaryTypes_MNE.txt)r#   r!   ÚtypesÚdefines)r/   r0   ÚrbÚlatin1z# Packing revisionú#Úaliasr   ú")r$   é   r%   r$   Ú )r8   r%   r8   )Útaggedr#   z
ISO-8859-1ú:r&   r!   Ú*)ú/*r7   r%   r=   z*/ú-z$^primitive\((.*)\)\s*(\S*)\s*"(.*)"$z^enum\((\S*)\)\s*".*"$z\s*(\S*)\s*(\S*)\s*"(.*)"$z!#define\s*(\S*)\s*(\S*)\s*"(.*)"$)r9   Z_MNEzDictionaryTypes%s.txtr1   r2   zenum(Ú{Ú}Zecgz%d.%dZFIFFV_SSS_JOB_NOTHINGÚ_ZFIFFC_)ÚFIFFC_MAJOR_VERSIONÚFIFFC_MINOR_VERSIONZFIFFC_VERSIONZFIFFB_ZFIFFT_ZFIFFV_Z
FIFFV_MNE_Z_ORIr    Z_COVZcovariance_typeZFIFFV_MNE_COORDr   Z_CHZ_QUAT_)ÚFIFFV_DIPOLE_WAVEÚFIFFV_GOODNESS_FITZFIFFV_HPI_ERRZFIFFV_HPI_GZFIFFV_HPI_MOVZch_typeZFIFFV_SUBJ_)ZFIFFV_POINT_LPAZFIFFV_POINT_NASIONZFIFFV_POINT_RPAZFIFFV_POINT_INIONZcardinal_pointzCould not find %sZSSSZ	FIFF_UNITZFIFF_z
%s: %s, %sz
%s='%s'  ?z
	c                 s   s   | ]}d | V  qdS )z%s (%s)Nr   )Ú.0Úur   r   úZ/var/www/html/bwave/python/venv/lib/python3.8/site-packages/mne/io/tests/test_constants.pyÚ	<genexpr>%  s     z!test_constants.<locals>.<genexpr>zUnknown types
	%sc                 S   s   g | ]}|d  ‘qS )Údescr   ©rF   Úcr   r   rH   Ú
<listcomp>7  s     z"test_constants.<locals>.<listcomp>c                 S   s   g | ]}|d  |d f‘qS )Z	coil_typeZaccuracyr   rK   r   r   rH   rM   8  s   ÿZcoilz    %s,é
   z  # z+
In fiff-constants, missing from coil_def:
Ú
z+In coil_def, missing  from fiff-constants:
):ÚstrÚopÚjoinÚpoochÚretrieveÚREPOÚCOMMITÚlistÚzipfileÚZipFileÚnamelistÚextractÚappendÚbasenameÚshutilÚmoveÚsortedÚAssertionErrorÚdictÚopenÚdecodeÚstripÚ
startswithÚsplitÚlenÚintÚiod_dupsr   Ú	enumerateÚendswithÚtag_dupsÚreÚcompileÚmatchÚgroupsÚgroupr   rB   rC   ÚdirÚ_dir_ignore_namesÚgetattrÚlowerÚupperÚ_tag_ignore_namesÚRuntimeErrorÚ_aliasesÚsetr   Ú_ignore_incomplete_enumsr   ÚnpÚarrayr   ZCOIL_ACCURACY_ACCURATEÚ_missing_coil_defÚljustÚzip).Ztmp_pathr,   ÚdestÚnamesÚffÚnameÚfifÚconZfiff_versionZfidÚlinerJ   ÚkindZid_r:   ZdtypeÚunitÚvalZliÚl2Zin_Zre_primZre_enumZre_enum_entryZre_defiZ
used_enumsÚextraÚpÚeÚdÚtÚsZ	this_enumZmne_versionZunknownsÚcheckÚmsgÚkeyZthis_fifZthis_conZmissing_from_conZmissing_from_fifZcoil_defZ	coil_descÚmaskZbad_listr   r   rH   Útest_constantsQ   sà   ûÿ  ý



ÿ



"ÿ
ÿ

$ÿÿ
þ

  


$





ÿÿ














ÿ
ÿ



 "

ÿ
ÿÿÿÿ
ÿ ÿr—   zdict_, match, extrasZFIFFV_POINT_z^FIFFV_.*_CH$ZFIFFV_COORD_Z
FIFF_UNIT_ZFIFF_UNITM_ZFIFFV_COIL_c                    sP   t  |¡‰ t‡ fdd„tD ƒƒ}|D ]}| |¡ q$t| ƒ}||ksLt|ƒ‚dS )zTest readable dict completions.c                 3   s$   | ]}ˆ   |¡d k	rt| V  qd S )N)Úsearchr   )rF   r•   ©Úregexr   rH   rI   X  s      z'test_dict_completion.<locals>.<genexpr>N)rn   ro   r{   r   Úaddra   )Zdict_rp   ÚextrasÚgotr�   Zwantr   r™   rH   Útest_dict_completionL  s    
rž   )(Úos.pathr+   rQ   rn   r^   rX   Únumpyr}   rS   ZpytestZmne.io.constantsr   r   r   r   r   r   r   r	   r
   Zmne.forward._make_forwardr   Z	mne.utilsr   rU   rV   rj   rm   rt   rx   r|   r   rb   rz   r—   ÚmarkZparametrizerD   rE   rž   r   r   r   rH   Ú<module>   sZ   ,ô
 {
ÿù	