+
    Dfj                         R ^R t ^ RIHt ^ RIHt ^RIHt  ! R R4      t ! R R]P                  4      t	 ! R R	]P                  4      t ! R
 R]4      t ! R R]4      t ! R R]4      tR# )z$Revision: 1.3 $)htb)unittest)DummyConsumerc                   H   a  ] tR t^
t o ^ tV 3R lR ltV 3R lR ltRtV tR# )
DummyClockc                $   < V ^8  d   QhRS[ RR/# )   whenreturnNint)format__classdict__s   "7/usr/lib/python3/dist-packages/twisted/test/test_htb.py__annotate__DummyClock.__annotate__   s            c                    Wn         R # Ntime)selfr	   s   &&r   setDummyClock.set   s    	r   c                    < V ^8  d   QhRS[ /# )r   r
   r   )r   r   s   "r   r   r      s      # r   c                    V P                   # r   r   r   s   &r   __call__DummyClock.__call__   s    yyr   r   N)	__name__
__module____qualname____firstlineno__r   r   r   __static_attributes____classdictcell__r   s   @r   r   r   
   s     D  r   r   c                       ] tR t^t^dt^tRtR# )
SomeBucket N)r   r    r!   r"   maxburstrater#   r(   r   r   r'   r'      s    HDr   r'   c                   D   a  ] tR t^t o V 3R lR ltV 3R lR ltRtV tR# )TestBucketBasec                   < V ^8  d   QhRR/# r   r
   Nr(   )r   r   s   "r   r   TestBucketBase.__annotate__   s      t r   c                x    \         P                  V n        \        4       V n        V P                  \         n        R # r   )r   r   _realTimeFuncr   clockr   s   &r   setUpTestBucketBase.setUp   s"     XX\
::r   c                   < V ^8  d   QhRR/# r.   r(   )r   r   s   "r   r   r/      s     & &$ &r   c                0    V P                   \        n        R # r   )r1   r   r   r   s   &r   tearDownTestBucketBase.tearDown   s    %%r   )r1   r2   N)r   r    r!   r"   r3   r7   r#   r$   r%   s   @r   r,   r,      s      
& &r   r,   c                   V   a  ] tR t^#t o V 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )	BucketTestsc                   < V ^8  d   QhRR/# r.   r(   )r   r   s   "r   r   BucketTests.__annotate__$   s     # # #r   c                `    \        4       pVP                  R4      pV P                  ^dV4       R# )z!
Testing the size of the bucket.
  N)r'   addassertEqualr   bfits   &  r   testBucketSizeBucketTests.testBucketSize$   s(     LeeDkc"r   c                   < V ^8  d   QhRR/# r.   r(   )r   r   s   "r   r   r<   ,   s     " " "r   c                    \        4       pVP                  R4      pV P                  P                  ^
4       VP                  R4      pV P	                  ^V4       R# )z"
Testing the bucket's drain rate.
r>   N)r'   r?   r2   r   r@   rA   s   &  r   testBucketDrainBucketTests.testBucketDrain,   sE     LeeDk

reeDkS!r   c                   < V ^8  d   QhRR/# r.   r(   )r   r   s   "r   r   r<   6   s      $ r   c                ,   \        4       pVP                  ^4       V P                  P                  ^	4       VP	                  4       pV P                  V4       V P                  P                  ^
4       VP	                  4       pV P                  V4       R# )zL
L{htb.Bucket.drip} returns C{True} if the bucket is empty after that drip.
N)r'   r?   r2   r   dripassertFalse
assertTrue)r   rB   emptys   &  r   test_bucketEmptyBucketTests.test_bucketEmpty6   sf     L	b	

q

rr   r(   N)	r   r    r!   r"   rD   rH   rP   r#   r$   r%   s   @r   r:   r:   #   s#     # #" " r   r:   c                   V   a  ] tR t^Dt o V 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )	BucketNestingTestsc                   < V ^8  d   QhRR/# r.   r(   )r   r   s   "r   r   BucketNestingTests.__annotate__E   s     . .t .r   c                    \         P                  V 4       \        4       V n        \        V P                  4      V n        \        V P                  4      V n        R # r   )r,   r3   r'   parentchild1child2r   s   &r   r3   BucketNestingTests.setUpE   s9    T" l - -r   c                   < V ^8  d   QhRR/# r.   r(   )r   r   s   "r   r   rU   K   s     " "d "r   c                    V P                   P                  ^Z4       V P                  P                  ^Z4      pV P                  ^
V4       R# )Z   N)rX   r?   rY   r@   r   rC   s   & r   testBucketParentSize'BucketNestingTests.testBucketParentSizeK   s4    kkoob!S!r   c                   < V ^8  d   QhRR/# r.   r(   )r   r   s   "r   r   rU   Q   s     " "d "r   c                    ^V P                   n        V P                  P                  ^d4       V P                  P                  ^
4       V P                  P                  ^d4      pV P                  ^
V4       R#    N)rW   r*   rX   r?   r2   r   r@   r^   s   & r   testBucketParentRate'BucketNestingTests.testBucketParentRateQ   sR    

rkkooc"
 	S!r   )rX   rY   rW   N)	r   r    r!   r"   r3   r_   re   r#   r$   r%   s   @r   rS   rS   D   s#     . ." "" "r   rS   c                   V   a  ] tR t^bt o V 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )	ConsumerShaperTestsc                   < V ^8  d   QhRR/# r.   r(   )r   r   s   "r   r    ConsumerShaperTests.__annotate__c   s     G Gt Gr   c                    \         P                  V 4       \        4       V n        \	        4       V n        \        P                  ! V P                  V P
                  4      V n        R # r   )	r,   r3   r   
underlyingr'   bucketr   ShapedConsumershapedr   s   &r   r3   ConsumerShaperTests.setUpc   s>    T"'/ l(($++Fr   c                   < V ^8  d   QhRR/# r.   r(   )r   r   s   "r   r   rj   i   s     V V$ Vr   c                z   ^
pV P                   P                  ^d4       V P                  P                  R4       V P                  P                  V4       V P                  P                  4        V P                  \        V P                  P                  4       4      WP                   P                  ,          4       R# )
   Ndxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)rm   r?   ro   writer2   r   resumeProducingr@   lenrl   getvaluer*   )r   delta_ts   & r   testRateConsumerShaperTests.testRatei   sz     )$

w##%T__5578'KKDTDT:TUr   c                   < V ^8  d   QhRR/# r.   r(   )r   r   s   "r   r   rj   s   s     3 3 3r   c                    V P                  V P                  P                  ^4       V P                  P	                  4        V P                  V P                  P                  ^ 4       R# rc   )r@   rm   	_refcountro   stopProducingr   s   &r   testBucketRefs"ConsumerShaperTests.testBucketRefss   sF    ..2!!#..2r   )rm   ro   rl   N)	r   r    r!   r"   r3   rz   r   r#   r$   r%   s   @r   rh   rh   b   s'     G GV V3 3r   rh   N)__version__twisted.protocolsr   twisted.trialr   test_pcpr   r   Bucketr'   TestCaser,   r:   rS   rh   r(   r   r   <module>r      sm    !B' ! " #  
&X&& &. B" "<3. 3r   