ó
P'—^c           @@  s   d  d l  m Z d  d l m Z d  d l m Z d  d l m Z d e f d „  ƒ  YZ	 d „  Z
 d e f d	 „  ƒ  YZ d
 e f d „  ƒ  YZ d S(   i    (   t   absolute_import(   t   range(   t   safe_ref(   t   Caset   Class1c           B@  s   e  Z d  „  Z RS(   c         C@  s   d  S(   N(    (   t   self(    (    sA   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_saferef.pyt   x
   s    (   t   __name__t
   __module__R   (    (    (    sA   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_saferef.pyR      s   c         C@  s   d  S(   N(    (   t   obj(    (    sA   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_saferef.pyt   fun   s    t   Class2c           B@  s   e  Z d  „  Z RS(   c         C@  s   d  S(   N(    (   R   R	   (    (    sA   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_saferef.pyt   __call__   s    (   R   R   R   (    (    (    sA   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_saferef.pyR      s   t   SaferefTestsc           B@  sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C@  sì   g  } g  } xL t  d ƒ D]> } t ƒ  } | j | ƒ t | j |  j ƒ } | j | ƒ q W| j t ƒ | j t t |  j ƒ ƒ xI t  d ƒ D]; } t ƒ  } | j | ƒ t | |  j ƒ } | j | ƒ qŽ W| |  _ | |  _	 d |  _
 d  S(   Niˆ  i   i    (   R   R   t   appendR   R   t   _closureR
   R   t   tst   sst   closureCount(   R   R   R   R   t   tt   s(    (    sA   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_saferef.pyt   setUp   s"    				c         C@  s   |  `  |  ` d  S(   N(   R   R   (   R   (    (    sA   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_saferef.pyt   tearDown-   s    c         C@  s;   x4 |  j  d  D]% } |  j t | j ƒ |  j k ƒ q Wd S(   sK   test_in

        Test the "in" operator for safe references (cmp)

        i2   N(   R   t
   assertTrueR   R   R   (   R   R   (    (    sA   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_saferef.pyt   test_in1   s    c         C@  s(   x! |  j  D] } |  j | ƒ  ƒ q
 Wd S(   sZ   test_value

        Test that the references are valid (return instance methods)

        N(   R   R   (   R   R   (    (    sA   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_saferef.pyt
   test_valid:   s    c         C@  s}   i  } x |  j  D] } d | | <q WxR |  j D]G } t | d ƒ r_ |  j t | j ƒ | ƒ q. |  j t | ƒ | ƒ q. Wd S(   sc   test_shortcircuit

        Test that creation short-circuits to reuse existing references

        i   R   N(   R   R   t   hasattrt   assertInR   R   (   R   t   sdR   R   (    (    sA   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_saferef.pyt   test_shortcircuitC   s    c         C@  s   t  |  j d ƒ d S(   s¶   test_representation

        Test that the reference object's representation works

        XXX Doesn't currently check the results, just that no error
            is raised
        iÿÿÿÿN(   t   reprR   (   R   (    (    sA   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_saferef.pyt   test_representationR   s    c         C@  s   |  j  d 7_  d S(   s4   Dumb utility mechanism to increment deletion counteri   N(   R   (   R   t   ref(    (    sA   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_saferef.pyR   \   s    (	   R   R   R   R   R   R   R   R   R   (    (    (    sA   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_saferef.pyR      s   								
N(   t
   __future__R    t   celery.fiveR   t   celery.utils.dispatch.saferefR   t   celery.tests.caseR   t   objectR   R
   R   R   (    (    (    sA   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_saferef.pyt   <module>   s   	