ó
Fš´Tc           @   sa   d  d l  Z  d  d l Z d e  j f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(   iÿÿÿÿNt   BasicTestMappingProtocolc           B   s°   e  Z d Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   i d d 6d d 6d	 d 6S(
   s^   Return a dictionary of values which are invariant by storage
        in the object under test.t   2t   1t   value1t   key1i   i   i   t   key2(   i   i   i   (    (   t   self(    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt
   _reference   s    c         C   s
   |  j  ƒ  S(   s   Return an empty mapping object(   t	   type2test(   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   _empty_mapping   s    c         C   s7   |  j  ƒ  } x$ | j ƒ  D] \ } } | | | <q W| S(   sK   Return a mapping object with the value contained in data
        dictionary(   R	   t   items(   R   t   datat   xt   keyt   value(    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   _full_mapping   s    c         O   s†   t  j j |  | | Ž |  j ƒ  j ƒ  |  _ |  j j ƒ  \ } } i | | 6|  _ |  j j ƒ  \ } } i | | 6|  _ | |  j | <d  S(   N(	   t   unittestt   TestCaset   __init__R   t   copyt	   referencet   popitemt   othert	   inmapping(   R   t   argst   kwR   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR      s    c            sé  ˆ j  ƒ  } t | ƒ } ˆ j ˆ j ƒ ‰  ˆ  | k r? | } n  x1 ˆ j j ƒ  D]  \ } } ˆ j ˆ  | | ƒ qO Wt ˆ j j ƒ  ƒ d ‰ ˆ j	 t
 ‡  ‡ f d †  ƒ ˆ j t | ƒ d ƒ ˆ j t ˆ  ƒ t ˆ j ƒ ƒ x! ˆ j D] } ˆ j | ˆ  ƒ qç Wx! ˆ j D] } ˆ j | ˆ  ƒ qWˆ j | | ƒ ˆ j ˆ  ˆ  ƒ ˆ j | ˆ  ƒ ˆ j ˆ  | ƒ | r{ˆ j d ƒ n  ˆ  s‘ˆ j d ƒ n  ‡ f d †  } | t ˆ  j ƒ  ƒ t ˆ  j ƒ  ƒ ˆ j j ƒ  ƒ | t ˆ  ƒ t ˆ  j ƒ  ƒ ˆ j j ƒ  ƒ | t ˆ  j ƒ  ƒ t ˆ  j ƒ  ƒ ˆ j j ƒ  ƒ | t ˆ  j ƒ  ƒ t ˆ  j ƒ  ƒ ˆ j j ƒ  ƒ t t ˆ  j ƒ  ƒ ƒ \ } } t t ˆ j j ƒ  ƒ ƒ \ ‰ } ˆ j ˆ  j | | ƒ | ƒ ˆ j ˆ  j ˆ | ƒ | ƒ ˆ j ˆ ˆ  ƒ d  S(   Ni    c              s   ˆ  ˆ S(   N(    (    (   t   dt   knownkey(    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   <lambda>5   s    s#   Empty mapping must compare to Falses!   Full mapping must compare to Truec            sq   ˆ  j  t |  d ƒ ƒ ˆ  j  t |  d ƒ ƒ t |  ƒ } ˆ  j  t | ƒ t | ƒ k og t | ƒ k n ƒ d  S(   Nt   __next__t   __iter__(   t
   assertTruet   hasattrt   listt   set(   t   itert   lstt   refR   (   R   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   check_iterandlistG   s    (   R	   t   dictR   R   R
   t   assertEqualR!   R   t   keyst   assertRaisest   KeyErrort   lent   assertInt   assertNotInt   assertNotEqualt   failR#   t   valuest   nextt   get(   R   t   pt   p1R   R   t   kR&   t
   knownvalue(    (   R   R   R   s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt	   test_read*   sH    	  !+!!!c            s¤  |  j  ƒ  ‰ x; |  j j ƒ  D]* \ ‰  } | ˆ ˆ  <|  j ˆ ˆ  | ƒ q Wx: |  j j ƒ  D]) ‰  ˆ ˆ  =|  j t ‡  ‡ f d †  ƒ qZ W|  j  ƒ  ‰ ˆ j |  j ƒ |  j t ˆ ƒ |  j ƒ t	 ˆ j ƒ  ƒ } |  j  ƒ  ‰ ˆ j | ƒ |  j t ˆ ƒ |  j ƒ |  j
 |  j ƒ } t t | j ƒ  ƒ ƒ \ ‰  } t t |  j j ƒ  ƒ ƒ \ } } |  j | j ˆ  | ƒ | ƒ |  j | ˆ  | ƒ |  j | j | | ƒ | ƒ |  j | | | ƒ |  j | j | ƒ | ƒ |  j | | ƒ |  j t | j | ƒ d } | | | <|  j | j | | ƒ | ƒ |  j | | ƒ |  j | j | | ƒ | ƒ | j ƒ  \ ‰  } |  j ˆ  | ƒ |  j | |  j ˆ  ƒ |  j  ƒ  ‰ |  j t ˆ j ƒ d  S(   Nc              s   ˆ ˆ  S(   N(    (    (   R   R4   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR   c   s    i  (   R	   R   R
   R(   R)   R*   R+   t   updateR'   R!   R   R2   R#   R   t
   setdefaultt   popR.   R   (   R   R   R
   R   R   R7   t   default(    (   R   R4   s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt
   test_writeZ   sD    
 !
c         C   s    |  j  |  j ƒ  |  j ƒ  ƒ d  S(   N(   R(   R	   (   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   test_constructor„   s    c         C   sc   |  j  |  j ƒ  ƒ |  j  |  j ƒ |  j  t |  j ƒ  ƒ t k ƒ |  j  t |  j ƒ t k ƒ d  S(   N(   R   R	   R   t   boolt   Falset   True(   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt	   test_bool‡   s    c         C   s   |  j  ƒ  } |  j t | j ƒ  ƒ g  ƒ |  j } |  j t |  j j ƒ  ƒ d | j ƒ  ƒ |  j t |  j j ƒ  ƒ d | j ƒ  ƒ |  j	 t
 | j d  ƒ d  S(   Ni    (   R	   R(   R!   R)   R   R-   R   R.   R   R*   t	   TypeErrort   None(   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt	   test_keys   s    	))c         C   sB   |  j  ƒ  } |  j t | j ƒ  ƒ g  ƒ |  j t | j d  ƒ d  S(   N(   R	   R(   R!   R1   R*   RC   RD   (   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   test_values•   s    c         C   sB   |  j  ƒ  } |  j t | j ƒ  ƒ g  ƒ |  j t | j d  ƒ d  S(   N(   R	   R(   R!   R
   R*   RC   RD   (   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt
   test_items›   s    c         C   s&   |  j  ƒ  } |  j t | ƒ d ƒ d  S(   Ni    (   R	   R(   R,   (   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   test_len¡   s    c         C   sZ   |  j  } |  j | t |  j j ƒ  ƒ d t |  j j ƒ  ƒ d ƒ |  j t | j ƒ d  S(   Ni    (	   R   R(   R!   R   R)   R1   R*   RC   t   __getitem__(   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   test_getitem¥   s    	 c            s¹  |  j  ƒ  } | j |  j ƒ |  j t | j ƒ  ƒ t |  j j ƒ  ƒ ƒ |  j  ƒ  } | j ƒ  |  j | |  j  ƒ  ƒ |  j  ƒ  } | j |  j j ƒ  ƒ |  j t | j ƒ  ƒ t |  j j ƒ  ƒ ƒ |  j  ƒ  } | j |  j j ƒ  ƒ |  j t | j ƒ  ƒ t |  j j ƒ  ƒ ƒ |  j t t f | j d ƒ |  ‰ d d ‡ f d †  ƒ  Y} | j	 ƒ  | j | ƒ  ƒ t
 | j ƒ  ƒ } t
 |  j j ƒ  ƒ } |  j | | ƒ d t f d „  ƒ  Y‰  |  j  ƒ  } d d ‡  f d †  ƒ  Y} |  j ˆ  | j | ƒ  ƒ | j	 ƒ  d d ‡  f d †  ƒ  Y} |  j ˆ  | j | ƒ  ƒ d d ‡  f d	 †  ƒ  Y} |  j ˆ  | j | ƒ  ƒ |  j  ƒ  } d
 t f ‡  f d †  ƒ  Y} |  j ˆ  | j | ƒ  ƒ |  j t | j d g ƒ d  S(   Ni*   t   SimpleUserDictc              s)   e  Z ‡  f d  †  Z d „  Z d „  Z RS(   c            s   ˆ  j  |  _ d  S(   N(   R   R   (   R   (   t	   outerself(    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR   Ç   s    c         S   s   |  j  j ƒ  S(   N(   R   R)   (   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR)   É   s    c         S   s   |  j  | S(   N(   R   (   R   t   i(    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRI   Ë   s    (   t   __name__t
   __module__R   R)   RI   (    (   RL   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRK   Æ   s   	t   Excc           B   s   e  Z RS(    (   RN   RO   (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRP   Ó   s    t   FailingUserDictc              s   e  Z ‡  f d  †  Z RS(   c            s
   ˆ  ‚ d  S(   N(    (   R   (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR)   ×   s    (   RN   RO   R)   (    (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRQ   Ö   s   c              s    e  Z ‡  f d  †  Z d „  Z RS(   c            s    d d ‡  f d †  ƒ  Y} | ƒ  S(   Nt	   BogonIterc              s)   e  Z d  „  Z d „  Z ‡  f d †  Z RS(   c         S   s   d |  _  d  S(   Ni   (   RM   (   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR   à   s    c         S   s   |  S(   N(    (   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR   â   s    c            s    |  j  r d |  _  d Sˆ  ‚ d  S(   Ni    t   a(   RM   (   R   (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR   ä   s    		(   RN   RO   R   R   R   (    (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRR   ß   s   		(    (    (   R   RR   (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR)   Þ   s    
c         S   s   | S(   N(    (   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRI   ê   s    (   RN   RO   R)   RI   (    (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRQ   Ý   s   c              s    e  Z d  „  Z ‡  f d †  Z RS(   c         S   s   d d d „  ƒ  Y} | ƒ  S(   NRR   c           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         S   s   t  d ƒ |  _ d  S(   NRS   (   t   ordRM   (   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR   ñ   s    c         S   s   |  S(   N(    (   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR   ó   s    c         S   sA   |  j  t d ƒ k r7 t |  j  ƒ } |  j  d 7_  | St ‚ d  S(   Nt   zi   (   RM   RT   t   chrt   StopIteration(   R   t   rtn(    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR   õ   s
    (   RN   RO   R   R   R   (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRR   ð   s   		(    (    (   R   RR   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR)   ï   s    c            s
   ˆ  ‚ d  S(   N(    (   R   R   (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRI   ü   s    (   RN   RO   R)   RI   (    (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRQ   î   s   	t   badseqc              s    e  Z d  „  Z ‡  f d †  Z RS(   c         S   s   |  S(   N(    (   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR     s    c            s   ˆ  ƒ  ‚ d  S(   N(    (   R   (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR     s    (   RN   RO   R   R   (    (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRY     s   	i   i   i   (    (    (    (    (   i   i   i   (   R	   R9   R   R(   R!   R
   R*   RC   t   AttributeErrort   cleart   sortedR   t	   Exceptiont   objectt
   ValueError(   R   R   RK   t   i1t   i2RQ   RY   (    (   RP   RL   s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   test_update¬   sB    +
++

c         C   s…  |  j  ƒ  } |  j | j t |  j j ƒ  ƒ d ƒ d  k ƒ |  j | j t |  j j ƒ  ƒ d d ƒ d ƒ |  j } |  j | j t |  j j ƒ  ƒ d ƒ d  k ƒ |  j | j t |  j j ƒ  ƒ d d ƒ d ƒ |  j | j t |  j	 j ƒ  ƒ d ƒ t |  j	 j
 ƒ  ƒ d ƒ |  j | j t |  j	 j ƒ  ƒ d d ƒ t |  j	 j
 ƒ  ƒ d ƒ |  j t | j ƒ |  j t | j d  d  d  ƒ d  S(   Ni    i   (   R	   R   R3   R!   R   R)   RD   R(   R   R   R1   R*   RC   (   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   test_get  s    //	//%(c         C   s#   |  j  ƒ  } |  j t | j ƒ d  S(   N(   R	   R*   RC   R:   (   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   test_setdefault  s    c         C   s9   |  j  ƒ  } |  j t | j ƒ |  j t | j d ƒ d  S(   Ni*   (   R	   R*   R+   R   RC   (   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   test_popitem  s    c         C   s§   |  j  ƒ  } t |  j j ƒ  ƒ d \ } } | | | <|  j t | j t |  j j ƒ  ƒ d ƒ |  j	 | j | ƒ | ƒ |  j	 t
 | ƒ d ƒ |  j t | j | ƒ d  S(   Ni    (   R	   R!   R   R
   R*   R+   R;   R   R)   R(   R,   (   R   R   R6   t   v(    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   test_pop$  s    
)N(   RN   RO   RD   R   R   R	   R   R   R8   R=   R>   RB   RE   RF   RG   RH   RJ   Rb   Rc   Rd   Re   Rg   (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR       s&   					0	*								a			t   TestMappingProtocolc           B   s˜   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s`   t  j |  ƒ |  j |  j ƒ  |  j ƒ  k	 ƒ |  j |  j d d d d ƒ i d d 6d d 6ƒ d  S(   NR   i   t   yi   (   R    R>   R   R	   R(   R   (   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR>   1  s    c         C   sŠ   t  j |  ƒ |  j |  j ƒ  ƒ |  j |  j i d d 6ƒ ƒ |  j t |  j ƒ  ƒ t k ƒ |  j t |  j i d d 6ƒ ƒ t k ƒ d  S(   NRi   R   (   R    RB   R   R	   R   R?   R@   RA   (   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRB   6  s
    c         C   s’   t  j |  ƒ |  j ƒ  } |  j t | j ƒ  ƒ g  ƒ |  j i d d 6d d 6ƒ } | j ƒ  } |  j d | ƒ |  j d | ƒ |  j d | ƒ d  S(   Ni   RS   i   t   bt   c(	   R    RE   R	   R(   R!   R)   R   R-   R.   (   R   R   R6   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRE   =  s    c         C   sF   t  j |  ƒ |  j i d d 6ƒ } |  j t | j ƒ  ƒ d g ƒ d  S(   Ni   i   (   R    RF   R   R(   R!   R1   (   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRF   G  s    c         C   sF   t  j |  ƒ |  j i d d 6ƒ } |  j t | j ƒ  ƒ d g ƒ d  S(   Ni   i   (   i   i   (   R    RG   R   R(   R!   R
   (   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRG   L  s    c         C   s¦   |  j  ƒ  } |  j d | ƒ |  j d | k ƒ |  j d | k ƒ |  j i d d 6d d 6ƒ } |  j d | ƒ |  j d | ƒ |  j d | ƒ |  j t | j ƒ d  S(   NRS   i   i   Rj   Rk   (   R	   R.   R   R   R-   R*   RC   t   __contains__(   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   test_containsR  s    c         C   sD   t  j |  ƒ |  j i d d 6d d 6ƒ } |  j t | ƒ d ƒ d  S(   Ni   RS   i   Rj   (   R    RH   R   R(   R,   (   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRH   ^  s    c         C   sÊ   t  j |  ƒ |  j i d d 6d d 6ƒ } |  j | d d ƒ |  j | d d ƒ d | d <d | d <|  j | d d ƒ |  j | d d ƒ | d =|  j | i d d 6d d 6ƒ |  j t | j ƒ d  S(   Ni   RS   i   Rj   i   Rk   i   (   R    RJ   R   R(   R*   RC   RI   (   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRJ   c  s    

c         C   sX   |  j  i d d 6d d 6d d 6ƒ } | j ƒ  |  j | i  ƒ |  j t | j d  ƒ d  S(   Ni   i   i   (   R   R[   R(   R*   RC   RD   (   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt
   test_clearq  s    $
c         C   sz  t  j |  ƒ |  j ƒ  } | j i d d 6ƒ | j i d d 6ƒ | j i d d 6d d 6d d 6ƒ |  j | i d d 6d d 6d d 6ƒ | j ƒ  |  j | i d d 6d d 6d d 6ƒ |  j ƒ  } | j d d ƒ | j d d ƒ | j d d d d d d ƒ |  j | i d d 6d d 6d d 6ƒ |  j ƒ  } | j d d g ƒ |  j | i d d 6d d 6ƒ |  j ƒ  } | j d d g d d d d ƒ|  j | i d d 6d d 6ƒ |  j i d d 6d	 d 6ƒ } | j |  j i d d 6d	 d 6d
 d 6ƒ j ƒ  ƒ |  j | i d d 6d	 d 6d	 d 6d
 d 6ƒ d d d „  ƒ  Y} | j ƒ  | j | ƒ  ƒ |  j | i d d 6d d 6d d 6ƒ d  S(   Nid   i   i   i   i   R   Ri   RU   i   i   i   RK   c           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         S   s"   i d d 6d d 6d d 6|  _  d  S(   Ni   i   i   (   R   (   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR   œ  s    c         S   s   |  j  j ƒ  S(   N(   R   R)   (   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR)   ž  s    c         S   s   |  j  | S(   N(   R   (   R   RM   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRI      s    (   RN   RO   R   R)   RI   (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRK   ›  s   		(   R   id   (   Ri   i   (   R   id   (   Ri   i   (    (   R    Rb   R	   R9   R(   R   R
   R[   (   R   R   RK   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRb   x  s4    "%
%%1,
c   	         sù  |  j  |  j j d ƒ i d  d 6d  d 6d  d 6ƒ |  j ƒ  } |  j | j d ƒ | k	 ƒ |  j  | j d ƒ i d  d 6d  d 6d  d 6ƒ |  j  | j d d ƒ i d d 6d d 6ƒ |  j  | j g  ƒ i  ƒ d „  } |  j  | j | ƒ  ƒ i d  d	 6ƒ |  j t i  j d
 ƒ d |  j f d „  ƒ  Y} |  j  | j d ƒ i d  d 6ƒ |  j  | ƒ  j d ƒ i d  d 6ƒ |  j | j d ƒ j | k ƒ |  j | ƒ  j d ƒ j | k ƒ |  j t	 | j d ƒ ƒ | k ƒ d |  j f d „  ƒ  Y} | j d ƒ } |  j  | i d  d 6d  d 6ƒ |  j
 | t j ƒ |  j t t j ƒ d t f d „  ƒ  Y‰  d |  j f ‡  f d †  ƒ  Y} |  j ˆ  | j d	 g ƒ d t f ‡  f d †  ƒ  Y} |  j ˆ  |  j j | ƒ  ƒ d |  j f ‡  f d †  ƒ  Y} |  j ˆ  | j d	 g ƒ d  S(   Nt   abcRS   Rj   Rk   i   i   i    c           s   s	   d Vd  S(   Ni   (    (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   g­  s    i   i   t   dictlikec           B   s   e  Z RS(    (   RN   RO   (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRq   ±  s    t   mydictc           B   s   e  Z d  „  Z RS(   c         S   s
   t  j ƒ  S(   N(   t   collectionst   UserDict(   t   cls(    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   __new__¸  s    (   RN   RO   Rv   (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRr   ·  s   t   abRP   c           B   s   e  Z RS(    (   RN   RO   (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRP   ¿  s    t   baddict1c              s   e  Z ‡  f d  †  Z RS(   c            s   ˆ  ƒ  ‚ d  S(   N(    (   R   (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR   Â  s    (   RN   RO   R   (    (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRx   Á  s   t   BadSeqc              s    e  Z d  „  Z ‡  f d †  Z RS(   c         S   s   |  S(   N(    (   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR   È  s    c            s   ˆ  ƒ  ‚ d  S(   N(    (   R   (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR   Ê  s    (   RN   RO   R   R   (    (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRy   Ç  s   	t   baddict2c              s   e  Z ‡  f d  †  Z RS(   c            s   ˆ  ƒ  ‚ d  S(   N(    (   R   R   R   (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   __setitem__Ð  s    (   RN   RO   R{   (    (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRz   Ï  s   (   i   i   (   R(   R   t   fromkeysRD   R	   R   R*   RC   t	   __class__t   typet   assertIsInstanceRs   Rt   R'   R]   R^   (	   R   R   Rp   Rq   Rr   t   udRx   Ry   Rz   (    (   RP   s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   test_fromkeys¦  s6    1.*	# #""c         C   s¤   |  j  i d d 6d d 6d d 6ƒ } |  j | j ƒ  i d d 6d d 6d d 6ƒ |  j ƒ  } |  j | j ƒ  | ƒ |  j | j ƒ  | j ƒ |  j t | j d  ƒ d  S(   Ni   i   i   (	   R   R(   R   R	   R   R}   R*   RC   RD   (   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt	   test_copyÕ  s    $+c         C   sß   t  j |  ƒ |  j ƒ  } |  j | j d ƒ d  k ƒ |  j | j d d ƒ d ƒ |  j i d d 6d d 6ƒ } |  j | j d ƒ d  k ƒ |  j | j d d ƒ d ƒ |  j | j d ƒ d ƒ |  j | j d d ƒ d ƒ d  S(   NRk   i   i   RS   i   Rj   (   R    Rc   R	   R   R3   RD   R(   R   (   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRc   Ý  s    c         C   sÉ   t  j |  ƒ |  j ƒ  } |  j | j d ƒ d  k ƒ | j d g  ƒ |  j | j d ƒ d  k ƒ | j d g  ƒ j d ƒ |  j | d d d ƒ | j d g  ƒ j d ƒ |  j t | d ƒ d ƒ d  S(   Nt   key0R   i   i    i   i   (	   R    Rd   R	   R   R:   RD   t   appendR(   R,   (   R   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRd   è  s    c         C   sn  t  j |  ƒ xZd d 
f D]K} xBt d ƒ D]4} d | } |  j ƒ  } |  j ƒ  } xC t | ƒ D]5 } | | t | ƒ <| d k  rc | | t | ƒ <qc qc W| d k r· | j ƒ  } n  xŒ t | ƒ D]~ } | j ƒ  \ } } }	 |  j | t | ƒ ƒ | j ƒ  \ }
 } } |  j | t |
 ƒ ƒ |  j	 | d k  o=|	 | k ƒ qÄ W|  j	 | ƒ |  j	 | ƒ q. Wq Wd  S(   Niÿÿÿÿi   i   i   i    (
   R    Re   t   rangeR	   t   reprR   R   R(   t   intR   (   R   t   copymodet   log2sizet   sizeRS   Rj   RM   t   kat   vat   tat   kbt   vbt   tb(    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRe   ó  s(    
$c         C   sk   t  j |  ƒ |  j ƒ  } d \ } } |  j | j | | ƒ | ƒ | | | <|  j | j | d ƒ | ƒ d  S(   NRo   t   defi   (   Ro   R‘   (   R    Rg   R	   R(   R;   (   R   R   R6   Rf   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRg     s    
(   RN   RO   R>   RB   RE   RF   RG   Rm   RH   RJ   Rn   Rb   R   R‚   Rc   Rd   Re   Rg   (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRh   0  s    			
							.	/				t   TestHashMappingProtocolc           B   sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c            sÌ   t  j |  ƒ d t f d „  ƒ  Y‰  d t f ‡  f d †  ƒ  Y} |  j ƒ  } d | | ƒ  <|  j t | j d ƒ d t f ‡  f d †  ƒ  Y} |  j ƒ  } | ƒ  } d | | <t | _	 |  j ˆ  | j | ƒ d  S(	   NRP   c           B   s   e  Z RS(    (   RN   RO   (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRP     s    t   BadEqc              s    e  Z ‡  f d  †  Z d „  Z RS(   c            s   ˆ  ƒ  ‚ d  S(   N(    (   R   R   (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   __eq__  s    c         S   s   d S(   Ni   (    (   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   __hash__   s    (   RN   RO   R”   R•   (    (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR“     s   i*   i   t   BadHashc              s   e  Z e Z ‡  f d  †  Z RS(   c            s   |  j  r ˆ  ƒ  ‚ n d Sd  S(   Ni*   (   R0   (   R   (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR•   )  s    	(   RN   RO   R@   R0   R•   (    (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR–   '  s   (
   Rh   RJ   R]   R^   R	   R*   R+   RI   RA   R0   (   R   R“   R   R–   R   (    (   RP   s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRJ     s    	
	c         C   sj   t  j |  ƒ d |  j f d „  ƒ  Y} | j d ƒ } |  j | i d  d 6d  d 6ƒ |  j | t j ƒ d  S(   NRr   c           B   s   e  Z d  „  Z RS(   c         S   s
   t  j ƒ  S(   N(   Rs   Rt   (   Ru   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRv   8  s    (   RN   RO   Rv   (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRr   7  s   Rw   RS   Rj   (	   Rh   R   R   R|   R(   RD   R   Rs   Rt   (   R   Rr   R€   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR   5  s
    c            s   t  j |  ƒ d t f d „  ƒ  Y‰  d t f ‡  f d †  ƒ  Y} |  j ƒ  } | ƒ  } d | | <t | _ |  j ˆ  | j | ƒ d  S(   NRP   c           B   s   e  Z RS(    (   RN   RO   (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRP   A  s    R–   c              s   e  Z e Z ‡  f d  †  Z RS(   c            s   |  j  r ˆ  ƒ  ‚ n d Sd  S(   Ni*   (   R0   (   R   (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR•   E  s    	(   RN   RO   R@   R0   R•   (    (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR–   C  s   i*   (	   Rh   Rg   R]   R^   R	   RA   R0   R*   R;   (   R   R–   R   R   (    (   RP   s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRg   >  s    	
	c         C   s^   |  j  ƒ  } d | d <y# x | D] } d | | d <q  WWn t k
 rL n X|  j d ƒ d  S(   Ni   s7   changing dict size during iteration doesn't raise Error(   R	   t   RuntimeErrorR0   (   R   R   RM   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   test_mutatingiterationQ  s    
c            sÐ   |  j  ƒ  } |  j t | ƒ d ƒ d | d <|  j t | ƒ d ƒ |  j  ƒ  } | | d <|  j t | ƒ d ƒ d t f d „  ƒ  Y‰  d t f ‡  f d	 †  ƒ  Y} |  j i | ƒ  d 6ƒ } |  j ˆ  t | ƒ d  S(
   Ns   {}i   i   s   {1: 2}s
   {1: {...}}RP   c           B   s   e  Z RS(    (   RN   RO   (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRP   e  s    t   BadReprc              s   e  Z ‡  f d  †  Z RS(   c            s   ˆ  ƒ  ‚ d  S(   N(    (   R   (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   __repr__h  s    (   RN   RO   Rš   (    (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR™   g  s   (   R	   R(   R†   R]   R^   R   R*   (   R   R   R™   (    (   RP   s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt	   test_repr\  s    

c            sæ   |  j  |  j ƒ  |  j ƒ  ƒ |  j  |  j i d d 6ƒ |  j i d d 6ƒ ƒ d t f d „  ƒ  Y‰ d t f ‡ f d †  ƒ  Y‰  |  j i d ˆ  ƒ  6ƒ ‰ |  j i d d 6ƒ ‰ |  j ˆ ‡  f d †  ƒ |  j ˆ ‡ ‡ f d †  ƒ d  S(	   Ni   i   RP   c           B   s   e  Z RS(    (   RN   RO   (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRP   s  s    t   BadCmpc              s    e  Z ‡  f d  †  Z d „  Z RS(   c            s   ˆ  ƒ  ‚ d  S(   N(    (   R   R   (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR”   v  s    c         S   s   d S(   Ni   (    (   R   (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR•   x  s    (   RN   RO   R”   R•   (    (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRœ   u  s   c              s   ˆ  ƒ  d k S(   Ni   (    (    (   Rœ   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR   }  s    c              s
   ˆ  ˆ k S(   N(    (    (   t   d1t   d2(    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR   ~  s    (   R(   R	   R   R]   R^   R*   (   R   (    (   Rœ   RP   R   Rž   s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   test_eqn  s    c            s„   t  j |  ƒ d t f d „  ƒ  Y‰  d t f ‡  f d †  ƒ  Y} |  j ƒ  } | ƒ  } d | | <t | _ |  j ˆ  | j | g  ƒ d  S(   NRP   c           B   s   e  Z RS(    (   RN   RO   (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRP   ƒ  s    R–   c              s   e  Z e Z ‡  f d  †  Z RS(   c            s   |  j  r ˆ  ƒ  ‚ n d Sd  S(   Ni*   (   R0   (   R   (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR•   ‡  s    	(   RN   RO   R@   R0   R•   (    (   RP   (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR–   …  s   i*   (	   Rh   Rd   R]   R^   R	   RA   R0   R*   R:   (   R   R–   R   R   (    (   RP   s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyRd   €  s    	
	(	   RN   RO   RJ   R   Rg   R˜   R›   RŸ   Rd   (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyR’     s   							(   R   Rs   R   R    Rh   R’   (    (    (    s=   lib/python2.7/site-packages/linecache2/tests/mapping_tests.pyt   <module>   s
   ÿ +ç