o
    IXîh@  ã                   @   s|   d dl mZ d dlZd dlZi ZddiZdddœZdddd	œZdddœZdddœZ	G d
d„ dej
ƒZedkr<e ¡  dS dS )é    )Úmapping_testsNÚoneé   é   ©r   Útwoé   é   )r   r   Úthreec                   @   s2   e Zd ZejZdd„ Zdd„ Zdd„ Zdd„ Z	d	S )
ÚUserDictTestc                 C   sê  t  ¡ }t  t¡}t  t¡}t  t¡}t  |¡}t  |¡}t  |¡}t  |¡}|  t jdddt¡ |  t  ddg¡t¡ |  t jddgddddgi¡ |  t jddgdd	d
t¡ |  t j d ¡ ¡t	¡ |  t  ¡  d ¡ ¡t	¡ |  t j d ¡ d¡t
¡ |  t  ¡  d ¡ d¡t
¡ |  | d ¡ ¡|u¡ |  | d ¡ ¡t j¡ |  | d ¡ ¡t j¡ |  t|ƒttƒ¡ |  t|ƒttƒ¡ |  t|ƒd¡ ttt||||||||g}	|	D ]}
|	D ]}|  |
|kt|
ƒt|ƒk¡ qâqÞ|  |d d¡ |  t|jd¡ t  |¡}d|d< d|d< |d= |  t|jd¡ | ¡  |  |i ¡ | ¡ }|  ||¡ t jddd}| ¡ }|  ||¡ G dd„ dt jƒ}||ƒ}| ¡ }|  ||¡ d|d< |  ||¡ |  t| ¡ ƒtt ¡ ƒ¡ |  t| ¡ ƒtt ¡ ƒ¡ |  t| ¡ ƒtt ¡ ƒ¡ | ¡ D ]}|  ||¡ |  ||v |tv ¡ |  ||v |tv ¡ qt  ¡ }| |¡ |  ||¡ | ¡ D ]&}|  | |¡|| ¡ |  | |¡t |¡¡ |  | |¡t |¡¡ qÁtdƒD ]	}t|ƒ||< qìg }|D ]}| |¡ qú| ¡ }|  t |ƒt |ƒ¡ t  ¡ }|  | !dd¡d¡ |  d|¡ |  | !dd¡d¡ t jdd}|  | "d¡d¡ |  t|j"d¡ |  | "dd¡d¡ d|d< |  | "dd¡d¡ t jdd}|  | #¡ d¡ |  t|j#¡ d S )Nr   r   r   )r   r   )r   r   ©Údictr   r   r	   )r   r
   zone two)z{'one': 1, 'two': 2}z{'two': 2, 'one': 1}r   r   r
   é*   é   )ÚxÚyc                   @   ó   e Zd Zdd„ ZdS )z)UserDictTest.test_all.<locals>.MyUserDictc                 S   s   t | ƒ d S ©N)Úprint©Úself© r   ú</opt/python-3.10.19/usr/lib/python3.10/test/test_userdict.pyÚdisplayT   s    z1UserDictTest.test_all.<locals>.MyUserDict.displayN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   Ú
MyUserDictS   ó    r   ZbarZfooé   r   )r   )r   r   )$ÚcollectionsÚUserDictÚd0Úd1Úd2ÚassertEqualÚd3ÚfromkeysÚsplitÚd4Úd5Z
assertTrueZassertIsInstanceÚstrÚreprZassertInÚlenÚassertRaisesÚKeyErrorÚ__getitem__Ú__delitem__ÚclearÚcopyZassertNotEqualÚsortedÚkeysÚitemsÚvaluesÚupdateÚgetÚrangeÚappendÚsetÚ
setdefaultÚpopÚpopitem)r   ÚuZu0Úu1Úu2ÚuuZuu0Zuu1Zuu2ÚallÚaÚbÚu3Zu2aZu2bZu2cr   Zm2Zm2aÚiÚtZikeysÚkr5   r   r   r   Útest_all   s¦   







ÿÿ

zUserDictTest.test_allc              	   C   sÔ   dD ]}|   ttjdi |di¤Ž ¡ ƒ|dfg¡ q|   ttji dd ¡ ƒdg¡ |   ttji d d ¡ ƒdg¡ |   ttjddid ¡ ƒdddifg¡ |  ttjd¡ |  ttjdd¡ |  ttjj¡ d S )	N)r   ÚotherÚiterabler   r   )r   r   )r   NrE   r   r   )r%   Úlistr    r!   r6   r.   Ú	TypeErrorÚ__init__)r   Úkwr   r   r   Ú	test_init   s    ÿÿÿÿzUserDictTest.test_initc                 C   s~   dD ]}t  ¡ }|jdi |di¤Ž |  t| ¡ ƒ|dfg¡ q|  tt  ¡ jd¡ |  tt  ¡ ji i ¡ |  tt jj¡ d S )N)r   r   rL   rM   r   r   )r    r!   r8   r%   rN   r6   r.   rO   )r   rQ   Údr   r   r   Útest_updatež   s   zUserDictTest.test_updatec           
   
   C   s¬  |   ttjdƒd¡ G dd„ dtjƒ}|dddœƒ}|   |d d¡ |   |d	 d¡ |  d|¡ |  d| ¡ ¡ |   |d d
¡ G dd„ dtjƒ}|ƒ }z|d
  W n tyk } z|   |jd¡ W Y d }~n
d }~ww |  d¡ G dd„ dtjƒ}|ƒ }z|d
  W n t	yœ } z|   |jd¡ W Y d }~n
d }~ww |  d¡ G dd„ dtjƒ}|ƒ }	z|	d
  W n t	yÎ } z|   |jd¡ W Y d }~d S d }~ww |  d¡ d S )NÚ__missing__Fc                   @   r   )z$UserDictTest.test_missing.<locals>.Dc                 S   s   dS )Nr   r   ©r   Úkeyr   r   r   rU   °   s   z0UserDictTest.test_missing.<locals>.D.__missing__N©r   r   r   rU   r   r   r   r   ÚD¯   r   rY   r   é   )r   r   r   r   r   c                   @   r   )z$UserDictTest.test_missing.<locals>.Ec                 S   s   t |ƒ‚r   )ÚRuntimeErrorrV   r   r   r   rU   ¹   s   z0UserDictTest.test_missing.<locals>.E.__missing__NrX   r   r   r   r   ÚE¸   r   r\   )r   ze[42] didn't raise RuntimeErrorc                   @   r   )z$UserDictTest.test_missing.<locals>.Fc                 S   s   dd„ | _ tj | ¡ d S )Nc                 S   s   d S r   r   )rW   r   r   r   Ú<lambda>Å   s    z?UserDictTest.test_missing.<locals>.F.__init__.<locals>.<lambda>)rU   r    r!   rP   r   r   r   r   rP   Ã   s   
z-UserDictTest.test_missing.<locals>.F.__init__N)r   r   r   rP   r   r   r   r   ÚFÂ   r   r^   zf[42] didn't raise KeyErrorc                   @   s   e Zd ZdS )z$UserDictTest.test_missing.<locals>.GN)r   r   r   r   r   r   r   ÚGÎ   s    r_   zg[42] didn't raise KeyError)
r%   Úhasattrr    r!   ZassertNotInr5   r[   ÚargsZfailr/   )
r   rY   rS   r\   ÚeÚerrr^   Úfr_   Úgr   r   r   Útest_missing§   sF   €ÿ
€ÿ
€ÿzUserDictTest.test_missingN)
r   r   r   r    r!   Z	type2testrK   rR   rT   rf   r   r   r   r   r      s    	r   Ú__main__)Útestr   Zunittestr    r"   r#   r$   r&   r)   r*   ZTestHashMappingProtocolr   r   Úmainr   r   r   r   Ú<module>   s   


 Mÿ