Your IP : 216.73.216.213


Current Path : /opt/alt/python38/lib64/python3.8/test/test_json/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/test_json/__pycache__/test_recursion.cpython-38.opt-2.pyc

U

i�f��@sTddlmZmZGdd�d�ZGdd�d�ZGdd�dee�ZGdd	�d	ee�Zd
S)�)�PyTest�CTestc@seZdZdS)�JSONTestObjectN��__name__�
__module__�__qualname__�r	r	�B/opt/alt/python38/lib64/python3.8/test/test_json/test_recursion.pyrsrc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�
TestRecursioncCs�g}|�|�z|�|�Wntk
r0YnX|�d�g}|g}|�|�z|�|�Wntk
rrYnX|�d�g}||g}|�|�dS)Nz)didn't raise ValueError on list recursionz5didn't raise ValueError on alternating list recursion)�append�dumps�
ValueError�fail��self�x�yr	r	r
�test_listrecursion	s$



z TestRecursion.test_listrecursioncCsVi}||d<z|�|�Wntk
r.YnX|�d�i}||d�}|�|�dS)NZtestz)didn't raise ValueError on dict recursion)�a�b)r
rrrr	r	r
�test_dictrecursion s

z TestRecursion.test_dictrecursioncCsdGdd�d|jj�}|�}|�|�t�d�d|_z|�t�Wntk
rTYnX|�d�dS)Nc@seZdZdZdd�ZdS)zATestRecursion.test_defaultrecursion.<locals>.RecursiveJSONEncoderFcSs$|tkr|jrtgSdStj�|�S)Nr)r�recurseZpyjson�JSONEncoder�default�r�or	r	r
r1s
zITestRecursion.test_defaultrecursion.<locals>.RecursiveJSONEncoder.defaultN)rrrrrr	r	r	r
�RecursiveJSONEncoder/srz"JSONTestObject"Tz,didn't raise ValueError on default recursion)�jsonrZassertEqual�encoderrrr)rr�encr	r	r
�test_defaultrecursion.s
z#TestRecursion.test_defaultrecursionc	Cs�|�t�� |�ddddd�W5QRX|�t�� |�ddddd�W5QRX|�t�� |�ddddd�W5QRXdS)Nz{"a":順�1�}z[1]�[�])�assertRaises�RecursionError�loads)rr	r	r
�#test_highly_nested_objects_decodingDs$$z1TestRecursion.test_highly_nested_objects_decodingc	Cslgi}}td�D]}|gd|i}}q|�t��|�|�W5QRX|�t��|�|�W5QRXdS)Nr"�k)�ranger'r(r
)r�l�drr	r	r
�#test_highly_nested_objects_encodingNs
z1TestRecursion.test_highly_nested_objects_encodingc	Cs>Gdd�d|jj�}|�t��|dd��d�W5QRXdS)Nc@seZdZdd�ZdS)z@TestRecursion.test_endless_recursion.<locals>.EndlessJSONEncodercSs|gS)Nr	rr	r	r
r[szHTestRecursion.test_endless_recursion.<locals>.EndlessJSONEncoder.defaultN)rrrrr	r	r	r
�EndlessJSONEncoderZsr0F)Zcheck_circulary@)rrr'r(r)rr0r	r	r
�test_endless_recursionXsz$TestRecursion.test_endless_recursionN)	rrrrrr!r*r/r1r	r	r	r
rs

rc@seZdZdS)�TestPyRecursionNrr	r	r	r
r2csr2c@seZdZdS)�TestCRecursionNrr	r	r	r
r3dsr3N)Ztest.test_jsonrrrrr2r3r	r	r	r
�<module>s[