U
    Ø’É]é  ã                   @   sF   d Z ddlZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZdS )	z!Resolution ordering utility testsé    Nc                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTest__mergeOrderingsc                 C   s   ddl m} ||ƒS )Nr   )Ú_mergeOrderings)Úzope.interface.ror   )ÚselfZ	orderingsr   © r   ú>/usr/lib/python3/dist-packages/zope/interface/tests/test_ro.pyÚ_callFUT   s    zTest__mergeOrderings._callFUTc                 C   s   |   |  g ¡g ¡ d S )N©ÚassertEqualr   ©r   r   r   r   Ú
test_empty   s    zTest__mergeOrderings.test_emptyc                 C   s"   |   |  dddg¡dddg¡ d S )NÚaÚbÚcr	   r   r   r   r   Útest_single   s    z Test__mergeOrderings.test_singlec                 C   s$   |   |  dgddgg¡ddg¡ d S )Nr   r   r	   r   r   r   r   Útest_w_duplicates   s    z&Test__mergeOrderings.test_w_duplicatesc              
   C   sN   dddg}ddg}dddg}dg}|   |  ||||g¡dddddddg¡ d S )NÚxÚyÚzÚqé   é   é   r	   )r   ZO1ZO2ZO3ZO4r   r   r   Ú%test_suffix_across_multiple_duplicats!   s    

ÿz:Test__mergeOrderings.test_suffix_across_multiple_duplicatsN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r      s
   r   c                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTest__flattenc                 C   s   ddl m} ||ƒS )Nr   )Ú_flatten)r   r   )r   Úobr   r   r   r   r   ,   s    zTest__flatten._callFUTc                 C   s4   G dd„ dt ƒ}|ƒ }d|_|  |  |¡|g¡ d S )Nc                   @   s   e Zd ZdS )z-Test__flatten.test_w_empty_bases.<locals>.FooN©r   r   r   r   r   r   r   ÚFoo1   s   r!   r   ©ÚobjectÚ	__bases__r
   r   ©r   r!   Zfoor   r   r   Útest_w_empty_bases0   s    z Test__flatten.test_w_empty_basesc                 C   s*   G dd„ dt ƒ}|  |  |¡|t g¡ d S )Nc                   @   s   e Zd ZdS )z-Test__flatten.test_w_single_base.<locals>.FooNr    r   r   r   r   r!   8   s   r!   ©r#   r
   r   ©r   r!   r   r   r   Útest_w_single_base7   s    z Test__flatten.test_w_single_basec                 C   s<   G dd„ dt ƒ}G dd„ d|ƒ}|  |  |¡||t g¡ d S )Nc                   @   s   e Zd ZdS )z'Test__flatten.test_w_bases.<locals>.FooNr    r   r   r   r   r!   =   s   r!   c                   @   s   e Zd ZdS )z'Test__flatten.test_w_bases.<locals>.BarNr    r   r   r   r   ÚBar?   s   r*   r'   ©r   r!   r*   r   r   r   Útest_w_bases<   s    zTest__flatten.test_w_basesc              
   C   sf   G dd„ dt ƒ}G dd„ d|ƒ}G dd„ d|ƒ}G dd„ d||ƒ}|  |  |¡|||t ||t g¡ d S )	Nc                   @   s   e Zd ZdS )z)Test__flatten.test_w_diamond.<locals>.FooNr    r   r   r   r   r!   D   s   r!   c                   @   s   e Zd ZdS )z)Test__flatten.test_w_diamond.<locals>.BarNr    r   r   r   r   r*   F   s   r*   c                   @   s   e Zd ZdS )z)Test__flatten.test_w_diamond.<locals>.BazNr    r   r   r   r   ÚBazH   s   r-   c                   @   s   e Zd ZdS )z)Test__flatten.test_w_diamond.<locals>.QuxNr    r   r   r   r   ÚQuxJ   s   r.   r'   ©r   r!   r*   r-   r.   r   r   r   Útest_w_diamondC   s    ÿzTest__flatten.test_w_diamondN©r   r   r   r   r&   r)   r,   r0   r   r   r   r   r   *   s
   r   c                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTest_roc                 C   s   ddl m} ||ƒS )Nr   )Úro)r   r3   )r   r   r3   r   r   r   r   R   s    zTest_ro._callFUTc                 C   s4   G dd„ dt ƒ}|ƒ }d|_|  |  |¡|g¡ d S )Nc                   @   s   e Zd ZdS )z'Test_ro.test_w_empty_bases.<locals>.FooNr    r   r   r   r   r!   W   s   r!   r   r"   r%   r   r   r   r&   V   s    zTest_ro.test_w_empty_basesc                 C   s*   G dd„ dt ƒ}|  |  |¡|t g¡ d S )Nc                   @   s   e Zd ZdS )z'Test_ro.test_w_single_base.<locals>.FooNr    r   r   r   r   r!   ^   s   r!   r'   r(   r   r   r   r)   ]   s    zTest_ro.test_w_single_basec                 C   s<   G dd„ dt ƒ}G dd„ d|ƒ}|  |  |¡||t g¡ d S )Nc                   @   s   e Zd ZdS )z!Test_ro.test_w_bases.<locals>.FooNr    r   r   r   r   r!   c   s   r!   c                   @   s   e Zd ZdS )z!Test_ro.test_w_bases.<locals>.BarNr    r   r   r   r   r*   e   s   r*   r'   r+   r   r   r   r,   b   s    zTest_ro.test_w_basesc                 C   sb   G dd„ dt ƒ}G dd„ d|ƒ}G dd„ d|ƒ}G dd„ d||ƒ}|  |  |¡||||t g¡ d S )	Nc                   @   s   e Zd ZdS )z#Test_ro.test_w_diamond.<locals>.FooNr    r   r   r   r   r!   j   s   r!   c                   @   s   e Zd ZdS )z#Test_ro.test_w_diamond.<locals>.BarNr    r   r   r   r   r*   l   s   r*   c                   @   s   e Zd ZdS )z#Test_ro.test_w_diamond.<locals>.BazNr    r   r   r   r   r-   n   s   r-   c                   @   s   e Zd ZdS )z#Test_ro.test_w_diamond.<locals>.QuxNr    r   r   r   r   r.   p   s   r.   r'   r/   r   r   r   r0   i   s    ÿzTest_ro.test_w_diamondNr1   r   r   r   r   r2   P   s
   r2   )Ú__doc__ZunittestZTestCaser   r   r2   r   r   r   r   Ú<module>   s   &