mς ‹γΈEc@sudklZlZdklZdkZdklZdei fd„ƒYZ dei fd„ƒYZ d„Z dS( (s NameFindersconvert(s atestmoduleN(s FunctionTypetTestNameFindercBstZd„ZRS(NcCsdttƒ}|iƒ}x!d D]}|i||jƒqWx!d D]}|i||jƒqCWdS( NtFootBartaFunct anotherFuncsFoo.meths Foo.NestedsBar.barsFoo.Nested.barsaFunc.nestedFuncsanotherFunc.NotFound(RsBarRRsFoo.meths Foo.NestedsBar.barsFoo.Nested.bar(saFunc.nestedFuncsanotherFunc.NotFound(t NameFindert atestmoduletnftnamestnametselftassert_(R R RR((t8/data/zmath/zope/lib/python/zodbcode/tests/test_patch.pyttestNameFinders  (t__name__t __module__R (((R Rst TestPatchcBs#tZd„Zd„Zd„ZRS(NcCstiiƒ|_dS(N(Rt__dict__tcopyR tolddict(R ((R tsetUp"scCs$tiiƒtii|iƒdS(N(RRtcleartupdateR R(R ((R ttearDown%s c Csr|ititiidjƒ|ititidjƒ|i}t thƒti }|i ƒ}|i ƒ}|iƒ|iƒ|i||ƒ|iti tiiƒ|d}|did} |i|| jƒ|i|d|ddjƒdk}xdt|iƒD]S}t|i|ƒ}t|tƒpt|tƒo|i|||jƒqqWdS(NiRtSubRtfoo(R R RRRt __bases__RRRtmoddicttconvertRtnewdicttkeystL1tL2tsortt assertEqualt func_globalst Bar_as_baset ZODB.utilstZODBtdirtutilsR tgetattrtobjt isinstancettypetfunction( R RRR RR&R RR*R$((R t testPatch)s*           (RRRRR.(((R R s  cCs=tiƒ}x*ttfD]}|iti|ƒƒqW|S(N(tunittestt TestSuitetsRRtctaddTestt makeSuite(R2R1((R t test_suiteIs   ( tzodbcode.patchRRtzodbcode.testsRR/ttypest FunctionTypeR-tTestCaseRRR5(R-RRR/RR5RR((R t?s     )