B VXY@sHddlmZddlZGdddZGdddejZGdddeZdS) )TestCaseNc@s eZdZdS)JSONTestObjectN)__name__ __module__ __qualname__rrR/opt/alt/python37/lib64/python3.7/site-packages/simplejson/tests/test_recursion.pyrsrc@seZdZdZddZdS)RecursiveJSONEncoderFcCs$|tkr|jrtgSdStj|S)Nr)rrecursejson JSONEncoderdefault)selforrrr s zRecursiveJSONEncoder.defaultN)rrrr r rrrrr sr c@s$eZdZddZddZddZdS) TestRecursioncCsg}||yt|Wntk r0Yn X|dg}|g}||yt|Wntk rrYn X|dg}||g}t|dS)Nz)didn't raise ValueError on list recursionz5didn't raise ValueError on alternating list recursion)appendr dumps ValueErrorfail)rxyrrrtest_listrecursions$    z TestRecursion.test_listrecursioncCsVi}||d<yt|Wntk r.Yn X|di}||d}t|dS)Ntestz)didn't raise ValueError on dict recursion)ab)r rrr)rrrrrrtest_dictrecursion,s  z TestRecursion.test_dictrecursioncCsPt}||tdd|_y|tWntk r@Yn X|ddS)Nz"JSONTestObject"Tz,didn't raise ValueError on default recursion)r Z assertEqualencoderr rr)rencrrrtest_defaultrecursion:sz#TestRecursion.test_defaultrecursionN)rrrrrrrrrrrsr)Zunittestr simplejsonr rr r rrrrrs