ó
Á.Ž>c           @   sÈ   d  d d !Z  d d l m Z d d l m Z d d d „  ƒ  YZ d e j f d	 „  ƒ  YZ d
 e j f d „  ƒ  YZ	 d e	 f d „  ƒ  YZ
 d e	 f d „  ƒ  YZ d d l m Z d e	 f d „  ƒ  YZ d S(   s   $Revision: 1.3 $i   iþÿÿÿiÿÿÿÿ(   t   unittest(   t   htbt
   DummyClockc           B   s    e  Z d  Z d „  Z d „  Z RS(   i    c         C   s   | |  _  d  S(   N(   t   time(   t   selft   when(    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyt   set
   s    c         C   s   |  j  S(   N(   R   (   R   (    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyt   __call__   s    (   t   __name__t
   __module__R   R   R   (    (    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyR      s   	t
   SomeBucketc           B   s   e  Z d  Z d Z RS(   id   i   (   R   R	   t   maxburstt   rate(    (    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyR
      s   t   TestBucketBasec           B   s   e  Z d  „  Z d „  Z RS(   c         C   s(   t  j |  _ t ƒ  |  _ |  j t  _ d  S(   N(   R   R   t   _realTimeFuncR   t   clock(   R   (    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyt   setUp   s    c         C   s   |  j  t _ d  S(   N(   R   R   R   (   R   (    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyt   tearDown   s    (   R   R	   R   R   (    (    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyR      s   	t
   TestBucketc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s,   t  ƒ  } | j d ƒ } |  j d | ƒ d S(   s   Testing the size of the bucket.iè  id   N(   R
   t   addt   failUnlessEqual(   R   t   bt   fit(    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyt   testBucketSize   s    	c         C   sK   t  ƒ  } | j d ƒ } |  j j d ƒ | j d ƒ } |  j d | ƒ d S(   s    Testing the bucket's drain rate.iè  i
   i   N(   R
   R   R   R   R   (   R   R   R   (    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyt   testBucketDrian$   s
    	(   R   R	   R   R   (    (    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyR      s   	t   TestBucketNestingc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   sA   t  j |  ƒ t ƒ  |  _ t |  j ƒ |  _ t |  j ƒ |  _ d  S(   N(   R   R   R
   t   parentt   child1t   child2(   R   (    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyR   -   s    c         C   s6   |  j  j d ƒ |  j j d ƒ } |  j d | ƒ d  S(   NiZ   i
   (   R   R   R   R   (   R   R   (    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyt   testBucketParentSize3   s    c         C   sR   d |  j  _ |  j j d ƒ |  j j d ƒ |  j j d ƒ } |  j d | ƒ d  S(   Ni   id   i
   (   R   R   R   R   R   R   R   (   R   R   (    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyt   testBucketParentRate9   s
    (   R   R	   R   R   R   (    (    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyR   ,   s   		(   t   DummyConsumert   ConsumerShaperTestc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   sD   t  j |  ƒ t ƒ  |  _ t ƒ  |  _ t j |  j |  j ƒ |  _ d  S(   N(	   R   R   R   t
   underlyingR
   t   bucketR   t   ShapedConsumert   shaped(   R   (    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyR   L   s    c         C   st   d } |  j  j d ƒ |  j j d d ƒ |  j j | ƒ |  j j ƒ  |  j t |  j	 j
 ƒ  ƒ | |  j  j ƒ d  S(   Ni
   id   t   x(   R"   R   R$   t   writeR   R   t   resumeProducingR   t   lenR!   t   getvalueR   (   R   t   delta_t(    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyt   testRateR   s    c         C   s=   |  j  |  j j d ƒ |  j j ƒ  |  j  |  j j d ƒ d  S(   Ni   i    (   R   R"   t	   _refcountR$   t   stopProducing(   R   (    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyt   testBucketRefs]   s    (   R   R	   R   R+   R.   (    (    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyR    K   s   		N(    (   t   __version__t   twisted.trialR    t   twisted.protocolsR   R   t   BucketR
   t   TestCaseR   R   R   t   test_pcpR   R    (    (    (    s9   /usr/lib/python2.7/dist-packages/twisted/test/test_htb.pyt   <module>   s   	