Ñò
à"Ic        	   @   s   d  Z  d d k Z d d k Z d d k Z d d k Z d d k l Z d d k l Z d „  Z	 d e i
 f d „  ƒ  YZ d „  Z e d	 j o e ƒ  n d S(
   s'   Unit tests for collections.defaultdict.iÿÿÿÿN(   t   test_support(   t   defaultdictc           C   s   t  S(   N(   t   list(    (    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyt   foobar   s    t   TestDefaultDictc           B   sY   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   c         C   s•  t  ƒ  } |  i | i d  ƒ t | _ | d i d ƒ |  i | h d g d 6ƒ | d i d ƒ |  i | h d d g d 6ƒ | d | d |  i | h d d g d 6g  d 6g  d 6ƒ |  i | d | d j	 o | d j	 n ƒ t  t d d d d	 ƒ} |  i | i t ƒ |  i | h d d 6d	 d 6ƒ |  i | d d ƒ |  i | d d	 ƒ |  i | d g  ƒ |  i d | j ƒ |  i d | i ƒ  j ƒ |  i d | j ƒ |  i d | i ƒ  j ƒ |  i d | j ƒ |  i d | i ƒ  j ƒ |  i d | j ƒ |  i d | i ƒ  j ƒ d  | _ |  i | i d  ƒ y | d
 Wn( t j
 o } |  i | i	 d ƒ n X|  i
 d ƒ |  i t t  d ƒ d  S(   Ni   i*   i   i   i   t   fooi   t   bari   i   s   d2[15] didn't raise KeyError(   i   (   R   t   assertEqualt   default_factoryt   NoneR   t   appendt   assert_t   keyst   KeyErrort   argst   failt   assertRaisest	   TypeError(   t   selft   d1t   d2t   err(    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyt
   test_basic   sB    		+0	c         C   sE   t  ƒ  } |  i t | i d ƒ t | _ |  i | i d ƒ g  ƒ d  S(   Ni*   (   R   R   R   t   __missing__R   R   R   (   R   R   (    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyt   test_missing4   s    		c         C   sè   t  ƒ  } |  i | i d  ƒ |  i t | ƒ d ƒ d | d <|  i t | ƒ d ƒ t  t ƒ } |  i | i t ƒ d | d <|  i t | ƒ d ƒ d „  } t  | ƒ } |  i | i | j ƒ | d	 |  i t | ƒ d
 t | ƒ ƒ d  S(   Ns   defaultdict(None, {})i)   i   s   defaultdict(None, {11: 41})i*   i   s#   defaultdict(<type 'int'>, {12: 42})c           S   s   d S(   Ni+   (    (    (    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyR   D   s    i   s   defaultdict(%s, {13: 43})(   R   R   R   R	   t   reprt   intR   (   R   R   R   R   t   d3(    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyt	   test_repr:   s    	

	c      
   C   sÏ   t  ƒ  } d „  } t  | h d d 6ƒ } t i ƒ  } z† t | d ƒ } ze | | IJ| | IJ| i d ƒ |  i | i ƒ  t | ƒ d ƒ |  i | i ƒ  t | ƒ d ƒ Wd  | i ƒ  XWd  t	 i
 | ƒ Xd  S(   Nc           S   s   d S(   Ni*   (    (    (    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyR   L   s    i   i   s   w+i    s   
(   R   t   tempfilet   mktempt   opent   seekR   t   readlineR   t   closet   ost   remove(   R   R   R   R   t   tfnt   f(    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyt
   test_printJ   s    		

 $c         C   s  t  ƒ  } | i ƒ  } |  i t | ƒ t  ƒ |  i | i d  ƒ |  i | h  ƒ t | _ | i ƒ  } |  i t | ƒ t  ƒ |  i | i t ƒ |  i | h  ƒ | d | i ƒ  } |  i t | ƒ t  ƒ |  i | i t ƒ |  i | h g  d 6ƒ | d |  i | h g  d 6g  d 6ƒ d  S(   Ni*   i   (   R   t   copyR   t   typeR   R	   R   (   R   R   R   R   t   d4(    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyt	   test_copy_   s"    		c         C   s‡   t  t h d d 6ƒ } t i | ƒ } |  i | i t ƒ |  i | | ƒ t | _ t i | ƒ } |  i | i t ƒ |  i | | ƒ d  S(   Ni   (   R   R   R(   R   R   R   (   R   R   R   (    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyt   test_shallow_copyr   s    	c         C   s¥   t  t h d g d 6ƒ } t i | ƒ } |  i | i t ƒ |  i | | ƒ |  i | d | d j	 ƒ t | _ t i | ƒ } |  i | i t ƒ |  i | | ƒ d  S(   Ni   (   R   R   R(   t   deepcopyR   R   R   R   (   R   R   R   (    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyt   test_deep_copy|   s    	c         C   sU   t  ƒ  } y | d Wn, t j
 o  } |  i | i d d ƒ n X|  i d ƒ d  S(   Ni   i    s   expected KeyError(   i   (   i   (   R   R   R   R   R   (   R   R   R   (    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyt   test_keyerror_without_factory‡   s    	c      	   C   s‹   d t  f d „  ƒ  Y} | ƒ  } |  i t | ƒ i d ƒ ƒ t i ƒ  } z/ t | d ƒ } z | | IJWd  | i ƒ  XWd  t i	 | ƒ Xd  S(   Nt   subc           B   s   e  Z d  „  Z d „  Z RS(   c         S   s   |  i  |  _ d  S(   N(   t   _factoryR   (   R   (    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyt   __init__“   s    c         S   s   g  S(   N(    (   R   (    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyR1   •   s    (   t   __name__t
   __module__R2   R1   (    (    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyR0   ’   s   	s9   defaultdict(<bound method sub._factory of defaultdict(...s   w+(
   R   R   R   t
   startswithR   R   R   R"   R#   R$   (   R   R0   t   dR%   R&   (    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyt   test_recursive_repr   s    	
(   R3   R4   R   R   R   R'   R+   R,   R.   R/   R7   (    (    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyR      s   	$					
			c           C   s   t  i t ƒ d  S(   N(   R    t   run_unittestR   (    (    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyt	   test_main¨   s    t   __main__(   t   __doc__R#   R(   R   t   unittestt   testR    t   collectionsR   R   t   TestCaseR   R9   R3   (    (    (    s2   /mit/python/lib/python2.6/test/test_defaultdict.pyt   <module>   s   	š	