U
    e»{j  ã                   @   s~   d Z ddlZddlmZ dejidejfdejidejej fejejdœdejejej	d  ej  fgZ
G d	d
„ d
ƒZdS )z%Test setting and adding unit aliases.é    NÚ	AngstromsÚcountszcounts/s)Zergsr   zergs/(s cm**2 Angstroms)é   c                   @   s€   e Zd Zdd„ Zdd„ Zej ddddd	d
g¡ej de¡dd„ ƒƒZ	ej de¡dd„ ƒZ
dd„ Zdd„ Zdd„ Zdd„ ZdS )ÚTestAliasesc                 C   s   t  i ¡ d S ©N)ÚuÚset_enabled_aliases©Úself© r   ú_/var/www/html/bwave/python/venv/lib/python3.8/site-packages/astropy/units/tests/test_aliases.pyÚteardown_method   s    zTestAliases.teardown_methodc                 C   s   t  ¡ ji kst‚d S r   )r   Úget_current_unit_registryÚaliasesÚAssertionErrorr	   r   r   r   Úteardown_class   s    zTestAliases.teardown_classÚformat_NZfitsZogipZvounitÚcdszaliases,bad,unitc              	   C   sŒ   |dkr|  dd¡  dd¡}t |¡�* t ¡ j|ks:t‚t |¡|ksLt‚W 5 Q R X t ¡ ji ksht‚t t	¡� t |¡ W 5 Q R X d S )Nr   ú Ú.z**Ú )
Úreplacer   r   r   r   r   ÚUnitÚpytestÚraisesÚ
ValueError)r
   r   ÚbadÚunitr   r   r   r   Ú(test_set_enabled_aliases_context_manager   s    z4TestAliases.test_set_enabled_aliases_context_managerc              	   C   sp   t  |¡�* t  ¡ j|kst‚t  |¡|ks0t‚W 5 Q R X t  ¡ ji ksLt‚t t¡� t  |¡ W 5 Q R X d S r   )	r   Úadd_enabled_aliasesr   r   r   r   r   r   r   )r
   r   r   r   r   r   r   Ú(test_add_enabled_aliases_context_manager'   s    z4TestAliases.test_add_enabled_aliases_context_managerc                 C   sž   t tƒD ]�\}\}}}t |¡ t ¡ j|ks2t‚t |¡|ksDt‚tD ]N\}}}||ksb||krvt |¡|ks–t‚qHt 	t
¡� t |¡ W 5 Q R X qHqd S r   )Ú	enumerateÚtrialsr   r   r   r   r   r   r   r   r   )r
   Úir   r   r   Ú_Úbad2Úunit2r   r   r   Útest_set_enabled_aliases1   s    
z$TestAliases.test_set_enabled_aliasesc           
      C   s¬   i }t tƒD ]š\}\}}}t |¡ | |¡ t ¡ j|ks@t‚t |¡|ksRt‚t tƒD ]J\}\}}}	||kr„t |¡|	ks¤t‚qZt	 
t¡� t |¡ W 5 Q R X qZqd S r   )r!   r"   r   r   Úupdater   r   r   r   r   r   r   )
r
   Zexpected_aliasesr#   r   r   r   Újr$   r%   r&   r   r   r   Útest_add_enabled_aliases@   s    

z$TestAliases.test_add_enabled_aliasesc              	   C   s8   t jtdd��  t dt dtj ¡i¡ W 5 Q R X d S )Nzalready means©ÚmatchZpctgê-�™—q=)r   r   r   r   r   r   Úcountr	   r   r   r   Útest_cannot_alias_existing_unitQ   s    z+TestAliases.test_cannot_alias_existing_unitc              	   C   s>   t  dt ji¡ tjtdd�� t  dt ji¡ W 5 Q R X d S )Nr   zalready is an aliasr+   )r   r   r-   r   r   r   r   Zadur	   r   r   r   Ú0test_cannot_alias_existing_alias_to_another_unitU   s    z<TestAliases.test_cannot_alias_existing_alias_to_another_unit)Ú__name__Ú
__module__Ú__qualname__r   r   r   ÚmarkZparametrizer"   r   r    r'   r*   r.   r/   r   r   r   r   r      s   
	r   )Ú__doc__r   Zastropy.unitsZunitsr   ZAAr-   ÚsZergÚcmr"   r   r   r   r   r   Ú<module>   s   ýý