o
    GXîhh  ã                   @   sx   d dl mZ d dlZd dlmZ G dd„ dƒZG dd„ deƒZG dd	„ d	eƒZG d
d„ dejƒZ	e
dkr:e ¡  dS dS )é    )ÚdequeN)ÚNEVER_EQc                   @   ó   e Zd Zdd„ ZdS )Úbase_setc                 C   s
   || _ d S ©N©Úel©Úselfr   © r   ú</opt/python-3.10.19/usr/lib/python3.10/test/test_contains.pyÚ__init__   ó   
zbase_set.__init__N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      ó    r   c                   @   r   )Úmysetc                 C   s
   | j |kS r   r   r	   r   r   r   Ú__contains__   r   zmyset.__contains__N©r   r   r   r   r   r   r   r   r   
   r   r   c                   @   r   )Úseqc                 C   s   | j g| S r   r   )r
   Únr   r   r   Ú__getitem__   s   zseq.__getitem__N)r   r   r   r   r   r   r   r   r      r   r   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTestContainsc                    s´   t dƒ‰ tdƒ}tdƒ}|  d|¡ |  d|¡ |  d|¡ |  d|¡ |  t‡ fdd„¡ |  t‡ fdd„¡ |  dd¡ |  dd¡ |  d	d	¡ |  d	d¡ |  td
d„ ¡ d S )Né   r   c                      ó   dˆ v S ©Nr   r   r   ©Úar   r   Ú<lambda>   ó    z0TestContains.test_common_tests.<locals>.<lambda>c                      s   dˆ vS r   r   r   r   r   r   r      r    ÚcÚabcÚdÚ c                   S   s   d dv S )Nr"   r   r   r   r   r   r   %   r    )r   r   r   ÚassertInÚassertNotInÚassertRaisesÚ	TypeError)r
   Úbr!   r   r   r   Útest_common_tests   s   zTestContains.test_common_testsc                 C   sŽ   t dƒ}|D ]}|  ||¡ q|  d|¡ |  ||¡ t|ƒ}|D ]}|  ||¡ q!|  d|¡ |  ||¡ G dd„ dƒ}|  |ƒ |j¡ d S )Né
   é   c                   @   s"   e Zd Z	 eedƒƒZdd„ ZdS )z:TestContains.test_builtin_sequence_types.<locals>.Deviant1é   c                 S   s0   |dkr| j  d¡ | j  d¡ | j  d¡ dS )Né   é   é   r   )ÚaListÚremove©r
   Úotherr   r   r   Ú__eq__<   s
   zATestContains.test_builtin_sequence_types.<locals>.Deviant1.__eq__N)r   r   r   ÚlistÚranger1   r5   r   r   r   r   ÚDeviant15   s    r8   )r7   r%   r&   Útupler1   )r
   r   Úir8   r   r   r   Útest_builtin_sequence_types'   s   z(TestContains.test_builtin_sequence_typesc                 C   sp   t dƒdd dtf}tttjtttf}|D ]!}||ƒ}|D ]}|  	||¡ q|  
|||ƒk¡ |  
||k¡ qd S )NÚnanr   r"   )Úfloatr   r6   r9   ÚdictÚfromkeysÚsetÚ	frozensetr   r%   Z
assertTrue)r
   ÚvaluesZconstructorsÚconstructorÚ	containerÚelemr   r   r   Útest_nonreflexiveE   s   ûzTestContains.test_nonreflexivec                    sd   G dd„ dt ƒ}|ƒ }G dd„ d|ƒ}|ƒ ‰ |  d|v ¡ |  dtˆ ƒv ¡ |  t‡ fdd„¡ d S )Nc                   @   r   )z4TestContains.test_block_fallback.<locals>.ByContainsc                 S   s   dS )NFr   r3   r   r   r   r   U   s   zATestContains.test_block_fallback.<locals>.ByContains.__contains__Nr   r   r   r   r   Ú
ByContainsT   r   rG   c                   @   s   e Zd Z	 dd„ ZdZdS )z7TestContains.test_block_fallback.<locals>.BlockContainsc                 s   s    d S r   r   )r
   r   r   r   Ú__iter__c   s   €z@TestContains.test_block_fallback.<locals>.BlockContains.__iter__N)r   r   r   rH   r   r   r   r   r   ÚBlockContainsX   s    
rI   r   c                      r   )Nr   r   r   ©Zbcr   r   r   j   r    z2TestContains.test_block_fallback.<locals>.<lambda>)ÚobjectZassertFalser6   r'   r(   )r
   rG   r!   rI   r   rJ   r   Útest_block_fallbackR   s   z TestContains.test_block_fallbackN)r   r   r   r*   r;   rF   rL   r   r   r   r   r      s
    r   Ú__main__)Úcollectionsr   ZunittestZtest.supportr   r   r   r   ZTestCaser   r   Úmainr   r   r   r   Ú<module>   s    Zÿ