mò
­fIc           @   su   d  Z  d k Z d k Z d k Z d k Z d k l Z d e i f d „  ƒ  YZ d „  Z	 e
 d j o e	 ƒ  n d S(   s   Unit tests for the copy module.N(   s   test_supportt   TestCopyc           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 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) d) „  Z* d* „  Z+ d+ „  Z, d, „  Z- d- „  Z. d. „  Z/ d/ „  Z0 d0 „  Z1 d1 „  Z2 d2 „  Z3 d3 „  Z4 d4 „  Z5 d5 „  Z6 d6 „  Z7 d7 „  Z8 d8 „  Z9 d9 „  Z: d: „  Z; d; „  Z< d< „  Z= d= „  Z> d> „  Z? d? „  Z@ RS(@   Nc         C   s6   |  i t i t i j ƒ |  i t t i t ƒ ƒ d  S(   N(   t   selft   assert_t   copyt   Errort   errort
   issubclasst	   Exception(   R   (    (    t+   /mit/python/lib/python2.4/test/test_copy.pyt   test_exceptions   s    c         C   s)   d } t i | ƒ } |  i | | ƒ d  S(   Ni*   (   t   xR   t   yR   t   assertEqual(   R   R   R
   (    (    R   t   test_copy_basic   s    c            sd   d t  f ‡  d †  ƒ  Y‰  ˆ  d ƒ } t i | ƒ } |  i | i | i ƒ |  i | i | i ƒ d  S(   Nt   Cc              s   t  Z d „  Z ‡  d †  Z RS(   Nc         C   s   | |  _  d  S(   N(   t   fooR   (   R   R   (    (    R   t   __init__   s    c            s   ˆ  |  i ƒ S(   N(   R   R   R   (   R   (   R   (    R   t   __copy__   s    (   t   __name__t
   __module__R   R   (    (   R   (    R   R      s   	i*   (	   t   objectR   R
   R   R   R   R   t	   __class__R   (   R   R   R   R
   (    (   R   R   t   test_copy_copy   s
    c            sj   d t  f d „  ƒ  Y‰  ‡  d †  } ˆ  d ƒ } |  i t t i | ƒ t i	 ˆ  | ˆ  ƒ t i | ƒ } d  S(   NR   c           B   s   t  Z d „  Z RS(   Nc         C   s   t  i |  ƒ } | | _ | S(   N(   R   t   __new__t   clst   objR   (   R   R   R   (    (    R   R   &   s    	(   R   R   R   (    (    (    R   R   %   s   c            s   ˆ  |  i f f S(   N(   R   R   R   (   R   (   R   (    R   t   pickle_C*   s    i*   (   R   R   R   R
   R   t   assertRaisest	   TypeErrorR   t   copy_regt   pickleR   (   R   R   R   R   R
   (    (   R   R   t   test_copy_registry$   s    c         C   sE   d t  f d „  ƒ  Y} | ƒ  } t i | ƒ } |  i | | j ƒ d  S(   NR   c           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s   d S(   Nt    (    (   R   t   proto(    (    R   t   __reduce_ex__3   s    c         C   s   t  i d ‚ d  S(   Ns   shouldn't call this(   t   test_supportt
   TestFailed(   R   (    (    R   t
   __reduce__5   s    (   R   R   R"   R%   (    (    (    R   R   2   s   	(   R   R   R
   R   R   R   R   (   R   R   R   R
   (    (    R   t   test_copy_reduce_ex1   s    	c         C   sE   d t  f d „  ƒ  Y} | ƒ  } t i | ƒ } |  i | | j ƒ d  S(   NR   c           B   s   t  Z d „  Z RS(   Nc         C   s   d S(   NR    (    (   R   (    (    R   R%   =   s    (   R   R   R%   (    (    (    R   R   <   s   (   R   R   R
   R   R   R   R   (   R   R   R   R
   (    (    R   t   test_copy_reduce;   s    	c         C   s<   d t  f d „  ƒ  Y} | ƒ  } |  i t i t i | ƒ d  S(   NR   c           B   s   t  Z d „  Z RS(   Nc         C   s-   | i d ƒ o t | ‚ n t i |  | ƒ S(   Nt   __reduce(   t   namet
   startswitht   AttributeErrorR   t   __getattribute__R   (   R   R)   (    (    R   R,   E   s    (   R   R   R,   (    (    (    R   R   D   s   (   R   R   R
   R   R   R   R   (   R   R
   R   (    (    R   t   test_copy_cantC   s    	c         C   s©   d f  d „  ƒ  Y} d t f d „  ƒ  Y} d „  } d  d d d d	 t t d
 d d | i | t d ƒ | t	 g } x3 | D]+ } |  i t i | ƒ | j t | ƒ ƒ qv Wd  S(   Nt   Classicc           B   s   t  Z RS(   N(   R   R   (    (    (    R   R.   O   s   t   NewStylec           B   s   t  Z RS(   N(   R   R   (    (    (    R   R/   Q   s   c           C   s   d  S(   N(    (    (    (    R   t   fS   s    i*   l    id   f3.1400000000000001x0.01.0t   hellou   helloáˆ´i
   (   R.   R   R/   R0   t   Nonet   Truet   Falset	   func_codet   xranget   maxt   testsR
   R   R   R   t   repr(   R   R
   R8   R.   R0   R/   (    (    R   t   test_copy_atomicN   s    	= c         C   s,   d d d g } |  i t i | ƒ | ƒ d  S(   Ni   i   i   (   R
   R   R   R   (   R   R
   (    (    R   t   test_copy_list[   s    c         C   s#   d } |  i t i | ƒ | ƒ d  S(   Ni   i   i   (   i   i   i   (   R
   R   R   R   (   R   R
   (    (    R   t   test_copy_tuple_   s    c         C   s5   h  d d <d d <} |  i t i | ƒ | ƒ d  S(   NR   i   t   bari   (   R
   R   R   R   (   R   R
   (    (    R   t   test_copy_dictc   s    c         C   s<   d f  d „  ƒ  Y} | d ƒ } |  i t i | ƒ | ƒ d  S(   NR   c           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   R   R   (   R   R   (    (    R   R   i   s    c         C   s   t  |  i | i ƒ S(   N(   t   cmpR   R   t   other(   R   R@   (    (    R   t   __cmp__k   s    (   R   R   R   RA   (    (    (    R   R   h   s   	i*   (   R   R
   R   R   R   (   R   R
   R   (    (    R   t   test_copy_inst_vanillag   s    c            s?   d f  ‡  d †  ƒ  Y‰  ˆ  d ƒ } |  i t i | ƒ | ƒ d  S(   NR   c              s&   t  Z d „  Z ‡  d †  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   R   R   (   R   R   (    (    R   R   r   s    c            s   ˆ  |  i ƒ S(   N(   R   R   R   (   R   (   R   (    R   R   t   s    c         C   s   t  |  i | i ƒ S(   N(   R?   R   R   R@   (   R   R@   (    (    R   RA   v   s    (   R   R   R   R   RA   (    (   R   (    R   R   q   s   	i*   (   R   R
   R   R   R   (   R   R
   R   (    (   R   R   t   test_copy_inst_copyp   s    c         C   s<   d f  d „  ƒ  Y} | d ƒ } |  i t i | ƒ | ƒ d  S(   NR   c           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   R   R   (   R   R   (    (    R   R   }   s    c         C   s
   |  i f S(   N(   R   R   (   R   (    (    R   t   __getinitargs__   s    c         C   s   t  |  i | i ƒ S(   N(   R?   R   R   R@   (   R   R@   (    (    R   RA      s    (   R   R   R   RD   RA   (    (    (    R   R   |   s   		i*   (   R   R
   R   R   R   (   R   R
   R   (    (    R   t   test_copy_inst_getinitargs{   s    c         C   s<   d f  d „  ƒ  Y} | d ƒ } |  i t i | ƒ | ƒ d  S(   NR   c           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   R   R   (   R   R   (    (    R   R   ˆ   s    c         C   s   h  d |  i <S(   NR   (   R   R   (   R   (    (    R   t   __getstate__Š   s    c         C   s   t  |  i | i ƒ S(   N(   R?   R   R   R@   (   R   R@   (    (    R   RA   Œ   s    (   R   R   R   RF   RA   (    (    (    R   R   ‡   s   		i*   (   R   R
   R   R   R   (   R   R
   R   (    (    R   t   test_copy_inst_getstate†   s    c         C   s<   d f  d „  ƒ  Y} | d ƒ } |  i t i | ƒ | ƒ d  S(   NR   c           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   R   R   (   R   R   (    (    R   R   “   s    c         C   s   | d |  _ d  S(   NR   (   t   stateR   R   (   R   RH   (    (    R   t   __setstate__•   s    c         C   s   t  |  i | i ƒ S(   N(   R?   R   R   R@   (   R   R@   (    (    R   RA   —   s    (   R   R   R   RI   RA   (    (    (    R   R   ’   s   		i*   (   R   R
   R   R   R   (   R   R
   R   (    (    R   t   test_copy_inst_setstate‘   s    c         C   s<   d f  d „  ƒ  Y} | d ƒ } |  i t i | ƒ | ƒ d  S(   NR   c           B   s,   t  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   R   R   (   R   R   (    (    R   R   ž   s    c         C   s   |  i S(   N(   R   R   (   R   (    (    R   RF       s    c         C   s   | |  _ d  S(   N(   RH   R   R   (   R   RH   (    (    R   RI   ¢   s    c         C   s   t  |  i | i ƒ S(   N(   R?   R   R   R@   (   R   R@   (    (    R   RA   ¤   s    (   R   R   R   RF   RI   RA   (    (    (    R   R      s   			i*   (   R   R
   R   R   R   (   R   R
   R   (    (    R   t    test_copy_inst_getstate_setstateœ   s    	c         C   s   d k  l } | d g ƒ } t i | ƒ } |  i | | ƒ |  i | i | i ƒ |  i | | j	 ƒ |  i | i | i j ƒ d  S(   N(   s   make_copyablei   (	   t	   _testcapit   make_copyableR
   R   R   R   R   t   tagR   (   R   R   R
   RM   (    (    R   t   test_copy_classictypeª   s    c         C   s   d k  l } | d g ƒ } t i | ƒ } |  i | | ƒ |  i | i | i ƒ |  i	 | | j	 ƒ |  i	 | i | i j	 ƒ d  S(   N(   s   make_copyablei   (
   RL   RM   R
   R   t   deepcopyR   R   R   RN   R   (   R   R   R
   RM   (    (    R   t   test_deepcopy_classictype³   s    c         C   sd   d t  f d „  ƒ  Y} | d ƒ } |  i t i | ƒ | ƒ d „  | _ |  i t i | ƒ | ƒ d  S(   NR   c           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   t   vR   (   R   RR   (    (    R   R   ¿   s    c         C   s   t  | |  i ƒ S(   N(   R?   R@   R   RR   (   R   R@   (    (    R   RA   Á   s    c         C   s   |  i |  i ƒ S(   N(   R   R   RR   (   R   (    (    R   R   Ã   s    (   R   R   R   RA   R   (    (    (    R   R   ¾   s   		i   c           C   s   d S(   Ni*   (    (    (    (    R   t   <lambda>Ç   s    (   R   R   R
   R   R   R   R   (   R   R
   R   (    (    R   t   test_copy_classoverinstance½   s
    c         C   sd   d t  f d „  ƒ  Y} | d ƒ } |  i t i | ƒ | ƒ d „  | _ |  i t i | ƒ | ƒ d  S(   NR   c           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   RR   R   (   R   RR   (    (    R   R   Ì   s    c         C   s   t  | |  i ƒ S(   N(   R?   R@   R   RR   (   R   R@   (    (    R   RA   Î   s    c         C   s   |  i t i |  i | ƒ ƒ S(   N(   R   R   R   RP   RR   t   memo(   R   RU   (    (    R   t   __deepcopy__Ð   s    (   R   R   R   RA   RV   (    (    (    R   R   Ë   s   		i   c         C   s   d S(   Ni*   (    (   RU   (    (    R   RS   Ô   s    (   R   R   R
   R   R   R   RP   RV   (   R   R
   R   (    (    R   t   test_deepcopy_classoverinstanceÊ   s
    c            s‡   d t  i f d „  ƒ  Y‰ d t f ‡ d †  ƒ  Y‰  d f  ‡  d †  ƒ  Y} |  i ˆ t  i  | ƒ | d ƒ } |  i	 t  i  | ƒ | ƒ d  S(   Nt
   MyOwnErrorc           B   s   t  Z RS(   N(   R   R   (    (    (    R   RX   Ù   s   t   Metac              s   t  Z ‡  d †  Z RS(   Nc            s   ˆ  d ƒ ‚ d  S(   Ns#   can't copy classes w/this metaclass(   RX   (   R   (   RX   (    R   R   Ü   s    (   R   R   R   (    (   RX   (    R   RY   Û   s   R   c              s    t  Z ˆ  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   RN   R   (   R   RN   (    (    R   R   à   s    c         C   s   t  | |  i ƒ S(   N(   R?   R@   R   RN   (   R   R@   (    (    R   RA   â   s    (   R   R   RY   t   __metaclass__R   RA   (    (   RY   (    R   R   Þ   s   	i   (
   R   R   RX   t   typeRY   R   R   R   R
   R   (   R   R   RY   RX   R
   (    (   RY   RX   R   t   test_copy_metaclassconfusionØ   s    c            sŠ   d t  i f d „  ƒ  Y‰ d t f ‡ d †  ƒ  Y‰  d f  ‡  d †  ƒ  Y} |  i t  i | ƒ | ƒ | d ƒ } |  i t  i | ƒ | ƒ d  S(   NRX   c           B   s   t  Z RS(   N(   R   R   (    (    (    R   RX   ë   s   RY   c              s   t  Z ‡  d †  Z RS(   Nc            s   ˆ  d ƒ ‚ d  S(   Ns'   can't deepcopy classes w/this metaclass(   RX   (   R   RU   (   RX   (    R   RV   î   s    (   R   R   RV   (    (   RX   (    R   RY   í   s   R   c              s    t  Z ˆ  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   RN   R   (   R   RN   (    (    R   R   ò   s    c         C   s   t  | |  i ƒ S(   N(   R?   R@   R   RN   (   R   R@   (    (    R   RA   ô   s    (   R   R   RY   RZ   R   RA   (    (   RY   (    R   R   ð   s   	i   (
   R   R   RX   R[   RY   R   R   R   RP   R
   (   R   R   RY   RX   R
   (    (   RY   RX   R   t    test_deepcopy_metaclassconfusionê   s    c            s9   d t  f ‡  d †  ƒ  Y‰  d t f ‡  d †  ƒ  Y} | ƒ  S(   NR   c              s   t  Z ‡  d †  Z RS(   Nc            s0   | d j o t d ‚ n t ˆ  |  ƒ i | ƒ S(   Nt   __mro__s   What, *me*, a __mro__? Nevah!(   t   attrR+   t   superR   R   R,   (   R   R_   (   R   (    R   R,   þ   s    (   R   R   R,   (    (   R   (    R   R   ý   s   t   Dc              s   t  Z ˆ  Z RS(   N(   R   R   R   RZ   (    (   R   (    R   Ra     s   (   R[   R   R   Ra   (   R   R   Ra   (    (   R   R   t   _nomroü   s    c         C   s   |  i ƒ  } t i | ƒ } d  S(   N(   R   Rb   R
   R   R   (   R   R   R
   (    (    R   t   test_copy_mro  s    c         C   s   |  i ƒ  } t i | ƒ } d  S(   N(   R   Rb   R
   R   RP   R   (   R   R   R
   (    (    R   t   test_deepcopy_mro
  s    c         C   s)   d } t i | ƒ } |  i | | ƒ d  S(   Ni*   (   R
   R   RP   R   R   R   (   R   R   R
   (    (    R   t   test_deepcopy_basic  s    c         C   s~   g  } | | g } t i | ƒ } |  i | | ƒ |  i | | j	 ƒ |  i | d | d j	 ƒ |  i | d | d j ƒ d  S(   Ni    i   (   R
   R   RP   R   R   R   R   (   R   R   R
   (    (    R   t   test_deepcopy_memo  s    c            sI   d t  f d „  ƒ  Y‰  d f  ‡  d †  ƒ  Y} |  i t i | ƒ | ƒ d  S(   NRY   c           B   s   t  Z RS(   N(   R   R   (    (    (    R   RY   %  s   R   c              s   t  Z ˆ  Z RS(   N(   R   R   RY   RZ   (    (   RY   (    R   R   '  s   (   R[   RY   R   R   R   R   RP   (   R   RY   R   (    (   RY   R   t   test_deepcopy_issubclass   s    c            sd   d t  f ‡  d †  ƒ  Y‰  ˆ  d ƒ } t i | ƒ } |  i | i | i ƒ |  i | i	 | i	 ƒ d  S(   NR   c              s    t  Z d „  Z d  ‡  d † Z RS(   Nc         C   s   | |  _  d  S(   N(   R   R   (   R   R   (    (    R   R   -  s    c            s   ˆ  |  i ƒ S(   N(   R   R   R   (   R   RU   (   R   (    R   RV   /  s    (   R   R   R   R2   RV   (    (   R   (    R   R   ,  s   	i*   (
   R   R   R
   R   RP   R   R   R   R   R   (   R   R   R   R
   (    (   R   R   t   test_deepcopy_deepcopy+  s
    c            sj   d t  f d „  ƒ  Y‰  ‡  d †  } ˆ  d ƒ } |  i t t i | ƒ t	 i
 ˆ  | ˆ  ƒ t i | ƒ } d  S(   NR   c           B   s   t  Z d „  Z RS(   Nc         C   s   t  i |  ƒ } | | _ | S(   N(   R   R   R   R   R   (   R   R   R   (    (    R   R   8  s    	(   R   R   R   (    (    (    R   R   7  s   c            s   ˆ  |  i f f S(   N(   R   R   R   (   R   (   R   (    R   R   <  s    i*   (   R   R   R   R
   R   R   R   R   RP   R   R   R   (   R   R   R   R   R
   (    (   R   R   t   test_deepcopy_registry6  s    c         C   sE   d t  f d „  ƒ  Y} | ƒ  } t i | ƒ } |  i | | j ƒ d  S(   NR   c           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s   d S(   NR    (    (   R   R!   (    (    R   R"   E  s    c         C   s   t  i d ‚ d  S(   Ns   shouldn't call this(   R#   R$   (   R   (    (    R   R%   G  s    (   R   R   R"   R%   (    (    (    R   R   D  s   	(   R   R   R
   R   RP   R   R   R   (   R   R   R   R
   (    (    R   t   test_deepcopy_reduce_exC  s    	c         C   sE   d t  f d „  ƒ  Y} | ƒ  } t i | ƒ } |  i | | j ƒ d  S(   NR   c           B   s   t  Z d „  Z RS(   Nc         C   s   d S(   NR    (    (   R   (    (    R   R%   O  s    (   R   R   R%   (    (    (    R   R   N  s   (   R   R   R
   R   RP   R   R   R   (   R   R   R   R
   (    (    R   t   test_deepcopy_reduceM  s    	c         C   s<   d t  f d „  ƒ  Y} | ƒ  } |  i t i t i | ƒ d  S(   NR   c           B   s   t  Z d „  Z RS(   Nc         C   s-   | i d ƒ o t | ‚ n t i |  | ƒ S(   NR(   (   R)   R*   R+   R   R,   R   (   R   R)   (    (    R   R,   W  s    (   R   R   R,   (    (    (    R   R   V  s   (   R   R   R
   R   R   R   R   RP   (   R   R
   R   (    (    R   t   test_deepcopy_cantU  s    	c         C   s©   d f  d „  ƒ  Y} d t f d „  ƒ  Y} d „  } d  d d d d	 t t d
 d d | i | t d ƒ | t	 g } x3 | D]+ } |  i t i | ƒ | j t | ƒ ƒ qv Wd  S(   NR.   c           B   s   t  Z RS(   N(   R   R   (    (    (    R   R.   a  s   R/   c           B   s   t  Z RS(   N(   R   R   (    (    (    R   R/   c  s   c           C   s   d  S(   N(    (    (    (    R   R0   e  s    i*   l    id   f3.1400000000000001x0.01.0R1   u   helloáˆ´i
   (   R.   R   R/   R0   R2   R3   R4   R5   R6   R7   R8   R
   R   R   R   RP   R9   (   R   R
   R8   R.   R0   R/   (    (    R   t   test_deepcopy_atomic`  s    	= c         C   sc   d d g d g } t i | ƒ } |  i | | ƒ |  i | | j	 ƒ |  i | d | d j	 ƒ d  S(   Ni   i   i   i    (   R
   R   RP   R   R   R   R   (   R   R   R
   (    (    R   t   test_deepcopy_listm  s
    c         C   s|   g  } | i | ƒ t i | ƒ } |  i t t | | ƒ |  i	 | | j	 ƒ |  i	 | d | j ƒ |  i
 t | ƒ d ƒ d  S(   Ni    i   (   R
   t   appendR   RP   R   R   R   t   RuntimeErrorR?   R   R   t   len(   R   R   R
   (    (    R   t   test_deepcopy_reflexive_listt  s    c         C   sc   d d g d f } t i | ƒ } |  i | | ƒ |  i | | j	 ƒ |  i | d | d j	 ƒ d  S(   Ni   i   i   i    (   R
   R   RP   R   R   R   R   (   R   R   R
   (    (    R   t   test_deepcopy_tuple}  s
    c         C   sŒ   g  f } | d i | ƒ t i | ƒ } |  i t t | | ƒ |  i	 | | j	 ƒ |  i	 | d | d j	 ƒ |  i	 | d d | j ƒ d  S(   Ni    (
   R
   Ro   R   RP   R   R   R   Rp   R?   R   (   R   R   R
   (    (    R   t   test_deepcopy_reflexive_tuple„  s    	c         C   so   h  d d d g <d d <} t i | ƒ } |  i | | ƒ |  i | | j	 ƒ |  i | d | d j	 ƒ d  S(   NR   i   i   R=   i   (   R
   R   RP   R   R   R   R   (   R   R   R
   (    (    R   t   test_deepcopy_dict  s
    c         C   sy   h  } | | d <t i | ƒ } |  i t t | | ƒ |  i | | j	 ƒ |  i | d | j ƒ |  i	 t
 | ƒ d ƒ d  S(   NR   i   (   R
   R   RP   R   R   R   Rp   R?   R   R   Rq   (   R   R   R
   (    (    R   t   test_deepcopy_reflexive_dict”  s    
c         C   s?   h  } d } t i | | ƒ } |  i | t | ƒ | j ƒ d  S(   Ni*   (   RU   R
   R   RP   R   R   R   t   id(   R   R   R
   RU   (    (    R   t   test_deepcopy_keepalive  s    c         C   s^   d f  d „  ƒ  Y} | d g ƒ } t i | ƒ } |  i | | ƒ |  i | i | i j	 ƒ d  S(   NR   c           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   R   R   (   R   R   (    (    R   R   ¥  s    c         C   s   t  |  i | i ƒ S(   N(   R?   R   R   R@   (   R   R@   (    (    R   RA   §  s    (   R   R   R   RA   (    (    (    R   R   ¤  s   	i*   (	   R   R
   R   RP   R   R   R   R   R   (   R   R   R
   R   (    (    R   t   test_deepcopy_inst_vanilla£  s
    c            st   d f  ‡  d †  ƒ  Y‰  ˆ  d g ƒ } t i | ƒ } |  i | | ƒ |  i | | j	 ƒ |  i | i | i j	 ƒ d  S(   NR   c              s&   t  Z d „  Z ‡  d †  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   R   R   (   R   R   (    (    R   R   °  s    c            s   ˆ  t i |  i | ƒ ƒ S(   N(   R   R   RP   R   R   RU   (   R   RU   (   R   (    R   RV   ²  s    c         C   s   t  |  i | i ƒ S(   N(   R?   R   R   R@   (   R   R@   (    (    R   RA   ´  s    (   R   R   R   RV   RA   (    (   R   (    R   R   ¯  s   	i*   (	   R   R
   R   RP   R   R   R   R   R   (   R   R   R
   R   (    (   R   R   t   test_deepcopy_inst_deepcopy®  s    c         C   sq   d f  d „  ƒ  Y} | d g ƒ } t i | ƒ } |  i | | ƒ |  i | | j	 ƒ |  i | i | i j	 ƒ d  S(   NR   c           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   R   R   (   R   R   (    (    R   R   ¾  s    c         C   s
   |  i f S(   N(   R   R   (   R   (    (    R   RD   À  s    c         C   s   t  |  i | i ƒ S(   N(   R?   R   R   R@   (   R   R@   (    (    R   RA   Â  s    (   R   R   R   RD   RA   (    (    (    R   R   ½  s   		i*   (	   R   R
   R   RP   R   R   R   R   R   (   R   R   R
   R   (    (    R   t   test_deepcopy_inst_getinitargs¼  s    c         C   sq   d f  d „  ƒ  Y} | d g ƒ } t i | ƒ } |  i | | ƒ |  i | | j	 ƒ |  i | i | i j	 ƒ d  S(   NR   c           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   R   R   (   R   R   (    (    R   R   Ì  s    c         C   s   h  d |  i <S(   NR   (   R   R   (   R   (    (    R   RF   Î  s    c         C   s   t  |  i | i ƒ S(   N(   R?   R   R   R@   (   R   R@   (    (    R   RA   Ð  s    (   R   R   R   RF   RA   (    (    (    R   R   Ë  s   		i*   (	   R   R
   R   RP   R   R   R   R   R   (   R   R   R
   R   (    (    R   t   test_deepcopy_inst_getstateÊ  s    c         C   sq   d f  d „  ƒ  Y} | d g ƒ } t i | ƒ } |  i | | ƒ |  i | | j	 ƒ |  i | i | i j	 ƒ d  S(   NR   c           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   R   R   (   R   R   (    (    R   R   Ú  s    c         C   s   | d |  _ d  S(   NR   (   RH   R   R   (   R   RH   (    (    R   RI   Ü  s    c         C   s   t  |  i | i ƒ S(   N(   R?   R   R   R@   (   R   R@   (    (    R   RA   Þ  s    (   R   R   R   RI   RA   (    (    (    R   R   Ù  s   		i*   (	   R   R
   R   RP   R   R   R   R   R   (   R   R   R
   R   (    (    R   t   test_deepcopy_inst_setstateØ  s    c         C   sq   d f  d „  ƒ  Y} | d g ƒ } t i | ƒ } |  i | | ƒ |  i | | j	 ƒ |  i | i | i j	 ƒ d  S(   NR   c           B   s,   t  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   R   R   (   R   R   (    (    R   R   è  s    c         C   s   |  i S(   N(   R   R   (   R   (    (    R   RF   ê  s    c         C   s   | |  _ d  S(   N(   RH   R   R   (   R   RH   (    (    R   RI   ì  s    c         C   s   t  |  i | i ƒ S(   N(   R?   R   R   R@   (   R   R@   (    (    R   RA   î  s    (   R   R   R   RF   RI   RA   (    (    (    R   R   ç  s   			i*   (	   R   R
   R   RP   R   R   R   R   R   (   R   R   R
   R   (    (    R   t$   test_deepcopy_inst_getstate_setstateæ  s    	c         C   sa   d f  d „  ƒ  Y} | ƒ  } | | _ t i | ƒ } |  i | | j	 ƒ |  i | i | j ƒ d  S(   NR   c           B   s   t  Z RS(   N(   R   R   (    (    (    R   R   ÷  s   (   R   R
   R   R   RP   R   R   R   (   R   R   R
   R   (    (    R   t   test_deepcopy_reflexive_instö  s    		c         C   sg   d t  f d „  ƒ  Y} | ƒ  } t i | ƒ } |  i | | j ƒ t i | ƒ } |  i | | j ƒ d  S(   NR   c           B   s   t  Z d „  Z RS(   Nc         C   s   d S(   NR    (    (   R   (    (    R   R%     s    (   R   R   R%   (    (    (    R   R     s   (   R   R   R
   R   R   R   R   RP   (   R   R   R   R
   (    (    R   t   test_reconstruct_string  s    	c            s   d t  f ‡  d †  ƒ  Y‰  ˆ  ƒ  } d | _ t i | ƒ } |  i | i | i j ƒ t i	 | ƒ } |  i | i | i j ƒ d  S(   NR   c              s   t  Z ‡  d †  Z RS(   Nc            s
   ˆ  f  f S(   N(   R   (   R   (   R   (    R   R%     s    (   R   R   R%   (    (   R   (    R   R     s   i*   (
   R   R   R
   R   R   R   R   R   R   RP   (   R   R   R   R
   (    (   R   R   t   test_reconstruct_nostate  s    		c            s‰   d t  f ‡  d †  ƒ  Y‰  ˆ  ƒ  } d g | _ t i | ƒ } |  i | | ƒ t i | ƒ } |  i | | ƒ |  i	 | i | i j	 ƒ d  S(   NR   c              s   t  Z ‡  d †  Z d „  Z RS(   Nc            s   ˆ  f  |  i f S(   N(   R   R   t   __dict__(   R   (   R   (    R   R%     s    c         C   s   t  |  i | i ƒ S(   N(   R?   R   R‚   R@   (   R   R@   (    (    R   RA     s    (   R   R   R%   RA   (    (   R   (    R   R     s   i*   (
   R   R   R
   R   R   R   R   R   RP   R   (   R   R   R   R
   (    (   R   R   t   test_reconstruct_state  s    	c            s‰   d t  f ‡  d †  ƒ  Y‰  ˆ  ƒ  } d g | _ t i | ƒ } |  i | | ƒ t i | ƒ } |  i | | ƒ |  i	 | i | i j	 ƒ d  S(   NR   c              s&   t  Z ‡  d †  Z d „  Z d „  Z RS(   Nc            s   ˆ  f  |  i f S(   N(   R   R   R‚   (   R   (   R   (    R   R%   &  s    c         C   s   |  i i | ƒ d  S(   N(   R   R‚   t   updateRH   (   R   RH   (    (    R   RI   (  s    c         C   s   t  |  i | i ƒ S(   N(   R?   R   R‚   R@   (   R   R@   (    (    R   RA   *  s    (   R   R   R%   RI   RA   (    (   R   (    R   R   %  s   	i*   (
   R   R   R
   R   R   R   R   R   RP   R   (   R   R   R   R
   (    (   R   R   t   test_reconstruct_state_setstate$  s    	c         C   sd   d t  f d „  ƒ  Y} | ƒ  } | | _ t i | ƒ } |  i | | j	 ƒ |  i | i | j ƒ d  S(   NR   c           B   s   t  Z RS(   N(   R   R   (    (    (    R   R   5  s   (	   R   R   R
   R   R   RP   R   R   R   (   R   R   R   R
   (    (    R   t   test_reconstruct_reflexive4  s    		c            sÏ   d t  f ‡  d †  ƒ  Y‰  ˆ  d d g d g ƒ } t i | ƒ } |  i | | ƒ |  i | | j	 ƒ |  i | d | d j ƒ t i | ƒ } |  i | | ƒ |  i | | j	 ƒ |  i | d | d j	 ƒ d  S(   NR   c              s   t  Z ‡  d †  Z d „  Z RS(   Nc            s   ˆ  f  |  i t |  ƒ f S(   N(   R   R   R‚   t   iter(   R   (   R   (    R   R%   A  s    c         C   s/   t  t |  ƒ t | ƒ ƒ p t  |  i | i ƒ S(   N(   R?   t   listR   R@   R‚   (   R   R@   (    (    R   RA   C  s    (   R   R   R%   RA   (    (   R   (    R   R   @  s   i   i   i   i    (	   Rˆ   R   R
   R   R   R   R   R   RP   (   R   R   R   R
   (    (   R   R   t   test_reduce_4tuple?  s    c            sÕ   d t  f ‡  d †  ƒ  Y‰  ˆ  d d d g f d g ƒ } t i | ƒ } |  i | | ƒ |  i | | j	 ƒ |  i | d | d j ƒ t i | ƒ } |  i | | ƒ |  i | | j	 ƒ |  i | d | d j	 ƒ d  S(	   NR   c              s   t  Z ‡  d †  Z d „  Z RS(   Nc            s   ˆ  f  |  i d  |  i ƒ  f S(   N(   R   R   R‚   R2   t	   iteritems(   R   (   R   (    R   R%   R  s    c         C   s/   t  t |  ƒ t t ƒ ƒ p t  |  i | i ƒ S(   N(   R?   t   dictR   Rˆ   R‚   R@   (   R   R@   (    (    R   RA   T  s    (   R   R   R%   RA   (    (   R   (    R   R   Q  s   R   i   i   R=   i   (   s   bari   (	   R‹   R   R
   R   R   R   R   R   RP   (   R   R   R   R
   (    (   R   R   t   test_reduce_5tupleP  s    c         C   sW   d t  f d „  ƒ  Y} | ƒ  } d g | _ t i | ƒ } |  i | i | i j ƒ d  S(   NR   c           B   s   t  Z d g Z RS(   NR   (   R   R   t	   __slots__(    (    (    R   R   b  s   i*   (   R   R   R
   R   R   R   R   R   (   R   R   R   R
   (    (    R   t   test_copy_slotsa  s
    	c         C   sm   d t  f d „  ƒ  Y} | ƒ  } d g | _ t i | ƒ } |  i | i | i ƒ |  i	 | i | i j	 ƒ d  S(   NR   c           B   s   t  Z d g Z RS(   NR   (   R   R   R   (    (    (    R   R   j  s   i*   (
   R   R   R
   R   R   RP   R   R   R   R   (   R   R   R   R
   (    (    R   t   test_deepcopy_slotsi  s    	c         C   s¶   d t  f d „  ƒ  Y} | d d g d g ƒ } d d g | _ t i | ƒ } |  i t  | ƒ t  | ƒ ƒ |  i | i | i ƒ |  i | d | d j ƒ |  i | i | i j ƒ d  S(	   NR   c           B   s   t  Z RS(   N(   R   R   (    (    (    R   R   s  s   i   i   i   i   i   i    (	   Rˆ   R   R
   R   R   R   R   R   R   (   R   R   R   R
   (    (    R   t   test_copy_list_subclassr  s    c         C   s¶   d t  f d „  ƒ  Y} | d d g d g ƒ } d d g | _ t i | ƒ } |  i t  | ƒ t  | ƒ ƒ |  i | i | i ƒ |  i	 | d | d j	 ƒ |  i	 | i | i j	 ƒ d  S(	   NR   c           B   s   t  Z RS(   N(   R   R   (    (    (    R   R   ~  s   i   i   i   i   i   i    (
   Rˆ   R   R
   R   R   RP   R   R   R   R   (   R   R   R   R
   (    (    R   t   test_deepcopy_list_subclass}  s    c         C   sj   d t  f d „  ƒ  Y} | d d d g ƒ } |  i t  | ƒ d ƒ t i | ƒ } |  i t  | ƒ d ƒ d  S(   NR   c           B   s   t  Z RS(   N(   R   R   (    (    (    R   R   ‰  s   i   i   i   (   i   i   i   (   i   i   i   (   t   tupleR   R
   R   R   R   R   (   R   R   R   R
   (    (    R   t   test_copy_tuple_subclassˆ  s
    c         C   s³   d t  f d „  ƒ  Y} | d d g d g ƒ } |  i t  | ƒ d d g d f ƒ t i | ƒ } |  i t  | ƒ d d g d f ƒ |  i | | j	 ƒ |  i | d | d j	 ƒ d  S(   NR   c           B   s   t  Z RS(   N(   R   R   (    (    (    R   R   ‘  s   i   i   i   i    (	   R’   R   R
   R   R   R   RP   R   R   (   R   R   R   R
   (    (    R   t   test_deepcopy_tuple_subclass  s    ""c         C   s3   d t  f d „  ƒ  Y} |  i t t i | ƒ  ƒ d  S(   Nt	   EvilStatec           B   s   t  Z d „  Z RS(   Nc         C   s   t  d ‚ d  S(   Ns   ain't got no stickin' state(   t
   ValueError(   R   (    (    R   RF   œ  s    (   R   R   RF   (    (    (    R   R•   ›  s   (   R   R•   R   R   R–   R   (   R   R•   (    (    R   t   test_getstate_excš  s    (A   R   R   R	   R   R   R   R&   R'   R-   R:   R;   R<   R>   RB   RC   RE   RG   RJ   RK   RO   RQ   RT   RW   R\   R]   Rb   Rc   Rd   Re   Rf   Rg   Rh   Ri   Rj   Rk   Rl   Rm   Rn   Rr   Rs   Rt   Ru   Rv   Rx   Ry   Rz   R{   R|   R}   R~   R   R€   R   Rƒ   R…   R†   R‰   RŒ   RŽ   R   R   R‘   R“   R”   R—   (    (    (    R   R    
   s~   					
																
					
								
																					
													
c           C   s   t  i t ƒ d  S(   N(   R#   t   run_unittestR    (    (    (    R   t	   test_main   s    t   __main__(   t   __doc__t   sysR   R   t   unittestt   testR#   t   TestCaseR    R™   R   (   R#   R    R   R   Rœ   R™   R   (    (    R   t   ?   s   				ÿ ÿ ˜	