mς LγΈEc@s`dkZdkZdklZd„Zd„Zd„Zdeifd„ƒYZd„Z dS(N(sTransactionBuffercCsCg}t|ƒD]}|ttidƒƒq~}di|ƒS(s$Return a random string of size size.itN( t_[1]trangetsizetitchrtrandomt randrangetltjoin(RRRR((t>/data/zmath/zope/lib/python/ZEO/tests/testTransactionBuffer.pyt random_strings6cCs"tdƒdttidƒƒfS(s;Return arbitrary data to use as argument to store() method.iRiθN(R RR(((R tnew_store_datascCstdƒdfS(s@Return arbitrary data to use as argument to invalidate() method.iRN(R (((R tnew_invalidate_datast TransBufTestscBs,tZd„Zd„Zd„Zd„ZRS(NcCs>tƒ}|itƒŒ|itƒŒx|D]}q0WdS(N(tTransactionBufferttbuftstoreR t invalidateR to(tselfRR((R tcheckTypicalUsage"s  cCs·g}xZtdƒD]L}tƒ}|i|Œ|i|ƒtƒ}|i |Œ|i|ƒqWxMt |ƒD]?\}}|ddjo|d }n|i|||ƒqpWdS(Ni i(tdataRRR tdRRtappendR Rt enumeratetxtNoneRt assertEqual(RRRRRR((R t doUpdates)s       cCstƒ}|i|ƒdS(N(RRRR(RR((R tcheckOrderPreserved9s cCsHtƒ}|i|ƒ|iƒ|i|ƒ|iƒ|i|ƒdS(N(RRRRtclear(RR((R t checkReusable=s      (t__name__t __module__RRRR (((R R s   cCstitdƒS(Ntcheck(tunittestt makeSuiteR(((R t test_suiteEs( RR$tZEO.TransactionBufferRR R R tTestCaseRR&(RRR$RR R R&R ((R t?s      %