mς
­fIc           @   s  d  k  Z  d k l Z l Z d  k Z h  Z h  d d <Z h  d d <d d <Z h  d d <d d <d d <Z h  d d  <d d  <Z
 h  d d <d d <Z d	 e i f d
     YZ d e i f d     YZ d e i f d     YZ d   Z e d j o e   n d  S(   N(   s   test_supports   mapping_testst   onei   t   twoi   i   t   threei   t   UserDictTestc           B   s   t  Z e i Z d   Z RS(   Nc         C   s  t  i    } t  i  t  }
 t  i  t  }	 t  i t  } t  i  |  } t  i  |
  } t  i  |	  } t  i  |  } |  i t  i  d d d d  t  |  i t  i  d d g  t  |  i t  i  d d d g  t  |  i t  i  d d g d d d d t  |  i t  i  i d	 i    t  |  i t  i    i d	 i    t  |  i t  i  i d	 i   d  t  |  i t  i    i d	 i   d  t  |  i |	 i d	 i    |	 j	  |  i t |	 i d	 i    t  i    |  i t | i d	 i    t  i   |  i t |
  t t   |  i t |	  t t   |  i | t  t t t | |
 |	 | | | | | g } xM | D]E } x< | D]4 } |  i t | |  t t |  t |    qWqW|  i | d d  |  i t |	 i d  t  i  |  } d | d <d | d <| d =|  i t | i! d  | i"   |  i | h   | i#   } |  i | |  t  i  d
 d d d  } | i#   } |  i | |  d t  i  f d     Y} | |  } | i#   } |  i | |  d | d <|  i* | |  |  i | i+   t i+    |  i | i,   t i,    |  i | i-   t i-    xΉ | i+   D]« } |  i | i/ |   |  i | | j  |  i |	 i/ |  t i/ |   |  i | |	 j | t j  |  i |
 i/ |  t i/ |   |  i | |
 j | t j  qZWt  i    } | i1 |  |  i | |  d f  d     Y} t  i    } | i1 |    |  i | h  d
 d <d d < xu | i+   D]g } |  i | i3 |  | |  |  i |	 i3 |  t i3 |   |  i |
 i3 |  t i3 |   qWx$ t4 d  D] } t |  | | <qWg  } x | D] } | i7 |  q/W| i+   } |  i t8 |  t8 |   t  i    } |  i | i9 d
 d  d  |  i | i/ d
   |  i | i9 d
 d  d  t  i  d
 d  } |  i | i: d
  d  |  i t | i: d
  |  i | i: d
 d  d  d | d
 <|  i | i: d
 d  d  t  i  d
 d  } |  i | i;   d  |  i t | i;  d  S(   NR    i   R   i   t   dicti   R   i   s   one twot   xi*   t   yi   t
   MyUserDictc           B   s   t  Z d   Z RS(   Nc         C   s	   |  GHd  S(   N(   t   self(   R   (    (    t/   /mit/python/lib/python2.4/test/test_userdict.pyt   displayR   s    (   t   __name__t
   __module__R
   (    (    (    R	   R   Q   s   t   bart   foot   Itemsc           B   s   t  Z d   Z RS(   Nc         C   s
   d d f S(   NR   i*   R   i   (   R   i*   (   R   i   (    (   R   (    (    R	   t   itemso   s    (   R   R   R   (    (    (    R	   R   n   s   i   (   R    i   (   R   i   (   R    i   (   R   i   (   R    i   (   R   i   (   R   i*   (<   t   UserDictt   ut   d0t   u0t   d1t   u1t   IterableUserDictt   d2t   u2t   uut   uu0t   uu1t   uu2R   t   assertEqualt   d3t   fromkeyst   splitt   d4t   d5t   assert_t
   isinstancet   strt   reprt   allt   at   bt   cmpt   lent   assertRaisest   KeyErrort   __getitem__t   u3t   __delitem__t   cleart   copyt   u2at   u2bt   u2cR   t   m2t   m2at   assertNotEqualt   keysR   t   valuest   it   has_keyt   tt   updateR   t   gett   xranget   ikeyst   kt   appendt   sett
   setdefaultt   popt   popitem(   R   R(   R   R   R   RB   R4   R5   R6   R   R   R0   R   R   R7   R8   R   R:   R)   R*   R   RC   R<   R   R>   (    (    R	   t   test_all   sΊ    ""+"%%("(('  6



 "" " "&  
(   R   R   R   R   t	   type2testRI   (    (    (    R	   R      s   	t   SeqDictc           B   s_   t  Z d  Z e d  Z d   Z d   Z d   Z d   Z d   Z	 e d  Z
 e e
  Z
 RS(   s]   Dictionary lookalike implemented with lists.

    Used to test and demonstrate DictMixin
    c         K   so   g  |  _ g  |  _ | d  j	 o% x" | D] \ } } | |  | <q& Wn x$ | i   D] \ } } | |  | <qQ Wd  S(   N(	   R   t   keylistt	   valuelistt   othert   Nonet   keyt   valuet   kwargst	   iteritems(   R   RN   RR   RQ   RP   (    (    R	   t   __init__   s    		  c         C   s=   y |  i i |  } Wn t j
 o t  n X|  i | S(   N(   R   RL   t   indexRP   R<   t
   ValueErrorR.   RM   (   R   RP   R<   (    (    R	   R/   §   s
    c         C   s]   y# |  i i |  } | |  i | <Wn3 t j
 o' |  i i |  |  i i |  n Xd  S(   N(	   R   RL   RU   RP   R<   RQ   RM   RV   RD   (   R   RP   RQ   R<   (    (    R	   t   __setitem__­   s    c         C   sV   y |  i i |  } Wn t j
 o t  n X|  i i |  |  i i |  d  S(   N(	   R   RL   RU   RP   R<   RV   R.   RG   RM   (   R   RP   R<   (    (    R	   R1   ΄   s    c         C   s   t  |  i  S(   N(   t   listR   RL   (   R   (    (    R	   R:   »   s    c         C   s7   |  i   } x$ |  i   D] \ } } | | | <q W| S(   N(   R   t	   __class__t   dRS   RP   RQ   (   R   RQ   RZ   RP   (    (    R	   R3   ½   s
     c         C   s(   |    } x | D] } | | | <q W| S(   N(   t   clsRZ   R:   RP   RQ   (   R[   R:   RQ   RP   RZ   (    (    R	   R    Β   s
    	 (   R   R   t   __doc__RO   RT   R/   RW   R1   R:   R3   R    t   classmethod(    (    (    R	   RK      s    					t   UserDictMixinTestc           B   s   t  Z e Z d   Z RS(   Nc         C   s  t    } d | d <d | d <d | d <| d =|  i | d d  |  i | i   d d g  |  i | i d   |  i | i d   |  i d | j  |  i d | j  |  i g  } | D] } | | qΒ ~ d d g  |  i t	 |  d  |  i t
 | i    d d g  |  i t
 | i    d d g  |  i t
 | i    d d g  |  i | i   d d g  |  i | i   d d g  |  i | i d  d  |  i | i d d	  d	  |  i | i d  d   |  i | i d
 d  d  |  i | i d d  d  | d
 =|  i | i d  d  |  i d | j  d | d <|  i | i d d  d  d | d <|  i | i d d  d  | i   \ } } |  i | | j  | | | <| i   |  i t	 |  d  |  i t | i  | i h  d d <d d < |  i | d d  |  i | d d  |  i | h  d d <d d < t    } d | d <d | d <|  i | |  d  S(   Nt   teni
   t   twentyi   t   thirtyi   i   i   t   fifteeni(   t   fortyt   nullR   i   i*   i    (   i
   R_   (   i   Ra   (   i
   R_   (   i   Ra   (   RK   t   sR   R   R:   R$   R=   t   _[1]RC   R,   RX   RS   t   iterkeyst
   itervaluesR;   R   R@   RO   RF   RG   RH   t   vR2   R-   R.   R?   R>   (   R   RC   Rf   Re   R>   Ri   (    (    R	   RI   Μ   sX    	


1"""



"	

(   R   R   RK   RJ   RI   (    (    (    R	   R^   Ι   s   c           C   s   t  i t t  d  S(   N(   t   test_supportt   run_unittestR   R^   (    (    (    R	   t	   test_main&  s    	t   __main__(   t   unittestt   testRj   t   mapping_testsR   R   R   R   R   RO   R"   R#   t   TestHashMappingProtocolR   t	   DictMixinRK   t   TestMappingProtocolR^   Rl   R   (   Rj   R   R   Rn   RK   R^   Rl   Rp   R"   R#   R   R   R   R   (    (    R	   t   ?   s   		!/]	