o
    �O5[¤  ã                   @   sò   d dl mZ d dlZd dlZd dlmZ zd dlmZ W n e	y5   G dd„ de
ƒZG dd„ de
ƒZY nw edd	gƒZedd
dgƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZdd„ dd„ dd„ gZG dd„ dejƒZdS )é    )Úabsolute_importN)ÚStringIO)Ú
namedtuplec                   @   ó   e Zd Zdd„ Zdd„ ZdS )ÚValuec                 G   ó   t  | |¡S ©N©ÚtupleÚ__new__©ÚclsÚargs© r   úR/var/www/html/env/lib/python3.10/site-packages/simplejson/tests/test_namedtuple.pyr   
   ó   zValue.__new__c                 C   s   d| d iS )NÚvaluer   r   ©Úselfr   r   r   Ú_asdict   r   zValue._asdictN©Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   	   ó    r   c                   @   r   )ÚPointc                 G   r   r   r	   r   r   r   r   r      r   zPoint.__new__c                 C   s   | d | d dœS )Nr   é   )ÚxÚyr   r   r   r   r   r      s   zPoint._asdictNr   r   r   r   r   r      r   r   r   r   r   c                   @   r   )Ú	DuckValuec                 G   ó   t |Ž | _d S r   )r   r   ©r   r   r   r   r   Ú__init__   ó   zDuckValue.__init__c                 C   ó
   | j  ¡ S r   )r   r   r   r   r   r   r      ó   
zDuckValue._asdictN©r   r   r   r"   r   r   r   r   r   r      r   r   c                   @   r   )Ú	DuckPointc                 G   r    r   )r   Úpointr!   r   r   r   r"   !   r#   zDuckPoint.__init__c                 C   r$   r   )r(   r   r   r   r   r   r   $   r%   zDuckPoint._asdictNr&   r   r   r   r   r'       r   r'   c                   @   ó   e Zd ZdZdS )ÚDeadDuckN©r   r   r   r   r   r   r   r   r*   '   ó    r*   c                   @   r)   )ÚDeadDictNr+   r   r   r   r   r-   *   r,   r-   c                 C   s   | S r   r   ©Úvr   r   r   Ú<lambda>.   s    r0   c                 C   s   | gS r   r   r.   r   r   r   r0   /   s    c                 C   s
   d| igS )NÚkeyr   r.   r   r   r   r0   0   s   
 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 )ÚTestNamedTuplec                 C   s    t dƒtddƒtdƒtddƒfD ]=}| ¡ }|  |t t |¡¡¡ |  |t tj|dd�¡¡ |  |t tj|dd�¡¡ |  |t tj|ddd�¡¡ qd S ©Nr   é   T©Únamedtuple_as_objectF)Útuple_as_array)r6   r7   )	r   r   r   r'   r   ÚassertEqualÚjsonÚloadsÚdumps)r   r/   Údr   r   r   Útest_namedtuple_dumps4   s   $þÿþùz$TestNamedTuple.test_namedtuple_dumpsc              
   C   sV   t dƒtddƒfD ]}t|ƒ}|  |t tj|dd�¡¡ | jttj|ddd� q	d S ©Nr   r4   Fr5   )r7   r6   )	r   r   Úlistr8   r9   r:   r;   ÚassertRaisesÚ	TypeError)r   r/   Úlr   r   r   Útest_namedtuple_dumps_falseA   s   þÿûz*TestNamedTuple.test_namedtuple_dumps_falsec                 C   sà   t dƒtddƒtdƒtddƒfD ]]}| ¡ }tƒ }t ||¡ |  |t 	| 
¡ ¡¡ tƒ }tj||dd� |  |t 	| 
¡ ¡¡ tƒ }tj||dd� |  |t 	| 
¡ ¡¡ tƒ }tj||ddd� |  |t 	| 
¡ ¡¡ qd S r3   )r   r   r   r'   r   r   r9   Údumpr8   r:   Úgetvalue)r   r/   r<   Úsior   r   r   Útest_namedtuple_dumpJ   s.   $þ
ÿþðz#TestNamedTuple.test_namedtuple_dumpc              	   C   sj   t dƒtddƒfD ])}t|ƒ}tƒ }tj||dd� |  |t | ¡ ¡¡ | j	t
tj|tƒ ddd� q	d S r>   )r   r   r?   r   r9   rD   r8   r:   rE   r@   rA   )r   r/   rB   rF   r   r   r   Útest_namedtuple_dump_false_   s   þÿùz)TestNamedTuple.test_namedtuple_dump_falsec                 C   sb   t D ],}| jttj|tƒ ƒtƒ dd� tƒ }tj|tƒ ƒ|dd� |  t 	|i ƒ¡| 
¡ ¡ qd S ©NTr5   )ÚCONSTRUCTORSr@   rA   r9   rD   r*   r   r-   r8   r;   rE   )r   ÚfrF   r   r   r   Útest_asdict_not_callable_dumpj   s   ÿþûz,TestNamedTuple.test_asdict_not_callable_dumpc                 C   sN   t D ]"}| jttj|tƒ ƒdd� |  t |i ƒ¡tj|tƒ ƒdd�¡ qd S rI   )rJ   r@   rA   r9   r;   r*   r8   r-   )r   rK   r   r   r   Útest_asdict_not_callable_dumpst   s   ÿþýz-TestNamedTuple.test_asdict_not_callable_dumpsN)	r   r   r   r=   rC   rG   rH   rL   rM   r   r   r   r   r2   3   s    	
r2   )Ú
__future__r   ÚunittestÚ
simplejsonr9   Úsimplejson.compatr   Úcollectionsr   ÚImportErrorr
   r   r   Úobjectr   r'   r*   Údictr-   rJ   ÚTestCaser2   r   r   r   r   Ú<module>   s*    ùý