B VXÿYã@sHddlmZddlZGdd„dƒZGdd„dejƒZGdd„deƒZdS) é)ÚTestCaseNc@s eZdZdS)ÚJSONTestObjectN)Ú__name__Ú __module__Ú __qualname__©rrúR/opt/alt/python37/lib64/python3.7/site-packages/simplejson/tests/test_recursion.pyrsrc@seZdZdZdd„ZdS)ÚRecursiveJSONEncoderFcCs$|tkr|jrtgSdStj |¡S)Nr)rÚrecurseÚjsonÚ JSONEncoderÚdefault)ÚselfÚorrrr s zRecursiveJSONEncoder.defaultN)rrrr r rrrrr sr c@s$eZdZdd„Zdd„Zdd„ZdS)Ú TestRecursioncCs˜g}| |¡yt |¡Wntk r0Yn X| d¡g}|g}| |¡yt |¡Wntk rrYn X| d¡g}||g}t |¡dS)Nz)didn't raise ValueError on list recursionz5didn't raise ValueError on alternating list recursion)Úappendr ÚdumpsÚ ValueErrorÚfail)rÚxÚyrrrÚtest_listrecursions$    z TestRecursion.test_listrecursioncCsVi}||d<yt |¡Wntk r.Yn X| d¡i}||dœ}t |¡dS)NÚtestz)didn't raise ValueError on dict recursion)ÚaÚb)r rrr)rrrrrrÚtest_dictrecursion,s  z TestRecursion.test_dictrecursioncCsPtƒ}| | t¡d¡d|_y| t¡Wntk r@Yn X| d¡dS)Nz"JSONTestObject"Tz,didn't raise ValueError on default recursion)r Z assertEqualÚencoderr rr)rÚencrrrÚtest_defaultrecursion:sz#TestRecursion.test_defaultrecursionN)rrrrrrrrrrrsr)ZunittestrÚ simplejsonr rr r rrrrrÚs