
    8tf                     l    d dl mZ d dlZ G d d      Z G d dej
                        Z G d de      Zy)	    )TestCaseNc                       e Zd Zy)JSONTestObjectN)__name__
__module____qualname__     i/var/www/html/software/conda/envs/higlass/lib/python3.12/site-packages/simplejson/tests/test_recursion.pyr   r      s    r
   r   c                       e Zd ZdZd Zy)RecursiveJSONEncoderFc                 x    |t         u r| j                  rt         gS yt        j                  j	                  |      S )Nr   )r   recursejsonJSONEncoderdefault)selfos     r   r   zRecursiveJSONEncoder.default   s4    ||&'''''**r
   N)r   r   r   r   r   r	   r
   r   r   r   	   s    G+r
   r   c                       e Zd Zd Zd Zd Zy)TestRecursionc                 d   g }|j                  |       	 t        j                  |       | j                  d       g }|g}|j                  |       	 t        j                  |       | j                  d       g }||g}t        j                  |       y # t        $ r Y dw xY w# t        $ r Y 6w xY w)Nz)didn't raise ValueError on list recursionz5didn't raise ValueError on alternating list recursion)appendr   dumpsfail
ValueErrorr   xys      r   test_listrecursionz TestRecursion.test_listrecursion   s    		CJJqM IIABC		OJJqM IIMNF

1!  		  		s#   B B# 	B B #	B/.B/c                     i }||d<   	 t        j                  |       | j                  d       i }||d}t        j                  |       y # t        $ r Y (w xY w)Ntestz)didn't raise ValueError on dict recursion)ab)r   r   r   r   r   s      r   test_dictrecursionz TestRecursion.test_dictrecursion,   s^    &		CJJqM IIAB!

1  		s   A 	AAc                     t               }| j                  |j                  t              d       d|_        	 |j                  t               | j                  d       y # t        $ r Y y w xY w)Nz"JSONTestObject"Tz,didn't raise ValueError on default recursion)r   assertEqualencoder   r   r   r   )r   encs     r   test_defaultrecursionz#TestRecursion.test_defaultrecursion:   s`    "$N35GH	FJJ~& IIDE  		s   A 	A+*A+N)r   r   r   r   r$   r)   r	   r
   r   r   r      s    .	Fr
   r   )unittestr   
simplejsonr   r   r   r   r   r	   r
   r   <module>r,      s5     	 	+4++ +/FH /Fr
   