mò
­fIc           @   s[   d  k  Z  d  k Z d e  i f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d  S(   Nt   BasicTestMappingProtocolc           B   s°   t  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(   Nc         C   s   h  d d <d d <d d <S(	   s^   Return a dictionary of values which are invariant by storage
        in the object under test.i   i   t   key1t   value1t   key2i   N(   i   i   i   (    (   t   self(    (    t/   /mit/python/lib/python2.4/test/mapping_tests.pyt
   _reference   s     c         C   s
   |  i ƒ  S(   s   Return an empty mapping objectN(   R   t	   type2test(   R   (    (    R   t   _empty_mapping   s     c         C   s7   |  i ƒ  } x$ | i ƒ  D] \ } } | | | <q W| S(   sK   Return a mapping object with the value contained in data
        dictionaryN(   R   R   t   xt   datat   itemst   keyt   value(   R   R
   R	   R   R   (    (    R   t   _full_mapping   s      c         O   sŠ   t  i i |  | | Ž |  i ƒ  i ƒ  |  _ |  i i	 ƒ  \ } } h  | | <|  _ |  i i	 ƒ  \ } } h  | | <|  _ | |  i | <d  S(   N(   t   unittestt   TestCaset   __init__R   t   argst   kwR   t   copyt	   referencet   popitemR   R   t   othert	   inmapping(   R   R   R   R   R   (    (    R   R      s    c   
         s  ˆ  i ƒ  } t | ƒ } ˆ  i ˆ  i ƒ ‰ ˆ | j o
 | } n x1 ˆ  i i ƒ  D]  \ } } ˆ  i ˆ | | ƒ qQ Wˆ  i i ƒ  d ‰ ˆ  i t ‡ ‡ d †  ƒ ˆ  i t | ƒ d ƒ ˆ  i t ˆ ƒ t ˆ  i ƒ ƒ x: ˆ  i D]/ }	 ˆ  i ˆ i |	 ƒ ƒ ˆ  i |	 ˆ j ƒ qà Wx: ˆ  i D]/ }	 ˆ  i ˆ i |	 ƒ ƒ ˆ  i |	 ˆ j ƒ qWˆ  i t | | ƒ d ƒ ˆ  i t ˆ ˆ ƒ d ƒ ˆ  i t | ˆ ƒ d ƒ ˆ  i t ˆ | ƒ d ƒ | o ˆ  i d ƒ n ˆ p ˆ  i d ƒ n ‡  d †  } | ˆ i ƒ  ˆ i ƒ  ˆ  i i ƒ  ƒ | t ˆ ƒ ˆ i ƒ  ˆ  i i ƒ  ƒ | ˆ i ƒ  ˆ i ƒ  ˆ  i i ƒ  ƒ | ˆ i ƒ  ˆ i ƒ  ˆ  i i ƒ  ƒ ˆ i ƒ  i ƒ  \ } } ˆ  i i ƒ  i ƒ  \ ‰ } ˆ  i ˆ i  | | ƒ | ƒ ˆ  i ˆ i  ˆ | ƒ | ƒ ˆ  i ˆ ˆ j ƒ d  S(   Ni    c              s   ˆ ˆ  S(   N(   t   dt   knownkey(    (   R   R   (    R   t   <lambda>5   s    iÿÿÿÿi   s#   Empty mapping must compare to Falses!   Full mapping must compare to Truec            sr   ˆ  i t |  d ƒ ƒ ˆ  i t |  d ƒ ƒ t |  ƒ } ˆ  i t | ƒ t | ƒ j o t | ƒ j n ƒ d  S(   Nt   nextt   __iter__(	   R   t   assert_t   hasattrt   itert   listR	   t   sett   lstt   ref(   R    R#   R$   R	   (   R   (    R   t   check_iterandlistI   s    (!   R   R   t   pt   dictt   p1R   R   R   R   R   R   t   assertEqualR   t   keysR   t   failUnlessRaisest   KeyErrort   lent   kR   t   has_keyt   failIft   cmpt   failR%   t   iterkeysR    t
   itervaluest   valuest	   iteritemsR   t
   knownvaluet   get(
   R   R   R(   R   R%   R   R7   R&   R   R.   (    (   R   R   R   R   t	   test_read*   sL    
 
 
   %%%%c   	         s˜  |  i ƒ  ‰  x; |  i i ƒ  D]* \ ‰ } | ˆ  ˆ <|  i ˆ  ˆ | ƒ q Wx7 |  i i ƒ  D]& ‰ ˆ  ˆ =|  i	 t
 ‡  ‡ d †  ƒ qZ W|  i ƒ  ‰  ˆ  i |  i ƒ |  i t ˆ  ƒ |  i ƒ ˆ  i ƒ  } |  i ƒ  ‰  ˆ  i | ƒ |  i t ˆ  ƒ |  i ƒ |  i |  i ƒ } | i ƒ  i ƒ  \ ‰ } |  i i ƒ  i ƒ  \ } } |  i | i ˆ | ƒ | ƒ |  i | ˆ | ƒ |  i | i | | ƒ | ƒ |  i | | | ƒ |  i | i | ƒ | ƒ |  i | | j ƒ |  i t
 | i | ƒ d } | | | <|  i | i | | ƒ | ƒ |  i | | j ƒ |  i | i | | ƒ | ƒ | i ƒ  \ ‰ } |  i ˆ | j ƒ |  i | |  i ˆ ƒ |  i ƒ  ‰  |  i t
 ˆ  i ƒ d  S(   Nc              s   ˆ  ˆ S(   N(   R&   R   (    (   R&   R   (    R   R   b   s    i  (   R   R   R&   R   R   R   R   R)   R*   R+   R,   t   updateR'   R   R   R6   R   R   R   R7   t
   setdefaultt   popR0   t   assertRaisest   defaultR   (	   R   R   R   R>   R   R   R&   R7   R   (    (   R&   R   R   t
   test_writeY   sH     
 
c         C   s    |  i |  i ƒ  |  i ƒ  ƒ d  S(   N(   R   R)   R   (   R   (    (    R   t   test_constructorƒ   s    c         C   sc   |  i |  i ƒ  ƒ |  i |  i ƒ |  i t |  i ƒ  ƒ t j ƒ |  i t |  i ƒ t j ƒ d  S(   N(   R   R   R   R   t   boolt   Falset   True(   R   (    (    R   t	   test_bool†   s    c         C   s‘   |  i ƒ  } |  i | i ƒ  g  ƒ |  i } |  i |  i i ƒ  d | i ƒ  j ƒ |  i |  i i ƒ  d | i ƒ  j ƒ |  i	 t
 | i d  ƒ d  S(   Ni    (   R   R   R   R)   R*   R   R   R   R   R=   t	   TypeErrort   None(   R   R   (    (    R   t	   test_keysŒ   s    	&&c         C   s<   |  i ƒ  } |  i | i ƒ  g  ƒ |  i t | i d  ƒ d  S(   N(   R   R   R   R)   R5   R=   RE   RF   (   R   R   (    (    R   t   test_values”   s    c         C   s<   |  i ƒ  } |  i | i ƒ  g  ƒ |  i t | i d  ƒ d  S(   N(   R   R   R   R)   R   R=   RE   RF   (   R   R   (    (    R   t
   test_itemsš   s    c         C   s&   |  i ƒ  } |  i t | ƒ d ƒ d  S(   Ni    (   R   R   R   R)   R-   (   R   R   (    (    R   t   test_len    s    c         C   sN   |  i } |  i | |  i i ƒ  d |  i i ƒ  d ƒ |  i t | i	 ƒ d  S(   Ni    (
   R   R   R   R)   R   R*   R5   R=   RE   t   __getitem__(   R   R   (    (    R   t   test_getitem¤   s    	.c   	         sŽ  |  i ƒ  } | i |  i ƒ |  i | i ƒ  |  i i ƒ  ƒ |  i ƒ  } | i ƒ  |  i | |  i ƒ  ƒ |  i ƒ  } | i |  i i ƒ  ƒ |  i | i ƒ  |  i i ƒ  ƒ |  i ƒ  } | i |  i i ƒ  ƒ |  i | i ƒ  |  i i ƒ  ƒ |  i t	 t
 f | i d ƒ |  ‰  d f  ‡  d †  ƒ  Y} | i ƒ  | i | ƒ  ƒ | i ƒ  } |  i i ƒ  } | i ƒ  | i ƒ  |  i | | ƒ d t f d „  ƒ  Y‰ |  i ƒ  } d f  ‡ d †  ƒ  Y} |  i ˆ | i | ƒ  ƒ | i ƒ  d f  ‡ d †  ƒ  Y} |  i ˆ | i | ƒ  ƒ d f  ‡ d	 †  ƒ  Y} |  i ˆ | i | ƒ  ƒ |  i ƒ  } d
 t f ‡ d †  ƒ  Y} |  i ˆ | i | ƒ  ƒ |  i t | i d g ƒ d  S(   Ni*   t   SimpleUserDictc              s&   t  Z ‡  d †  Z d „  Z d „  Z RS(   Nc            s   ˆ  i |  _ d  S(   N(   t	   outerselfR   R   R   (   R   (   RN   (    R   R   Å   s    c         C   s   |  i i ƒ  S(   N(   R   R   R*   (   R   (    (    R   R*   Ç   s    c         C   s   |  i | S(   N(   R   R   t   i(   R   RO   (    (    R   RK   É   s    (   t   __name__t
   __module__R   R*   RK   (    (   RN   (    R   RM   Ä   s   	t   Excc           B   s   t  Z RS(   N(   RP   RQ   (    (    (    R   RR   Ó   s    t   FailingUserDictc              s   t  Z ‡  d †  Z RS(   Nc            s
   ˆ  ‚ d  S(   N(   RR   (   R   (   RR   (    R   R*   ×   s    (   RP   RQ   R*   (    (   RR   (    R   RS   Ö   s   c              s   t  Z ‡  d †  Z d „  Z RS(   Nc            s   d f  ‡  d †  ƒ  Y} | ƒ  S(   Nt	   BogonIterc              s&   t  Z d „  Z d „  Z ‡  d †  Z RS(   Nc         C   s   d |  _ d  S(   Ni   (   R   RO   (   R   (    (    R   R   à   s    c         C   s   |  S(   N(   R   (   R   (    (    R   R   â   s    c            s%   |  i o d |  _ d Sn ˆ  ‚ d  S(   Ni    t   a(   R   RO   RR   (   R   (   RR   (    R   R   ä   s    
	(   RP   RQ   R   R   R   (    (   RR   (    R   RT   ß   s   		(   RT   (   R   RT   (   RR   (    R   R*   Þ   s    
c         C   s   | S(   N(   R   (   R   R   (    (    R   RK   ê   s    (   RP   RQ   R*   RK   (    (   RR   (    R   RS   Ý   s   c              s   t  Z d „  Z ‡  d †  Z RS(   Nc         C   s   d f  d „  ƒ  Y} | ƒ  S(   NRT   c           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   t  d ƒ |  _ d  S(   NRU   (   t   ordR   RO   (   R   (    (    R   R   ñ   s    c         C   s   |  S(   N(   R   (   R   (    (    R   R   ó   s    c         C   sF   |  i t d ƒ j o& t |  i ƒ } |  i d 7_ | Sn t ‚ d  S(   Nt   zi   (   R   RO   RV   t   chrt   rtnt   StopIteration(   R   RY   (    (    R   R   õ   s
    (   RP   RQ   R   R   R   (    (    (    R   RT   ð   s   		(   RT   (   R   RT   (    (    R   R*   ï   s    c            s
   ˆ  ‚ d  S(   N(   RR   (   R   R   (   RR   (    R   RK   ü   s    (   RP   RQ   R*   RK   (    (   RR   (    R   RS   î   s   	t   badseqc              s   t  Z d „  Z ‡  d †  Z RS(   Nc         C   s   |  S(   N(   R   (   R   (    (    R   R     s    c            s   ˆ  ƒ  ‚ d  S(   N(   RR   (   R   (   RR   (    R   R     s    (   RP   RQ   R   R   (    (   RR   (    R   R[     s   	i   i   i   (   i   i   i   (   R   R   R   R:   R   R)   R   R6   R=   RE   t   AttributeErrorRN   RM   t   cleart   i1R   t   i2t   sortt	   ExceptionRR   RS   t   objectR[   t
   ValueError(	   R   R   R^   R_   RS   RM   RN   R[   RR   (    (   RN   RR   R   t   test_updateª   sF    




c         C   sU  |  i ƒ  } |  i | i |  i i ƒ  d ƒ d  j ƒ |  i | i |  i i ƒ  d d ƒ d ƒ |  i	 } |  i | i |  i i ƒ  d ƒ d  j ƒ |  i | i |  i i ƒ  d d ƒ d ƒ |  i | i |  i
 i ƒ  d ƒ |  i
 i ƒ  d ƒ |  i | i |  i
 i ƒ  d d ƒ |  i
 i ƒ  d ƒ |  i t | i ƒ |  i t | i d  d  d  ƒ d  S(   Ni    i   (   R   R   R   R   R8   R   R*   RF   R)   R   R   R5   R=   RE   (   R   R   (    (    R   t   test_get  s    ))	))36c         C   s#   |  i ƒ  } |  i t | i ƒ d  S(   N(   R   R   R   R=   RE   R;   (   R   R   (    (    R   t   test_setdefault  s    c         C   s9   |  i ƒ  } |  i t | i ƒ |  i t | i d ƒ d  S(   Ni*   (   R   R   R   R=   R,   R   RE   (   R   R   (    (    R   t   test_popitem  s    c         C   s›   |  i ƒ  } |  i i ƒ  d \ } } | | | <|  i t | i	 |  i
 i ƒ  d ƒ |  i | i	 | ƒ | ƒ |  i t | ƒ d ƒ |  i t | i	 | ƒ d  S(   Ni    (   R   R   R   R   R   R.   t   vR=   R,   R<   R   R*   R)   R-   (   R   R   R.   Rh   (    (    R   t   test_pop"  s    
#(   RP   RQ   RF   R   R   R   R   R   R9   R?   R@   RD   RG   RH   RI   RJ   RL   Rd   Re   Rf   Rg   Ri   (    (    (    R   R       s&   					/	*								c			t   TestMappingProtocolc           B   s¡   t  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(   Nc         C   sd   t  i |  ƒ |  i |  i ƒ  |  i ƒ  j	 ƒ |  i |  i d d d d ƒ h  d d <d d <ƒ d  S(   NR	   i   t   yi   (   R    R@   R   R   R   R)   R   (   R   (    (    R   R@   /  s    c         C   sŽ   t  i |  ƒ |  i |  i ƒ  ƒ |  i |  i h  d d <ƒ ƒ |  i t |  i ƒ  ƒ t j ƒ |  i t |  i h  d d <ƒ ƒ t j ƒ d  S(   NR	   Rk   (	   R    RD   R   R   R   R   RA   RB   RC   (   R   (    (    R   RD   4  s
    c         C   s™   t  i |  ƒ |  i ƒ  } |  i | i ƒ  g  ƒ |  i h  d d <d d <ƒ } | i ƒ  } |  i	 d | j ƒ |  i	 d | j ƒ |  i	 d | j ƒ d  S(   NRU   i   t   bi   t   c(
   R    RG   R   R   R   R)   R*   R   R.   R   (   R   R.   R   (    (    R   RG   ;  s    !c         C   sB   t  i |  ƒ |  i h  d d <ƒ } |  i | i ƒ  d g ƒ d  S(   Ni   i   (   R    RH   R   R   R   R)   R5   (   R   R   (    (    R   RH   E  s    c         C   sB   t  i |  ƒ |  i h  d d <ƒ } |  i | i ƒ  d g ƒ d  S(   Ni   i   (   i   i   (   R    RI   R   R   R   R)   R   (   R   R   (    (    R   RI   J  s    c         C   s‡   |  i ƒ  } |  i | i d ƒ ƒ |  i h  d d <d d <ƒ } | i ƒ  } | i ƒ  |  i	 | d d g ƒ |  i
 t | i ƒ d  S(   NRU   i   Rl   i   (   R   R   R   R   R/   R   R*   R.   R`   R)   R=   RE   (   R   R.   R   (    (    R   t   test_has_keyP  s    !
c         C   s£   |  i ƒ  } |  i d | j ƒ |  i d | j ƒ |  i h  d d <d d <ƒ } |  i d | j ƒ |  i d | j ƒ |  i d | j ƒ |  i t | i ƒ d  S(   NRU   i   Rl   i   Rm   (   R   R   R   R   R   R=   RE   t   __contains__(   R   R   (    (    R   t   test_containsZ  s    !c         C   sH   t  i |  ƒ |  i h  d d <d d <ƒ } |  i t | ƒ d ƒ d  S(   NRU   i   Rl   i   (   R    RJ   R   R   R   R)   R-   (   R   R   (    (    R   RJ   e  s    !c         C   sÒ   t  i |  ƒ |  i h  d d <d d <ƒ } |  i | d d ƒ |  i | d d ƒ d | d <d | d <|  i | d d ƒ |  i | d d ƒ | d =|  i | h  d d <d d <ƒ |  i t | i ƒ d  S(   NRU   i   Rl   i   i   Rm   i   (	   R    RL   R   R   R   R)   R=   RE   RK   (   R   R   (    (    R   RL   j  s    !

"c         C   s^   |  i h  d d <d d <d d <ƒ } | i ƒ  |  i | h  ƒ |  i t | i d  ƒ d  S(   Ni   i   i   (   R   R   R   R]   R)   R=   RE   RF   (   R   R   (    (    R   t
   test_clearx  s    *
c         C   s¶  t  i |  ƒ |  i ƒ  } | i h  d d <ƒ | i h  d d <ƒ | i h  d d <d d <d d <ƒ |  i | h  d d <d d <d d <ƒ | i ƒ  |  i | h  d d <d d <d d <ƒ |  i ƒ  } | i d d ƒ | i d d ƒ | i d d d d d d ƒ |  i | h  d d <d d <d d <ƒ |  i ƒ  } | i d d g ƒ |  i | h  d d <d d <ƒ |  i ƒ  } | i d d g d d d d ƒ|  i | h  d d <d d <ƒ |  i h  d d <d d	 <ƒ } | i |  i h  d d <d d	 <d
 d <ƒ i ƒ  ƒ |  i | h  d d <d d	 <d d	 <d
 d <ƒ d f  d „  ƒ  Y} | i
 ƒ  | i | ƒ  ƒ |  i | h  d d <d d <d d <ƒ d  S(   Ni   id   i   i   i   R	   Rk   RW   i   i   i   RM   c           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s(   h  d d <d d <d d <|  _ d  S(   Ni   i   i   (   R   R   (   R   (    (    R   R   £  s    c         C   s   |  i i ƒ  S(   N(   R   R   R*   (   R   (    (    R   R*   ¥  s    c         C   s   |  i | S(   N(   R   R   RO   (   R   RO   (    (    R   RK   §  s    (   RP   RQ   R   R*   RK   (    (    (    R   RM   ¢  s   		(   R	   id   (   Rk   i   (   R	   id   (   Rk   i   (   R    Rd   R   R   R   R:   R)   R   R6   RM   R]   (   R   R   RM   (    (    R   Rd     s4    (+
++""!74
c   
         sÕ  |  i |  i i d ƒ h  d d  <d d  <d d  <ƒ |  i ƒ  } |  i | i d ƒ | j	 ƒ |  i | i d ƒ h  d d  <d d  <d d  <ƒ |  i | i d d ƒ h  d d <d d <ƒ |  i | i g  ƒ h  ƒ d „  } |  i | i | ƒ  ƒ h  d	 d  <ƒ |  i	 t
 h  i d
 ƒ d |  i f d „  ƒ  Y} |  i | i d ƒ h  d d  <ƒ |  i | ƒ  i d ƒ h  d d  <ƒ |  i | i d ƒ i | j ƒ |  i | ƒ  i d ƒ i | j ƒ d |  i f d „  ƒ  Y} | i d ƒ } |  i | h  d d  <d d  <ƒ |  i	 t
 t i ƒ d t f d „  ƒ  Y‰  d |  i f ‡  d †  ƒ  Y} |  i	 ˆ  | i d	 g ƒ d t f ‡  d †  ƒ  Y} |  i	 ˆ  |  i i | ƒ  ƒ d |  i f ‡  d †  ƒ  Y} |  i	 ˆ  | i d	 g ƒ d  S(   Nt   abcRU   Rl   Rm   i   i   i    c           c   s   d Vd  S(   Ni   (    (    (    (    R   t   g´  s    i   i   t   dictlikec           B   s   t  Z RS(   N(   RP   RQ   (    (    (    R   Rt   ¸  s    t   mydictc           B   s   t  Z d „  Z RS(   Nc         C   s
   t  i  ƒ  S(   N(   t   UserDict(   t   cls(    (    R   t   __new__À  s    (   RP   RQ   Rx   (    (    (    R   Ru   ¿  s   t   abRR   c           B   s   t  Z RS(   N(   RP   RQ   (    (    (    R   RR   È  s    t   baddict1c              s   t  Z ‡  d †  Z RS(   Nc            s   ˆ  ƒ  ‚ d  S(   N(   RR   (   R   (   RR   (    R   R   Ë  s    (   RP   RQ   R   (    (   RR   (    R   Rz   Ê  s   t   BadSeqc              s   t  Z d „  Z ‡  d †  Z RS(   Nc         C   s   |  S(   N(   R   (   R   (    (    R   R   Ñ  s    c            s   ˆ  ƒ  ‚ d  S(   N(   RR   (   R   (   RR   (    R   R   Ó  s    (   RP   RQ   R   R   (    (   RR   (    R   R{   Ð  s   	t   baddict2c              s   t  Z ‡  d †  Z RS(   Nc            s   ˆ  ƒ  ‚ d  S(   N(   RR   (   R   R   R   (   RR   (    R   t   __setitem__Ù  s    (   RP   RQ   R}   (    (   RR   (    R   R|   Ø  s   (   i   i   (   R   R)   R   t   fromkeysRF   R   R   R   Rs   R=   RE   Rt   t	   __class__Ru   t   udR'   Ra   RR   Rz   Rb   R{   R|   (
   R   R   Rs   R|   R€   R{   Rt   Rz   Ru   RR   (    (   RR   R   t   test_fromkeys­  s2    74.	%"%""c         C   s¶   |  i h  d d <d d <d d <ƒ } |  i | i ƒ  h  d d <d d <d d <ƒ |  i ƒ  } |  i | i ƒ  | ƒ |  i t | i ƒ  | i ƒ ƒ |  i	 t
 | i d  ƒ d  S(   Ni   i   i   (   R   R   R   R)   R   R   R   t
   isinstanceR   R=   RE   RF   (   R   R   (    (    R   t	   test_copyÞ  s    *1c         C   sã   t  i |  ƒ |  i ƒ  } |  i | i d ƒ d  j ƒ |  i | i d d ƒ d ƒ |  i	 h  d d <d d <ƒ } |  i | i d ƒ d  j ƒ |  i | i d d ƒ d ƒ |  i | i d ƒ d ƒ |  i | i d d ƒ d ƒ d  S(   NRm   i   RU   i   Rl   i   (
   R    Re   R   R   R   R   R8   RF   R)   R   (   R   R   (    (    R   Re   æ  s    !c         C   sÉ   t  i |  ƒ |  i ƒ  } |  i | i d ƒ d  j ƒ | i d g  ƒ |  i | i d ƒ d  j ƒ | i d g  ƒ i d ƒ |  i	 | d d d ƒ | i d g  ƒ i d ƒ |  i	 t
 | d ƒ d ƒ d  S(   Nt   key0R   i   i    i   i   (   R    Rf   R   R   R   R   R;   RF   t   appendR)   R-   (   R   R   (    (    R   Rf   ñ  s    c         C   sl  t  i |  ƒ xXd D]P} xGt d ƒ D]9}	 d |	 } |  i ƒ  } |  i ƒ  } xE t | ƒ D]7 } | | t | ƒ <| d j  o | | t | ƒ <q\ q\ W| d j o | i ƒ  } n x t | ƒ D] } | i ƒ  \ } } }
 |  i | t | ƒ ƒ | i ƒ  \ } } } |  i | t | ƒ ƒ |  i | d j  o
 |
 | j ƒ qÁ W|  i | ƒ |  i | ƒ q' Wq Wd  S(   Niÿÿÿÿi   i   i   i    (   iÿÿÿÿi   (   R    Rg   R   t   copymodet   ranget   log2sizet   sizeR   RU   Rl   RO   t   reprR   R   t   kat   vat   taR)   t   intt   kbt   vbt   tbR   (   R   RU   RŒ   R‹   Rl   R†   R   RO   R   Rˆ   R   R‘   R‰   (    (    R   Rg   ü  s0      
  %c         C   s°   t  i |  ƒ |  i ƒ  } d \ } } d } d } |  i	 h  | d <| d <ƒ } |  i | | | | ƒ |  i | i | | ƒ | ƒ | | | <|  i | i | d ƒ | ƒ d  S(   NRr   t   defl         € t   anythings   something elsei   (   s   abcR’   (   R    Ri   R   R   R   R.   Rh   R	   Rk   R   t   hR)   R<   (   R   R   R”   R.   Rh   Rk   R	   (    (    R   Ri     s    !
(   RP   RQ   R@   RD   RG   RH   RI   Rn   Rp   RJ   RL   Rq   Rd   R   Rƒ   Re   Rf   Rg   Ri   (    (    (    R   Rj   .  s"   			
			
					.	1				t   TestHashMappingProtocolc           B   sG   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc            sÆ   t  i |  ƒ d t f d „  ƒ  Y‰  d t f ‡  d †  ƒ  Y} |  i ƒ  } d | | ƒ  <|  i	 t
 | i d ƒ d t f ‡  d †  ƒ  Y} |  i ƒ  } | ƒ  } d | | <t | _ |  i	 ˆ  | i | ƒ d  S(	   NRR   c           B   s   t  Z RS(   N(   RP   RQ   (    (    (    R   RR   +  s    t   BadEqc              s   t  Z ‡  d †  Z RS(   Nc            s   ˆ  ƒ  ‚ d  S(   N(   RR   (   R   R   (   RR   (    R   t   __eq__.  s    (   RP   RQ   R—   (    (   RR   (    R   R–   -  s   i*   i   t   BadHashc              s   t  Z e Z ‡  d †  Z RS(   Nc            s   |  i o ˆ  ƒ  ‚ n d Sd  S(   Ni*   (   R   R2   RR   (   R   (   RR   (    R   t   __hash__7  s    
(   RP   RQ   RB   R2   R™   (    (   RR   (    R   R˜   5  s   (   Rj   RL   R   Ra   RR   Rb   R–   R   R   R=   R,   RK   R˜   R	   RC   R2   (   R   RR   R˜   R–   R	   R   (    (   RR   R   RL   )  s    	
	c         C   st   t  i |  ƒ d |  i f d „  ƒ  Y} | i d ƒ } |  i | h  d d  <d d  <ƒ |  i	 t
 | t i ƒ ƒ d  S(   NRu   c           B   s   t  Z d „  Z RS(   Nc         C   s
   t  i  ƒ  S(   N(   Rv   (   Rw   (    (    R   Rx   F  s    (   RP   RQ   Rx   (    (    (    R   Ru   E  s   Ry   RU   Rl   (   Rj   R   R   R   Ru   R~   R€   R)   RF   R   R‚   Rv   (   R   R€   Ru   (    (    R   R   C  s
    "c            s~   t  i |  ƒ d t f d „  ƒ  Y‰  d t f ‡  d †  ƒ  Y} |  i ƒ  } | ƒ  } d | | <t
 | _ |  i ˆ  | i | ƒ d  S(   NRR   c           B   s   t  Z RS(   N(   RP   RQ   (    (    (    R   RR   O  s    R˜   c              s   t  Z e Z ‡  d †  Z RS(   Nc            s   |  i o ˆ  ƒ  ‚ n d Sd  S(   Ni*   (   R   R2   RR   (   R   (   RR   (    R   R™   S  s    
(   RP   RQ   RB   R2   R™   (    (   RR   (    R   R˜   Q  s   i*   (   Rj   Ri   R   Ra   RR   Rb   R˜   R   R   R	   RC   R2   R=   R<   (   R   RR   R˜   R	   R   (    (   RR   R   Ri   L  s    	
	c         C   s`   |  i ƒ  } d | d <y# x | D] } d | | d <q  WWn t j
 o n X|  i d ƒ d  S(   Ni   s7   changing dict size during iteration doesn't raise Error(   R   R   R   RO   t   RuntimeErrorR2   (   R   RO   R   (    (    R   t   test_mutatingiteration_  s    
 c            sÏ   |  i ƒ  } |  i t | ƒ d ƒ d | d <|  i t | ƒ d ƒ |  i ƒ  } | | d <|  i t | ƒ d ƒ d t f d „  ƒ  Y‰  d t f ‡  d	 †  ƒ  Y} |  i	 h  d | ƒ  <ƒ } |  i
 ˆ  t | ƒ d  S(
   Ns   {}i   i   s   {1: 2}s
   {1: {...}}RR   c           B   s   t  Z RS(   N(   RP   RQ   (    (    (    R   RR   s  s    t   BadReprc              s   t  Z ‡  d †  Z RS(   Nc            s   ˆ  ƒ  ‚ d  S(   N(   RR   (   R   (   RR   (    R   t   __repr__v  s    (   RP   RQ   R   (    (   RR   (    R   Rœ   u  s   (   R   R   R   R)   RŠ   Ra   RR   Rb   Rœ   R   R=   (   R   RR   Rœ   R   (    (   RR   R   t	   test_reprj  s    

c            sï   |  i |  i ƒ  |  i ƒ  j  ƒ |  i |  i h  d d <ƒ |  i h  d d <ƒ j  ƒ d t f d „  ƒ  Y‰  d t f ‡  d †  ƒ  Y} |  i h  | ƒ  d <ƒ } |  i h  d d <ƒ } y | | j  Wn ˆ  j
 o n X|  i
 d	 ƒ d  S(
   Ni   i   l    l    RR   c           B   s   t  Z RS(   N(   RP   RQ   (    (    (    R   RR   €  s    t   BadCmpc              s   t  Z ‡  d †  Z RS(   Nc            s   ˆ  ƒ  ‚ d  S(   N(   RR   (   R   R   (   RR   (    R   R—   ƒ  s    (   RP   RQ   R—   (    (   RR   (    R   RŸ   ‚  s   s   < didn't raise Exc(   R   R   R   R   Ra   RR   Rb   RŸ   t   d1t   d2R2   (   R   RŸ   RR   R¡   R    (    (   RR   R   t   test_le|  s     8c            s   t  i |  ƒ d t f d „  ƒ  Y‰  d t f ‡  d †  ƒ  Y} |  i ƒ  } | ƒ  } d | | <t
 | _ |  i ˆ  | i | g  ƒ d  S(   NRR   c           B   s   t  Z RS(   N(   RP   RQ   (    (    (    R   RR   ’  s    R˜   c              s   t  Z e Z ‡  d †  Z RS(   Nc            s   |  i o ˆ  ƒ  ‚ n d Sd  S(   Ni*   (   R   R2   RR   (   R   (   RR   (    R   R™   –  s    
(   RP   RQ   RB   R2   R™   (    (   RR   (    R   R˜   ”  s   i*   (   Rj   Rf   R   Ra   RR   Rb   R˜   R   R   R	   RC   R2   R=   R;   (   R   RR   R˜   R	   R   (    (   RR   R   Rf     s    	
	(	   RP   RQ   RL   R   Ri   R›   Rž   R¢   Rf   (    (    (    R   R•   '  s   							(   R   Rv   R   R    Rj   R•   (   Rv   R   R    Rj   R•   (    (    R   t   ?   s
   		ÿ )ù