o
    éłi  ć                   @   sH   d dl mZ d dlZG dd dZG dd dejZG dd deZdS )	é    )ŚTestCaseNc                   @   s   e Zd ZdS )ŚJSONTestObjectN)Ś__name__Ś
__module__Ś__qualname__© r   r   śR/opt/alphahud/venv/lib/python3.10/site-packages/simplejson/tests/test_recursion.pyr      s    r   c                   @   s   e Zd ZdZdd ZdS )ŚRecursiveJSONEncoderFc                 C   s$   |t u r| jr
t gS dS tj |”S )Nr   )r   ŚrecurseŚjsonŚJSONEncoderŚdefault)ŚselfŚor   r   r   r      s
   zRecursiveJSONEncoder.defaultN)r   r   r   r
   r   r   r   r   r   r	   	   s    r	   c                   @   s$   e Zd Zdd Zdd Zdd ZdS )ŚTestRecursionc                 C   s   g }|  |” zt |” W n	 ty   Y nw |  d” g }|g}|  |” zt |” W n	 ty7   Y nw |  d” g }||g}t |” d S )Nz)didn't raise ValueError on list recursionz5didn't raise ValueError on alternating list recursion)Śappendr   ŚdumpsŚ
ValueErrorŚfail©r   ŚxŚyr   r   r   Śtest_listrecursion   s(   
’

’
z TestRecursion.test_listrecursionc                 C   sT   i }||d< zt  |” W n	 ty   Y nw |  d” i }||d}t  |” d S )NŚtestz)didn't raise ValueError on dict recursion)ŚaŚb)r   r   r   r   r   r   r   r   Śtest_dictrecursion,   s   ’

z TestRecursion.test_dictrecursionc                 C   sP   t  }|  | t”d” d|_z| t” W n
 ty    Y d S w |  d” d S )Nz"JSONTestObject"Tz,didn't raise ValueError on default recursion)r	   ŚassertEqualŚencoder   r
   r   r   )r   Śencr   r   r   Śtest_defaultrecursion:   s   ’z#TestRecursion.test_defaultrecursionN)r   r   r   r   r   r    r   r   r   r   r      s    r   )Śunittestr   Ś
simplejsonr   r   r   r	   r   r   r   r   r   Ś<module>   s
    