mò
­fIc           @   sÀ   d  k  Z  d k l Z d  k Z d  k Z d  k Z d e  i f d „  ƒ  YZ d  k Z d e i	 f d „  ƒ  YZ
 d e f d „  ƒ  YZ d e i	 f d	 „  ƒ  YZ d
 „  Z e d j o e ƒ  n d  S(   N(   s   test_supportt   DictTestc           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 d „  Z RS(   Nc         C   s-   |  i t ƒ  h  ƒ |  i t ƒ  h  j	 ƒ d  S(   N(   t   selft   assertEqualt   dictt   assert_(   R   (    (    t+   /mit/python/lib/python2.4/test/test_dict.pyt   test_constructor   s    c         C   sc   |  i h  ƒ |  i h  d d <ƒ |  i t h  ƒ t j ƒ |  i t h  d d <ƒ t j ƒ d  S(   Ni   i   (   R   R   t   boolt   Falset   True(   R   (    (    R   t	   test_bool   s    c         C   s†   h  } |  i | i ƒ  g  ƒ h  d d <d d <} | i ƒ  } |  i | i d ƒ ƒ |  i | i d ƒ ƒ |  i t | i d  ƒ d  S(   Nt   ai   t   bi   (
   t   dR   R   t   keyst   kR   t   has_keyt   assertRaisest	   TypeErrort   None(   R   R   R   (    (    R   t	   test_keys   s    c         C   s^   h  } |  i | i ƒ  g  ƒ h  d d <} |  i | i ƒ  d g ƒ |  i t | i d  ƒ d  S(   Ni   i   (   R   R   R   t   valuesR   R   R   (   R   R   (    (    R   t   test_values   s
    c         C   s^   h  } |  i | i ƒ  g  ƒ h  d d <} |  i | i ƒ  d g ƒ |  i t | i d  ƒ d  S(   Ni   i   (   i   i   (   R   R   R   t   itemsR   R   R   (   R   R   (    (    R   t
   test_items%   s
    c         C   sx   h  } |  i | i d ƒ ƒ h  d d <d d <} | i ƒ  } | i ƒ  |  i | d d g ƒ |  i t	 | i ƒ d  S(   NR   i   R   i   (
   R   R   R   R   R   R   t   sortR   R   R   (   R   R   R   (    (    R   t   test_has_key.   s    
c         C   s”   h  } |  i d | j ƒ |  i d | j ƒ h  d d <d d <} |  i d | j ƒ |  i d | j ƒ |  i d | j ƒ |  i t | i ƒ d  S(   NR   i   R   i   t   c(   R   R   R   R   R   t   __contains__(   R   R   (    (    R   t   test_contains8   s    c         C   sN   h  } |  i t | ƒ d ƒ h  d d <d d <} |  i t | ƒ d ƒ d  S(   Ni    R   i   R   i   (   R   R   R   t   len(   R   R   (    (    R   t   test_lenC   s    c            s_  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 t f ‡  d	 †  ƒ  Y} h  } d
 | | ƒ  <|  i t | i d ƒ d t	 f d „  ƒ  Y‰  d t f ‡  d †  ƒ  Y} | ƒ  } d
 | | <t | _ |  i ˆ  | i | ƒ d  S(   NR   i   R   i   i   R   i   t   BadEqc              s   t  Z ‡  d †  Z RS(   Nc            s   ˆ  ƒ  ‚ d  S(   N(   t   Exc(   R   t   other(   R!   (    R   t   __eq__W   s    (   t   __name__t
   __module__R#   (    (   R!   (    R   R    V   s   i*   i   R!   c           B   s   t  Z RS(   N(   R$   R%   (    (    (    R   R!   ^   s    t   BadHashc              s   t  Z e Z ‡  d †  Z RS(   Nc            s   |  i o ˆ  ƒ  ‚ n d Sd  S(   Ni*   (   R   t   failR!   (   R   (   R!   (    R   t   __hash__b   s    
(   R$   R%   R   R'   R(   (    (   R!   (    R   R&   `   s   (   R   R   R   R   R   t   __getitem__t   objectR    t   KeyErrort	   ExceptionR!   R&   t   xR	   R'   (   R   R   R&   R    R-   R!   (    (   R!   R   t   test_getitemI   s(    

"	
	c         C   sU   h  d d <d d <d d <} | i ƒ  |  i | h  ƒ |  i t | i d  ƒ d  S(   Ni   i   i   (   R   t   clearR   R   R   R   R   (   R   R   (    (    R   t
   test_clearm   s    !
c            s*  h  } | 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 t t f | i d  ƒ d f  d „  ƒ  Y} | i	 ƒ  | i | ƒ  ƒ |  i | h  d d <d d <d d <ƒ d t
 f d	 „  ƒ  Y‰  | i	 ƒ  d
 f  ‡  d †  ƒ  Y} |  i ˆ  | i | ƒ  ƒ d
 f  ‡  d †  ƒ  Y} |  i ˆ  | i | ƒ  ƒ d
 f  ‡  d †  ƒ  Y} |  i ˆ  | i | ƒ  ƒ d t f ‡  d †  ƒ  Y} |  i ˆ  h  i | ƒ  ƒ |  i t h  i d g ƒ d  S(   Ni   id   i   i   i   t   SimpleUserDictc           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   t   __init__   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   R3   (    (    R   R)   …   s    (   R$   R%   R2   R   R)   (    (    (    R   R1   €   s   		R!   c           B   s   t  Z RS(   N(   R$   R%   (    (    (    R   R!   ‹   s    t   FailingUserDictc              s   t  Z ‡  d †  Z RS(   Nc            s
   ˆ  ‚ d  S(   N(   R!   (   R   (   R!   (    R   R      s    (   R$   R%   R   (    (   R!   (    R   R4   Ž   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   R3   (   R   (    (    R   R2   –   s    c         C   s   |  S(   N(   R   (   R   (    (    R   t   __iter__˜   s    c            s%   |  i o d |  _ d Sn ˆ  ‚ d  S(   Ni    R   (   R   R3   R!   (   R   (   R!   (    R   t   nextš   s    
	(   R$   R%   R2   R6   R7   (    (   R!   (    R   R5   •   s   		(   R5   (   R   R5   (   R!   (    R   R   ”   s    
c         C   s   | S(   N(   t   key(   R   R8   (    (    R   R)       s    (   R$   R%   R   R)   (    (   R!   (    R   R4   “   s   c              s   t  Z d „  Z ‡  d †  Z RS(   Nc         C   s   d f  d „  ƒ  Y} | ƒ  S(   NR5   c           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   t  d ƒ |  _ d  S(   NR   (   t   ordR   R3   (   R   (    (    R   R2   §   s    c         C   s   |  S(   N(   R   (   R   (    (    R   R6   ©   s    c         C   sF   |  i t d ƒ j o& t |  i ƒ } |  i d 7_ | Sn t ‚ d  S(   Nt   zi   (   R   R3   R9   t   chrt   rtnt   StopIteration(   R   R<   (    (    R   R7   «   s
    (   R$   R%   R2   R6   R7   (    (    (    R   R5   ¦   s   		(   R5   (   R   R5   (    (    R   R   ¥   s    c            s
   ˆ  ‚ d  S(   N(   R!   (   R   R8   (   R!   (    R   R)   ²   s    (   R$   R%   R   R)   (    (   R!   (    R   R4   ¤   s   	t   badseqc              s   t  Z d „  Z ‡  d †  Z RS(   Nc         C   s   |  S(   N(   R   (   R   (    (    R   R6   ·   s    c            s   ˆ  ƒ  ‚ d  S(   N(   R!   (   R   (   R!   (    R   R7   ¹   s    (   R$   R%   R6   R7   (    (   R!   (    R   R>   ¶   s   	(   i   i   i   (   R   t   updateR   R   R   R   t   AttributeErrorR   R1   R/   R,   R!   R4   R*   R>   t
   ValueError(   R   R   R1   R>   R4   R!   (    (   R!   R   t   test_updatet   s.    (+
+
+
c   
         sÜ  |  i t i d ƒ h  d d  <d d  <d d  <ƒ h  } |  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 t f d „  ƒ  Y} |  i | i d ƒ h  d d  <ƒ |  i | ƒ  i d ƒ h  d d  <ƒ |  i t | i d ƒ ƒ | j ƒ |  i t | ƒ  i d ƒ ƒ | j ƒ d t f d „  ƒ  Y} | i d ƒ } |  i | h  d d  <d d  <ƒ |  i t | t i ƒ ƒ |  i t	 t i ƒ d t f d „  ƒ  Y‰  d t f ‡  d †  ƒ  Y} |  i ˆ  | i d	 g ƒ d t f ‡  d †  ƒ  Y} |  i ˆ  t i | ƒ  ƒ d t f ‡  d †  ƒ  Y} |  i ˆ  | i d	 g ƒ d  S(   Nt   abcR   R   R   i   i   i    c           c   s   d Vd  S(   Ni   (    (    (    (    R   t   gÇ   s    i   i   t   dictlikec           B   s   t  Z RS(   N(   R$   R%   (    (    (    R   RE   Ë   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    (   R$   R%   RI   (    (    (    R   RF   Ð   s   t   abR!   c           B   s   t  Z RS(   N(   R$   R%   (    (    (    R   R!   Ø   s    t   baddict1c              s   t  Z ‡  d †  Z RS(   Nc            s   ˆ  ƒ  ‚ d  S(   N(   R!   (   R   (   R!   (    R   R2   Û   s    (   R$   R%   R2   (    (   R!   (    R   RK   Ú   s   t   BadSeqc              s   t  Z d „  Z ‡  d †  Z RS(   Nc         C   s   |  S(   N(   R   (   R   (    (    R   R6   á   s    c            s   ˆ  ƒ  ‚ d  S(   N(   R!   (   R   (   R!   (    R   R7   ã   s    (   R$   R%   R6   R7   (    (   R!   (    R   RL   à   s   	t   baddict2c              s   t  Z ‡  d †  Z RS(   Nc            s   ˆ  ƒ  ‚ d  S(   N(   R!   (   R   R8   t   value(   R!   (    R   t   __setitem__é   s    (   R$   R%   RO   (    (   R!   (    R   RM   è   s   (   i   i   (   R   R   R   t   fromkeysR   R   R   RD   R   R   RE   t   typeRF   t   udt
   isinstanceRG   R,   R!   RK   R*   RL   RM   (
   R   R   RD   RF   RM   RL   RR   RE   RK   R!   (    (   R!   R   t   test_fromkeysÀ   s4    44.	%"%"%"c         C   s‚   h  d d <d d <d d <} |  i | i ƒ  h  d d <d d <d d <ƒ |  i h  i ƒ  h  ƒ |  i t | i d  ƒ d  S(   Ni   i   i   (   R   R   R   t   copyR   R   R   (   R   R   (    (    R   t	   test_copyî   s    !1c         C   sö   h  } |  i | i d ƒ d  j ƒ |  i | i d d ƒ d ƒ h  d d <d d <} |  i | i d ƒ d  j ƒ |  i | i d d ƒ d ƒ |  i | i d ƒ d ƒ |  i | i d d ƒ d ƒ |  i t | i ƒ |  i t | i d  d  d  ƒ d  S(   NR   i   R   i   R   i   (   R   R   R   t   getR   R   R   R   (   R   R   (    (    R   t   test_getô   s    c            s-  h  } |  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 ƒ |  i t	 | i ƒ d t
 f d „  ƒ  Y‰  d	 t f ‡  d
 †  ƒ  Y} | ƒ  } d | | <t | _ |  i ˆ  | i | g  ƒ d  S(   Nt   key0R8   i   i    i   i   R!   c           B   s   t  Z RS(   N(   R$   R%   (    (    (    R   R!     s    R&   c              s   t  Z e Z ‡  d †  Z RS(   Nc            s   |  i o ˆ  ƒ  ‚ n d Sd  S(   Ni*   (   R   R'   R!   (   R   (   R!   (    R   R(     s    
(   R$   R%   R   R'   R(   (    (   R!   (    R   R&     s   i*   (   R   R   R   t
   setdefaultR   t   appendR   R   R   R   R,   R!   R*   R&   R-   R	   R'   (   R   R   R&   R-   R!   (    (   R!   R   t   test_setdefault   s    	
	c         C   sl  xLd D]D} x;t d ƒ D]-}
 d |
 } h  } h  } xE t | ƒ D]7 } | | t | ƒ <| d j  o | | t | ƒ <qC qC 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 Wh  } |  i t | i	 ƒ d  S(   Niÿÿÿÿi   i   i   i    (   iÿÿÿÿi   (   t   copymodet   ranget   log2sizet   sizeR   R   R3   t   reprRU   t   popitemt   kat   vat   taR   R   t   intt   kbt   vbt   tbR   R   R   R+   (   R   R   Rd   Rc   R   R   R]   Rg   R3   Rh   R_   Re   Ri   R`   (    (    R   t   test_popitem  s2      
  %c   	         sm  h  } d \ } } | | | <|  i t | i d ƒ |  i | i | ƒ | ƒ |  i t | ƒ d ƒ |  i t | i | ƒ d } d } h  | d <| d <} |  i | | | | ƒ |  i | i | | ƒ | ƒ | | | <|  i | i | d ƒ | ƒ |  i t | i ƒ d	 t f d
 „  ƒ  Y‰  d t f ‡  d †  ƒ  Y} | ƒ  } d | | <t | _ |  i ˆ  | i | ƒ d  S(   NRC   t   deft   ghii    l         € t   anythings   something elsei   R!   c           B   s   t  Z RS(   N(   R$   R%   (    (    (    R   R!   O  s    R&   c              s   t  Z e Z ‡  d †  Z RS(   Nc            s   |  i o ˆ  ƒ  ‚ n d Sd  S(   Ni*   (   R   R'   R!   (   R   (   R!   (    R   R(   S  s    
(   R$   R%   R   R'   R(   (    (   R!   (    R   R&   Q  s   i*   (   s   abcRk   (   R   R   t   vR   R   R+   t   popR   R   R-   t   yt   hR   R,   R!   R*   R&   R	   R'   (	   R   R   R&   Rq   R   Rn   Rp   R-   R!   (    (   R!   R   t   test_pop6  s*    

	
	c         C   sZ   h  } 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   R3   t   RuntimeErrorR   R'   (   R   R3   R   (    (    R   t   test_mutatingiteration^  s    
 c            sº   h  } |  i t | ƒ d ƒ d | d <|  i t | ƒ d ƒ h  } | | d <|  i t | ƒ d ƒ d t f d „  ƒ  Y‰  d t f ‡  d	 †  ƒ  Y} h  d | ƒ  <} |  i ˆ  t | ƒ d  S(
   Ns   {}i   i   s   {1: 2}s
   {1: {...}}R!   c           B   s   t  Z RS(   N(   R$   R%   (    (    (    R   R!   r  s    t   BadReprc              s   t  Z ‡  d †  Z RS(   Nc            s   ˆ  ƒ  ‚ d  S(   N(   R!   (   R   (   R!   (    R   t   __repr__u  s    (   R$   R%   Rv   (    (   R!   (    R   Ru   t  s   (	   R   R   R   Ra   R,   R!   R*   Ru   R   (   R   R!   Ru   R   (    (   R!   R   t	   test_repri  s    

c            s¿   |  i h  h  j  ƒ |  i h  d d <h  d d <j  ƒ d t f d „  ƒ  Y‰  d t f ‡  d †  ƒ  Y} h  | ƒ  d <} h  d d <} y | | j  Wn ˆ  j
 o n X|  i d	 ƒ d  S(
   Ni   i   l    l    R!   c           B   s   t  Z RS(   N(   R$   R%   (    (    (    R   R!     s    t   BadCmpc              s   t  Z ‡  d †  Z RS(   Nc            s   ˆ  ƒ  ‚ d  S(   N(   R!   (   R   R"   (   R!   (    R   R#   ‚  s    (   R$   R%   R#   (    (   R!   (    R   Rx     s   s   < didn't raise Exc(	   R   R   R,   R!   R*   Rx   t   d1t   d2R'   (   R   Rx   R!   Rz   Ry   (    (   R!   R   t   test_le{  s    &(   R$   R%   R   R
   R   R   R   R   R   R   R.   R0   RB   RT   RV   RX   R\   Rj   Rr   Rt   Rw   R{   (    (    (    R   R       s(   			
				
			$		L	.					(		t   GeneralMappingTestsc           B   s   t  Z e Z RS(   N(   R$   R%   R   t	   type2test(    (    (    R   R|     s   t   Dictc           B   s   t  Z RS(   N(   R$   R%   (    (    (    R   R~   “  s   t   SubclassMappingTestsc           B   s   t  Z e Z RS(   N(   R$   R%   R~   R}   (    (    (    R   R   –  s   c           C   s   t  i t t t ƒ d  S(   N(   t   test_supportt   run_unittestR    R|   R   (    (    (    R   t	   test_main™  s    	t   __main__(   t   unittestt   testR€   t   sysRG   t	   cStringIOt   TestCaseR    t   mapping_testst   BasicTestMappingProtocolR|   R   R~   R   R‚   R$   (   R€   R‡   R    RG   R„   R|   R†   R~   R‚   R   R‰   (    (    R   t   ?   s   	ÿ ˆ		