o \Փa@sHddlmZddlZGdddZGdddejZGdddeZdS) )TestCaseNc@s eZdZdS)JSONTestObjectN)__name__ __module__ __qualname__rrA/usr/lib/python3/dist-packages/simplejson/tests/test_recursion.pyrsrc@seZdZdZddZdS)RecursiveJSONEncoderFcCs$|tur |jr tgSdStj|S)Nr)rrecursejson JSONEncoderdefault)selforrrr s  zRecursiveJSONEncoder.defaultN)rrrr r rrrrr s r c@s$eZdZddZddZddZdS) TestRecursioncCsg}||zt|Wn tyYnw|dg}|g}||zt|Wn ty7Ynw|dg}||g}t|dS)Nz)didn't raise ValueError on list recursionz5didn't raise ValueError on alternating list recursion)appendr dumps ValueErrorfailrxyrrrtest_listrecursions(      z TestRecursion.test_listrecursioncCsTi}||d<zt|Wn tyYnw|di}||d}t|dS)Ntestz)didn't raise ValueError on dict recursion)ab)r rrrrrrrtest_dictrecursion,s   z TestRecursion.test_dictrecursioncCsPt}||tdd|_z|tWn ty YdSw|ddS)Nz"JSONTestObject"Tz,didn't raise ValueError on default recursion)r assertEqualencoderr rr)rencrrrtest_defaultrecursion:s z#TestRecursion.test_defaultrecursionN)rrrrrr rrrrrs r)unittestr simplejsonr rr r rrrrrs