
    DUf                     v    d dl mZ d dlZ G d d          Z G d dej                  Z G d de          ZdS )	    )TestCaseNc                       e Zd ZdS )JSONTestObjectN)__name__
__module____qualname__     \/var/www/html/software/conda/lib/python3.11/site-packages/simplejson/tests/test_recursion.pyr   r      s        Dr
   r   c                       e Zd ZdZd ZdS )RecursiveJSONEncoderFc                 t    |t           u r| j        rt           gS dS t          j                            |          S )Nr   )r   recursejsonJSONEncoderdefault)selfos     r   r   zRecursiveJSONEncoder.default   s=    | (&''''''***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dS )TestRecursionc                    g }|                     |           	 t          j        |           |                     d           n# t          $ r Y nw xY wg }|g}|                     |           	 t          j        |           |                     d           n# t          $ r Y nw xY wg }||g}t          j        |           d S )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JqMMM IIABBBB  	 	 	D	 C		OJqMMM IIMNNNN  	 	 	D	 F
1s#   A 
AA.B 
B%$B%c                     i }||d<   	 t          j        |           |                     d           n# t          $ r Y nw xY wi }||d}t          j        |           d S )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JqMMM IIABBBB  	 	 	D	 !
1s   3 
A A c                    t                      }|                     |                    t                    d           d|_        	 |                    t                     |                     d           d S # t          $ r Y d S 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335GHHH	FJJ~&&& IIDEEEEE  	 	 	DD	s   A6 6
BBN)r   r   r   r   r$   r)   r	   r
   r   r   r      sF          .  	F 	F 	F 	F 	Fr
   r   )unittestr   
simplejsonr   r   r   r   r   r	   r
   r   <module>r,      s             	 	 	 	 	 	 	 	+ + + + +4+ + + +/F /F /F /F /FH /F /F /F /F /Fr
   