o
    HXīhĀ6  ć                   @   sR   d dl Zd dlZd dlZd dlZd dlZG dd dejZedkr'e 	”  dS dS )é    Nc                   @   s   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!S )"ŚDictSetTestc                 C   sv   t i  ” }|  t|i ” |  t|” t i  ” }|  t|i ” |  t|” t i  ” }|  t|i ” |  t|” d S ©N)ŚtypeŚkeysŚassertRaisesŚ	TypeErrorŚitemsŚvalues)ŚselfZktŚitZvt© r   ś=/opt/python-3.10.19/usr/lib/python3.10/test/test_dictviews.pyŚtest_constructors_not_callable	   s   z*DictSetTest.test_constructors_not_callablec                 C   s   ddd}|  ” }|  t|d” |  t|ddh” |  |ddh” |  |h d£” |  |ddh” |  |dh” |  |d	” |  d|” |  d|” |  d|” |  d
|” |  |  ” |  ” ” ddd}|  |  ” |  ” ” |d= |  |  ” |  ” ” d S )Né
   ŚABC©é   Śaé   r   r   >   r   r   Śbr   é*   ŚZé   Śdef)r   ŚassertEqualŚlenŚsetŚassertNotEqualŚassertInŚassertNotIn)r
   Śdr   Śer   r   r   Śtest_dict_keys   s$   

zDictSetTest.test_dict_keysc                 C   s$  ddd}|  ” }|  t|d” |  t|ddh” |  |ddh” |  |h d£” |  |ddh” |  |dh” |  |d	” |  d|” |  d|” |  d
|” |  d|” |  d|” |  d|” |  d|” |  |  ” |  ” ” | ” }|  |  ” |  ” ” d|d< |  |  ” |  ” ” d S )Nr   r   r   r   ©r   r   ©r   r   >   r$   Zjunkr#   )r   r   r   )r   r   r   r   )r   )r   r   é   r   r   )r   r   r   r   r   r   r   Ścopy)r
   r    r   r!   r   r   r   Śtest_dict_items(   s*   
zDictSetTest.test_dict_itemsc                 C   s@   ddd}ddd}|   | ” | ” ” |  | ” | ” ” d S )Nr   é   ))r   r   )r   r   r   r   ©r   r   )r   r   r   r   )r
   r    r!   r   r   r   Śtest_dict_mixed_keys_items?   s   

z&DictSetTest.test_dict_mixed_keys_itemsc                 C   s:   ddd}|  ” }|  t|ddh” |  t|d” d S )Nr   r   r   r   )r	   r   r   r   )r
   r    r	   r   r   r   Śtest_dict_valuesE   s   
zDictSetTest.test_dict_valuesc                 C   sØ   ddd}|   t|t” t| ” }|   |t” |  |dkp"|dk” t| ” }|   |t” |  |dkp9|dk” t| ” }|   |t” |  |dkpP|d	k” d S )
Nr   r   r   z#dict_items([('a', 'ABC'), (1, 10)])z#dict_items([(1, 10), ('a', 'ABC')])zdict_keys(['a', 1])zdict_keys([1, 'a'])zdict_values(['ABC', 10])zdict_values([10, 'ABC']))ŚassertIsInstanceŚreprŚstrr   Ś
assertTruer   r	   ©r
   r    Śrr   r   r   Śtest_dict_reprK   s"   
’’’zDictSetTest.test_dict_reprc                    s“  ddd}ddd}ddd}d	di}G  fd
ddt  |  | ” | ” @ ddh” |  | ” | ” @ dh” |  | ” | ” @ t  ” |  | ” t | ” @ ddh” |  | ” t | ” @ dh” |  | ” t | ” @ t  ” |  | ” t| ” @ ddh” |  | ” | ” @ d	h” |  | ” | ” @ d	h” |  | ” t | ” @ d	h” |  | ” t| ” @ t ” |  t| ” | ” @ t ” |  t| ”  | ” @ t ” |  t| ” g @ t ” |  tg | ” @ t ” |  | ” | ” B ddh” |  | ” | ” B h d£” |  | ” | ” B h d£” |  | ” t | ” B ddh” |  | ” t | ” B h d£” |  | ” t | ” B h d£” |  | ” dB h d£” |  | ” | ” A t  ” |  | ” | ” A ddh” |  | ” | ” A h d£” |  | ” t | ” A t  ” |  | ” t | ” A ddh” |  | ” t | ” A h d£” |  | ” t| ” A ddh” |  | ” | ”  t  ” |  | ” | ”  dh” |  | ” | ”  ddh” |  | ” t | ”  t  ” |  | ” t | ”  dh” |  | ” t | ”  ddh” |  | ” d ddh” |  | ”  	| ” ”” |  | ”  	| ” ”” |  | ”  	t
| ” ”” |  | ”  	t | ” ”” |  | ”  	h d£”” |  | ”  	g d¢”” |  | ”  	t g d¢”” |  | ”  	t ddg”” |  | ”  	ddg”” |  | ”  	i ”” |  | ”  	| ” ”” i }|  | ”  	t  ”” |  | ”  	g ”” |  | ”  	| ” ”” |  | ”  	dg”” d S )Nr   r   ©r   r   r%   )r   Ścé   é   ©r    r!   r    c                       s   e Zd Z fddZ  ZS )z7DictSetTest.test_keys_set_operations.<locals>.CustomSetc                    s    t   |”S r   )ŚsuperŚintersection©r
   Śother)Ś	CustomSetŚ	__class__r   r   r9   b   s   zDDictSetTest.test_keys_set_operations.<locals>.CustomSet.intersection)Ś__name__Ś
__module__Ś__qualname__r9   Ś__classcell__r   ©r<   )r=   r   r<   a   s    r<   r   r   >   r   r   r4   >   r    r   r   r!   r)   >   r   r   r   r   r4   )r   r   ¾   ŚyŚzŚx©rF   rD   rE   rF   rD   )r   r   r   Śtupler,   Ś	frozensetZassertIsr   ŚassertFalseŚ
isdisjointŚlistr/   )r
   Śd1Śd2Śd3Zd4Śder   rB   r   Śtest_keys_set_operations[   sz   


     ’ ’  z$DictSetTest.test_keys_set_operationsc                 C   sŲ  ddd}ddd}ddd}|   | ” | ” @ ddh” |   | ” | ” @ dh” |   | ” | ” @ t ” |   | ” t| ” @ ddh” |   | ” t| ” @ dh” |   | ” t| ” @ t ” |   | ” | ” B ddh” |   | ” | ” B h d	£” |   | ” | ” B h d
£” |   | ” t| ” B ddh” |   | ” t| ” B h d	£” |   | ” t| ” B h d
£” |   | ” | ” A t ” |   | ” | ” A ddh” |   | ” | ” A h d
£” |   | ” | ”  t ” |   | ” | ”  dh” |   | ” | ”  ddh” |   | ” t| ”  t ” |   | ” t| ”  dh” |   | ” t| ”  ddh” |  | ”  | ” ”” |  | ”  | ” ”” |  | ”  t| ” ”” |  | ”  t| ” ”” |  | ”  h d£”” |  | ”  g d¢”” |  | ”  tg d¢”” |  | ”  tddg”” |  | ”  i ”” |  | ”  | ” ”” i }|  | ”  t ”” |  | ”  g ”” |  | ”  | ” ”” |  | ”  dg”” d S )Nr   r   r3   r5   r6   r7   ©r   r   ©r   r   >   rS   rR   ©r   r   >   rS   )r!   r6   rR   )r    r5   rT   rC   rG   rF   rD   )r   r   r   rJ   rK   rL   r/   )r
   rM   rN   rO   rP   r   r   r   Śtest_items_set_operations”   sv   


’’’’’’’’’’ z%DictSetTest.test_items_set_operationsc                 C   sō   ddd}|   | ” tddg@ dh” |   | ” tddgB h d£” |   | ” tddgA ddh” |   | ” tddg dh” | ” }|   |tdg@ dh” |   |tdgA dh” |   |tdgB ddh” |   |tdg dh” d S )	Nr   r5   )r   r%   r   >   r   r   r%   r%   r)   )r%   r5   )r   r   Śiterr   )r
   Śoriginr   r   r   r   Ś!test_set_operations_with_iteratorŁ   s   
  z-DictSetTest.test_set_operations_with_iteratorc                 C   s¶  |   t” i  ” d@  W d    n1 sw   Y  |   t” i  ” dB  W d    n1 s1w   Y  |   t” i  ” dA  W d    n1 sLw   Y  |   t” i  ” d  W d    n1 sgw   Y  |   t” i  ” d@  W d    n1 sw   Y  |   t” i  ” dB  W d    n1 sw   Y  |   t” i  ” dA  W d    n1 søw   Y  |   t” i  ” d  W d    d S 1 sŌw   Y  d S )Nr   )r   r   r   r   ©r
   r   r   r   Ś$test_set_operations_with_noniterableę   s0   ’’’’’’’"’z0DictSetTest.test_set_operations_with_noniterablec                 C   sH   i }|  ” |d< t|}|  |t” | ” |d< t|}|  |t” d S )Nr   )r	   r-   r,   r.   r   r0   r   r   r   Śtest_recursive_reprł   s   zDictSetTest.test_recursive_reprc                 C   s8   i }t t ” d D ]}d| ” i}q
|  tt|” d S )Néd   r   )ŚrangeŚsysŚgetrecursionlimitr	   r   ŚRecursionErrorr-   )r
   r    Śir   r   r   Śtest_deeply_nested_repr  s   z#DictSetTest.test_deeply_nested_reprc                 C   sJ   ddd}|   ttj| ” ” |   ttj| ” ” |   ttj| ” ” d S )Nr   r   r   )r   r   r&   r   r	   r   ©r
   r    r   r   r   Ś	test_copy  s   
zDictSetTest.test_copyc                    s  G dd dt  G  fddd}| | }}| | }}||i}|  ||” |  || ” ” |  || ” ” |  ||f| ” ” |   |j|” |   | ” j|” |   | ” j||f” |   | ” j||f” |   ” || ” v  W d    d S 1 sw   Y  d S )Nc                   @   s   e Zd ZdS )z+DictSetTest.test_compare_error.<locals>.ExcN)r>   r?   r@   r   r   r   r   ŚExc  s    re   c                       s    e Zd Zdd Z fddZdS )z-DictSetTest.test_compare_error.<locals>.BadEqc                 S   s   dS )Né   r   rY   r   r   r   Ś__hash__  ó   z6DictSetTest.test_compare_error.<locals>.BadEq.__hash__c                    s    r   r   r:   ©re   r   r   Ś__eq__  rh   z4DictSetTest.test_compare_error.<locals>.BadEq.__eq__N)r>   r?   r@   rg   rj   r   ri   r   r   ŚBadEq  s    rk   )Ś	Exceptionr   r   r	   r   r   Ś__contains__)r
   rk   Zk1Zk2Zv1Zv2r    r   ri   r   Śtest_compare_error  s    "’zDictSetTest.test_compare_errorc                 C   sv   ddd}t tjd D ],}|  ttjftj| ” |” |  ttjftj| ” |” |  ttjftj| 	” |” qd S )Nr   r   r   r   )
r]   ŚpickleŚHIGHEST_PROTOCOLr   r   ŚPicklingErrorŚdumpsr   r	   r   )r
   r    Śprotor   r   r   Śtest_pickle,  s   
’’’ūzDictSetTest.test_picklec                 C   sv  t dd}|  | ” tjj” |  | ” tjj” |  | ” tjj” |  | ” tjj” |  | ” tjj	” |  | ” tjj
” |  | ” tjj” |  | ” tjj” |  | ” tjj” |  | ” tjj” |  | ” tjj	” |  | ” tjj
” |  | ” tjj” |  | ” tjj” |  | ” tjj” |  | ” tjj” |  | ” tjj	” |  | ” tjj
” d S )Nr   )r   )Śdictr,   r   ŚcollectionsŚabcŚKeysViewŚMappingViewŚSetŚSizedŚIterableŚ	Containerr	   Ś
ValuesViewŚ
Collectionr   Ś	ItemsViewrc   r   r   r   Śtest_abc_registry6  s&   
zDictSetTest.test_abc_registryN)r>   r?   r@   r   r"   r'   r*   r+   r2   rQ   rU   rX   rZ   r[   rb   rd   rn   rt   r   r   r   r   r   r      s"    F8
r   Ś__main__)
Ścollections.abcrv   r&   ro   r^   ZunittestZTestCaser   r>   Śmainr   r   r   r   Ś<module>   s      J’