3 ž}:a ใ@s2dZddlZGdd„dejƒZedkr.ejƒdS)zTests for josepy.interfaces.้Nc@sleZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„ZdS)ฺJSONDeSerializableTestcsคddlm}Gdd„d|ƒ‰G‡fdd„d|ƒ}Gdd„d|ƒ}ˆd ƒ|_ˆd ƒ|_||j|jƒ|_||j|jƒ|_ˆ|jggƒ|_ˆd ƒ|_ˆ|_||_ ||_ dS) Nr)ฺJSONDeSerializablec@s(eZdZdd„Zdd„Zedd„ƒZdS)z+JSONDeSerializableTest.setUp..BasiccSs ||_dS)N)ฺv)ฺselfrฉr๚%/usr/lib/python3.6/interfaces_test.pyฺ__init__sz4JSONDeSerializableTest.setUp..Basic.__init__cSs|jS)N)r)rrrrฺto_partial_jsonsz;JSONDeSerializableTest.setUp..Basic.to_partial_jsoncSs||ƒS)Nr)ฺclsฺjobjrrrฺ from_jsonsz5JSONDeSerializableTest.setUp..Basic.from_jsonN)ฺ__name__ฺ __module__ฺ __qualname__rr ฺ classmethodr rrrrฺBasic srcs,eZdZdd„Zdd„Ze‡fdd„ƒZdS)z.JSONDeSerializableTest.setUp..SequencecSs||_||_dS)N)ฺxฺy)rrrrrrrsz7JSONDeSerializableTest.setUp..Sequence.__init__cSs |j|jgS)N)rr)rrrrr sz>JSONDeSerializableTest.setUp..Sequence.to_partial_jsoncs|ˆj|dƒˆj|dƒƒS)Nr้)r )r r )rrrr sz8JSONDeSerializableTest.setUp..Sequence.from_jsonN)r rrrr rr r)rrrฺSequencesrc@s(eZdZdd„Zdd„Zedd„ƒZdS)z-JSONDeSerializableTest.setUp..MappingcSs||_||_dS)N)rr)rrrrrrr&sz6JSONDeSerializableTest.setUp..Mapping.__init__cSs |j|jiS)N)rr)rrrrr *sz=JSONDeSerializableTest.setUp..Mapping.to_partial_jsoncSsdS)Nr)r r rrrr -sz7JSONDeSerializableTest.setUp..Mapping.from_jsonN)r rrrr rr rrrrฺMapping%srฺfoo1ฺfoo2ฺfoo)r) ฺjosepy.interfacesrฺbasic1ฺbasic2ฺseqฺmappingฺnestedฺtuplerrr)rrrrr)rrฺsetUps      zJSONDeSerializableTest.setUpcCs|j|jjƒddgƒdS)Nrr)ฺ assertEqualrฺto_json)rrrrฺtest_to_json_sequence=sz,JSONDeSerializableTest.test_to_json_sequencecCs|j|jjƒddiƒdS)Nrr)r"rr#)rrrrฺtest_to_json_mapping@sz+JSONDeSerializableTest.test_to_json_mappingcCs tƒ}|j|j|ƒjƒ|ƒdS)N)ฺobjectฺassertIsrr#)rZ mock_valuerrrฺtest_to_json_otherCsz)JSONDeSerializableTest.test_to_json_othercCs|j|jjƒdggƒdS)Nr)r"rr#)rrrrฺtest_to_json_nestedGsz*JSONDeSerializableTest.test_to_json_nestedcCs|j|jjƒdƒdS)Nr)r)r"r r#)rrrrฺ test_to_jsonJsz#JSONDeSerializableTest.test_to_jsoncCs ddlm}|jt|jdƒdS)Nr)rZxxx)rrฺ assertRaisesฺ TypeErrorr )rrrrrฺtest_from_json_not_implementedMs z5JSONDeSerializableTest.test_from_json_not_implementedcCs^|jjdƒ}|j||jƒ|j|j|jƒ|j|j|jƒ|j|jjdƒ|j|jjdƒdS)Nz["foo1", "foo2"]rr)rZ json_loadsZassertIsInstancerrrr"r)rrrrrฺtest_json_loadsQs  z&JSONDeSerializableTest.test_json_loadscCs|jd|jjƒƒdS)Nz["foo1", "foo2"])r"rZ json_dumps)rrrrฺtest_json_dumpsYsz&JSONDeSerializableTest.test_json_dumpscCs|j|jjƒdƒdS)Nz[ "foo1", "foo2" ])r"rZjson_dumps_pretty)rrrrฺtest_json_dumps_pretty\s z-JSONDeSerializableTest.test_json_dumps_prettycCsdddlm}|jd|j|jƒƒ|j|jƒ}|jt|ƒdƒ|j|d|jƒ|j|d|jƒdS)Nr)rr้r) rrr"ฺjson_dump_defaultrrฺlenr'r)rrr rrrฺtest_json_dump_default`s  z-JSONDeSerializableTest.test_json_dump_defaultcCs"ddlm}|jt|jtƒƒdS)Nr)r)rrr+r,r2r&)rrrrrฺ!test_json_dump_default_type_errorks z8JSONDeSerializableTest.test_json_dump_default_type_errorN)r rrr!r$r%r(r)r*r-r.r/r0r4r5rrrrrs5 rฺ__main__)ฺ__doc__ZunittestZTestCaserr ฺmainrrrrฺsl