U
    pufy                     @   s  d Z ddlZddlmZ G dd deZe Zdddd	d
ddgZddddddgZeD ]2Z	e Z
eee	e
 eD ]Ze Zee
ee qnqTe e_dej_dej_dej_e e_dej_dej_dej_e e_dej_dej_dej_e e_dej_dej_dej_G dd dejZdS )z&Some tests for the wildcard utilities.    N)wildcardc                   @   s   e Zd ZdS )obj_tN)__name__
__module____qualname__ r   r   E/tmp/pip-unpacked-wheel-bxwx4lqe/IPython/utils/tests/test_wildcard.pyr      s   r   arnaabelABELactiveZbobZbarkabbotZkateZloopZarneZvitoZluciferZkoppel
      c                   @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )Testsc              	   C   s~   t j}dddddgfdddd	d
gfdg fddgfddgfg}|D ]8\}}|  ttj|d|ddd }| || q@d S )Na*r   r
   r   r	   ?b*.?o*abbot.koppel
abbot.loopabel.koppel	abel.loop_a*_*anka__anka_*a*allFZignore_caseZshow_allroot__dict__sortsortedr   list_namespacekeysassertEqualselfnstestspatresar   r   r   	test_case3   s    zTests.test_casec              	   C   s   t j}dddddgfdddd	d
gfddgfddgfdddgfg}|D ]8\}}|  ttj|d|ddd }| || qDd S )Nr   r   r
   r   r	   r   r   r   r   r   r   _apanr   r   r   r   FTr   r   r%   r   r   r   test_case_showallB   s    
zTests.test_case_showallc              	   C   s   t j}ddddddgfddd	d
dddgfdg fdddgfdddgfg}|D ]8\}}|  ttj|d|ddd }| || qJd S )Nr   r   r
   r   r   r	   r   r   r   r   r   ABEL.koppel	ABEL.loopr   r   r   __ANKAr   r   TFr   r   r%   r   r   r   test_nocaseR   s     
 

zTests.test_nocasec              	   C   s   t j}ddddddgfddd	d
dddgfdddgfdddgfdddddgfg}|D ]@\}}|  ttj|d|ddd }|  | || qRd S )Nr   r   r
   r   r   r	   r   r   r   r   r   r/   r0   r   r-   _APANr   r   r1   r   r   Tr   r   r%   r   r   r   test_nocase_showallb   s"    
 

zTests.test_nocase_showallc              	   C   sp   ddiddid}ddgfdd	gfd
dgfg}|D ]8\}}|   ttj|d|ddd }| || q2dS )zeDictionaries should be indexed by attributes, not by keys. This was
        causing Github issue 129.Zking7      r   )azZpqr   r7   zaz.k*zaz.keyszpq.k*zpq.keysr   FTr   N)r    r!   r   r"   r#   r$   r%   r   r   r   test_dict_attributess   s    zTests.test_dict_attributesc                 C   s@   G dd dt }| }t|}d|ks,t| |d d d S )Nc                   @   s   e Zd Zdd Zdd ZdS )zTests.test_dict_dir.<locals>.Ac                 S   s   d| _ d| _d S )Nr6      )r+   b)r&   r   r   r   __init__   s    z'Tests.test_dict_dir.<locals>.A.__init__c                 S   s   |dkrt t| |S )Nr+   )AttributeErrorobject__getattribute__)r&   namer   r   r   r>      s    z/Tests.test_dict_dir.<locals>.A.__getattribute__N)r   r   r   r;   r>   r   r   r   r   A   s   r@   r+   r:   r9   )r=   r   Zdict_dirAssertionErrorr$   )r&   r@   r+   adictr   r   r   test_dict_dir   s
    	
zTests.test_dict_dirN)	r   r   r   r,   r.   r2   r4   r8   rC   r   r   r   r   r   2   s   r   )__doc__ZunittestZIPython.utilsr   r=   r   r   lqxosetattrypr-   r+   Z_aZ__ar   r3   r1   ZTestCaser   r   r   r   r   <module>   s:   