o \Փaa@sddlmZddlZddlZddlmZzddlmZWn ey'dZYnwzddl m Z WneyIGddde Z Gdd d e Z Ynwe dd gZ e d d d gZ Gd ddeZGdddeZGdddeZGdddeZddddddgZGdddejZdS))absolute_importN)StringIO)mock) namedtuplec@eZdZddZddZdS)ValuecG t||SNtuple__new__clsargsrB/usr/lib/python3/dist-packages/simplejson/tests/test_namedtuple.pyr  z Value.__new__cCs d|diS)Nvaluerrselfrrr_asdictrz Value._asdictN__name__ __module__ __qualname__r rrrrrr rc@r)PointcGrr r r rrrr rz Point.__new__cCs|d|ddS)Nr)xyrrrrrrsz Point._asdictNrrrrrrrrrrrc@r) DuckValuecGt||_dSr )rrrrrrr__init__zDuckValue.__init__cC |jSr )rrrrrrr" zDuckValue._asdictNrrrr#rrrrrr rr c@r) DuckPointcGr!r )rpointr"rrrr#&r$zDuckPoint.__init__cCr%r )r)rrrrrr)r&zDuckPoint._asdictNr'rrrrr(%rr(c@eZdZdZdS)DeadDuckNrrrrrrrrr+,r+c@r*)DeadDictNr,rrrrr./r-r.cCs|Sr rvrrr3sr1cCs|gSr rr/rrrr14scCs d|igS)Nkeyrr/rrrr15s c@sDeZdZddZddZddZddZd d Zd d Zd dZ dS)TestNamedTuplec CstdtddtdtddfD]=}|}||tt|||ttj|dd||ttj|dd||ttj|dddqdSNrTnamedtuple_as_objectF)tuple_as_array)r7r8) rrr r(r assertEqualjsonloadsdumps)rr0drrrtest_namedtuple_dumps9s$ z$TestNamedTuple.test_namedtuple_dumpsc CsVtdtddfD]}t|}||ttj|dd|jttj|dddq dSNrr5Fr6)r8r7) rrlistr9r:r;r< assertRaises TypeError)rr0lrrrtest_namedtuple_dumps_falseFs z*TestNamedTuple.test_namedtuple_dumps_falsecCstdtddtdtddfD]]}|}t}t||||t | t}tj||dd||t | t}tj||dd||t | t}tj||ddd||t | qdSr4) rrr r(rrr:dumpr9r;getvalue)rr0r=siorrrtest_namedtuple_dumpOs.$    z#TestNamedTuple.test_namedtuple_dumpc CsjtdtddfD])}t|}t}tj||dd||t||j t tj|tdddq dSr?) rrr@rr:rEr9r;rFrArB)rr0rCrGrrrtest_namedtuple_dump_falseds z)TestNamedTuple.test_namedtuple_dump_falsecCsbtD],}|jttj|ttddt}tj|t|dd|t |i| qdSNTr6) CONSTRUCTORSrArBr:rEr+rr.r9r<rF)rfrGrrrtest_asdict_not_callable_dumpos z,TestNamedTuple.test_asdict_not_callable_dumpcCsNtD]"}|jttj|tdd|t|itj|tddqdSrJ)rKrArBr:r<r+r9r.)rrLrrrtest_asdict_not_callable_dumpsys z-TestNamedTuple.test_asdict_not_callable_dumpscCststtdr tdtddSt}|t|d|t|j| t |t | t tjd|idddWddS1sKwYdS) NSkipTestzunittest.mock requiredzunittest.mock not availablerTF)r7for_json)rhasattrunittestrOprintMock assertTruecallabler assertFalse isinstancedictrArBr:r<)rfakerrr test_asdict_does_not_return_dicts   "z/TestNamedTuple.test_asdict_does_not_return_dictN) rrrr>rDrHrIrMrNr\rrrrr38s    r3) __future__rrS simplejsonr:simplejson.compatrr ImportError collectionsrr rrobjectr r(r+rZr.rKTestCaser3rrrrs4