mς SγΈEc@s›dZdkZdkZdkZdkZdklZdefd„ƒYZ de fd„ƒYZ d„Z d„Z d eifd „ƒYZd „ZdS( sTests of the serializer.N(s serializetClassWithNewargscBstZd„Zd„ZRS(NcCsti||ƒS(N(tintt__new__tclstvalue(RR((t7/data/zmath/zope/lib/python/ZODB/tests/testSerialize.pyRscCs t|ƒfS(N(Rtself(R((Rt__getnewargs__s(t__name__t __module__RR(((RRs tClassWithoutNewargscBstZd„ZRS(NcCs ||_dS(N(RR(RR((Rt__init__ s(RR R (((RR scCs5tiƒ}ti|dƒ}|i|ƒ|iƒS(Ni(tStringIOtsiotcPickletPicklertptdumptobtgetvalue(RRR ((Rt make_pickle#s  cCs tƒ|S(N(tglobalstname(tconnt module_nameR((Rt test_factory*stSerializerTestCasecBsqtZeedfdfƒZeedfdfƒZeeƒZeedfƒZ d„Z d„Z d„Z RS( NR RicCs“tidtƒ}|i}||i|iƒt dƒ||i|i ƒt dƒ||i|i ƒt dƒ||i|i ƒt dƒdS(Ntfactorys.ClassWithNewargss.ClassWithoutNewargs( t serializet ObjectReaderRtrRt assertEqualteqt getClassNametold_style_with_newargsRtnew_style_with_newargstold_style_without_newargstnew_style_without_newargs(RRR ((Rttest_getClassName?s    cCsάdtifd„ƒY}|dtƒ}|i|iƒ}|i t |t ƒƒ|i |dƒ|i|i ƒ}|i t |tƒƒ|i|iƒ}|i t |t ƒƒ|i|iƒ}|i t |tƒƒdS(NtTestObjectReadercBstZd„ZRS(NcCst|ƒtti||ƒS(N(t __import__tmoduletgetattrtsystmodulesR(RR)R((Rt _get_classRs (RR R-(((RR'OsRi(RRR'RRtgetGhostRR"tgtassert_t isinstanceRRR$R R#R%(RR/RR'((Rt test_getGhostKscCsΧdfd„ƒY}dtfd„ƒY}|itti|ƒdƒ|itti|ƒdƒ|iti|ƒdƒƒ|iti|ƒdƒƒ|iti|ƒdƒ ƒ|iti|ƒdƒ ƒdS(NtOldStylecBstZdZd„ZRS(NtbarcCs-|djotdƒ‚n t|ƒ‚dS(Nterrorswhee!(Rt ValueErrortAttributeError(RR((Rt __getattr__es (RR R4R8(((RR3cstNewStylecBs#tZdZd„ZeeƒZRS(NR4cCstdƒ‚dS(Nswhee!(R6(R((Rt_raisems(RR R4R:tpropertyR5(((RR9ks R5R4trat( R3tobjectR9Rt assertRaisesR6Rt myhasattrR0(RR9R3((Rttest_myhasattras  (i(i( RR RtNoneR$R"R R%RR#R&R2R@(((RR-s  cCs6dkl}titƒ}|i|idƒƒ|S(N(sdoctestsZODB.serialize(t zope.testingtdoctesttunittestt makeSuiteRtsuitetaddTestt DocTestSuite(RFRC((Rt test_suite{s (t__doc__Rt cStringIOR R+RDtZODBRRRR=R RRtTestCaseRRI( RR RDRRR+R RIRRR((Rt?s       N