mò
­fIc           @   s@  d  k  Z  d k l Z d f  d „  ƒ  YZ d f  d „  ƒ  YZ d f  d „  ƒ  YZ d f  d	 „  ƒ  YZ d
 f  d „  ƒ  YZ d f  d „  ƒ  YZ d e  i	 f d „  ƒ  YZ
 d e f d „  ƒ  YZ d e
 f d „  ƒ  YZ d e
 f d „  ƒ  YZ d e
 f d „  ƒ  YZ d e  i	 f d „  ƒ  YZ d  d „ Z e d j o e d e ƒ n d  S(   N(   s   test_supportt   Gc           B   s    t  Z d  Z d „  Z d „  Z RS(   s   Sequence using __getitem__c         C   s   | |  _  d  S(   N(   t   seqnt   self(   R   R   (    (    t0   /mit/python/lib/python2.4/test/test_enumerate.pyt   __init__   s    c         C   s   |  i | S(   N(   R   R   t   i(   R   R   (    (    R   t   __getitem__	   s    (   t   __name__t
   __module__t   __doc__R   R   (    (    (    R   R       s    	t   Ic           B   s)   t  Z d  Z d „  Z d „  Z d „  Z RS(   s    Sequence using iterator protocolc         C   s   | |  _  d |  _ d  S(   Ni    (   R   R   R   (   R   R   (    (    R   R      s    	c         C   s   |  S(   N(   R   (   R   (    (    R   t   __iter__   s    c         C   sF   |  i t |  i ƒ j o
 t ‚ n |  i |  i } |  i d 7_ | S(   Ni   (   R   R   t   lenR   t   StopIterationt   v(   R   R   (    (    R   t   next   s
     
(   R   R   R	   R   R   R   (    (    (    R   R
      s    		t   Igc           B   s    t  Z d  Z d „  Z d „  Z RS(   s9   Sequence using iterator protocol defined with a generatorc         C   s   | |  _  d |  _ d  S(   Ni    (   R   R   R   (   R   R   (    (    R   R      s    	c         c   s   x |  i D]
 } | Vq
 Wd  S(   N(   R   R   t   val(   R   R   (    (    R   R      s    
 (   R   R   R	   R   R   (    (    (    R   R      s    	t   Xc           B   s    t  Z d  Z d „  Z d „  Z RS(   s    Missing __getitem__ and __iter__c         C   s   | |  _  d |  _ d  S(   Ni    (   R   R   R   (   R   R   (    (    R   R   $   s    	c         C   sF   |  i t |  i ƒ j o
 t ‚ n |  i |  i } |  i d 7_ | S(   Ni   (   R   R   R   R   R   R   (   R   R   (    (    R   R   '   s
     
(   R   R   R	   R   R   (    (    (    R   R   "   s    	t   Ec           B   s)   t  Z d  Z d „  Z d „  Z d „  Z RS(   s   Test propagation of exceptionsc         C   s   | |  _  d |  _ d  S(   Ni    (   R   R   R   (   R   R   (    (    R   R   /   s    	c         C   s   |  S(   N(   R   (   R   (    (    R   R   2   s    c         C   s   d d d  S(   Ni   i    (    (   R   (    (    R   R   4   s    (   R   R   R	   R   R   R   (    (    (    R   R   -   s    		t   Nc           B   s    t  Z d  Z d „  Z d „  Z RS(   s   Iterator missing next()c         C   s   | |  _  d |  _ d  S(   Ni    (   R   R   R   (   R   R   (    (    R   R   9   s    	c         C   s   |  S(   N(   R   (   R   (    (    R   R   <   s    (   R   R   R	   R   R   (    (    (    R   R   7   s    	t   EnumerateTestCasec           B   su   t  Z e Z d d d d g Z Z d „  Z d	 „  Z d
 „  Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z RS(   Nt   abci    t   ai   t   bi   t   cc         C   s€   |  i t |  i |  i ƒ ƒ |  i ƒ |  i |  i ƒ } |  i t | ƒ | ƒ |  i t |  i |  i ƒ ƒ |  i ƒ |  i i	 d  S(   N(
   R   t   assertEqualt   typet   enumt   seqt   et   itert   listt   resR	   (   R   R   (    (    R   t   test_basicfunctionD   s
    %%c         C   sW   |  i t |  i t |  i ƒ ƒ ƒ |  i ƒ |  i t d ƒ ƒ } |  i t	 | i
 ƒ d  S(   Nt    (   R   R   R    R   R    R   R!   R   t   assertRaisesR   R   (   R   R   (    (    R   t   test_getitemseqnK   s    +c         C   sW   |  i t |  i t |  i ƒ ƒ ƒ |  i ƒ |  i t d ƒ ƒ } |  i t	 | i
 ƒ d  S(   NR#   (   R   R   R    R   R
   R   R!   R   R$   R   R   (   R   R   (    (    R   t   test_iteratorseqnP   s    +c         C   sW   |  i t |  i t |  i ƒ ƒ ƒ |  i ƒ |  i t d ƒ ƒ } |  i t	 | i
 ƒ d  S(   NR#   (   R   R   R    R   R   R   R!   R   R$   R   R   (   R   R   (    (    R   t   test_iteratorgeneratorU   s    +c         C   s#   |  i t |  i t |  i ƒ ƒ d  S(   N(   R   R$   t	   TypeErrorR   R   R   (   R   (    (    R   t   test_noniterableZ   s    c         C   s)   |  i t t |  i t |  i ƒ ƒ ƒ d  S(   N(   R   R$   R(   R    R   R   R   (   R   (    (    R   t   test_illformediterable]   s    c         C   s)   |  i t t |  i t |  i ƒ ƒ ƒ d  S(   N(   R   R$   t   ZeroDivisionErrorR    R   R   R   (   R   (    (    R   t   test_exception_propagation`   s    c         C   sF   |  i t |  i ƒ |  i t |  i d ƒ |  i t |  i d d ƒ d  S(   Ni   R   i   (   R   R$   R(   R   (   R   (    (    R   t   test_argumentcheckc   s    c         C   s   |  i t t t t t t |  i ƒ ƒ ƒ ƒ ƒ t |  i ƒ ƒ |  i t t t t t |  i ƒ ƒ ƒ ƒ t	 d t |  i ƒ ƒ ƒ d  S(   Ni   (
   R   R   R   t   sett   mapt   idR    t	   enumerateR   t   min(   R   (    (    R   t   test_tuple_reuseh   s    =(   i    R   (   i   R   (   i   R   (   R   R   R1   R   R   R!   R"   R%   R&   R'   R)   R*   R,   R-   R3   (    (    (    R   R   ?   s   								t   MyEnumc           B   s   t  Z RS(   N(   R   R   (    (    (    R   R4   n   s   t   SubclassTestCasec           B   s   t  Z e Z RS(   N(   R   R   R4   R   (    (    (    R   R5   q   s   t	   TestEmptyc           B   s   t  Z d g  Z Z RS(   NR#   (   R   R   R   R!   (    (    (    R   R6   u   s   t   TestBigc           B   s/   t  Z e d d d ƒ Z e e d ƒ e ƒ Z RS(   Ni
   i N  i   (   R   R   t   rangeR   t   zipR!   (    (    (    R   R7   y   s   t   TestReversedc           B   s5   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   sš   d f  d „  ƒ  Y} xm d t d ƒ t t d ƒ ƒ | ƒ  t d d d ƒ f D]5 } |  i t | ƒ d  d  d … t t	 | ƒ ƒ ƒ qJ W|  i
 t t	 h  ƒ d  S(   Nt   Ac           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s%   | d j  o t | ƒ Sn t ‚ d  S(   Ni   (   R   t   strR   (   R   R   (    (    R   R   ‚   s    c         C   s   d S(   Ni   (    (   R   (    (    R   t   __len__†   s    (   R   R   R   R=   (    (    (    R   R;      s   	R   i   i   i   iÿÿÿÿ(   R;   R8   t   tupleR1   t   xranget   dataR   R   R    t   reversedR$   R(   (   R   R;   R@   (    (    R   t   test_simple€   s
    7 3c         C   s8   t  d ƒ } |  i t t | ƒ ƒ t t | ƒ ƒ ƒ d  S(   Ni   (   R?   t   xR   R   R   RA   R   (   R   RC   (    (    R   t   test_xrange_optimizationŒ   s    c         C   s¶   xz d t  d ƒ t d ƒ t d ƒ f D]T } |  i t t | ƒ ƒ t | ƒ ƒ t | ƒ } t | ƒ |  i t | ƒ d ƒ q% Wd f  d „  ƒ  Y} t | ƒ  ƒ } |  i
 t t | ƒ d  S(   Nt   helloi   i    t   SeqWithWeirdLenc           B   s    t  Z e Z d „  Z d „  Z RS(   Nc         C   s%   |  i p t |  _ d Sn t ‚ d  S(   Ni
   (   R   t   calledt   TrueR+   (   R   (    (    R   R=   ™   s    
	c         C   s   | S(   N(   t   index(   R   RI   (    (    R   R   ž   s    (   R   R   t   FalseRG   R=   R   (    (    (    R   RF   —   s   	(   R>   R    R?   t   sR   R   R   RA   t   rRF   R$   R+   (   R   RK   RL   RF   (    (    R   t   test_len   s    % "
	c         C   s5   d f  d „  ƒ  Y} | ƒ  } t | ƒ } | | _ d  S(   Nt   Seqc           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s   d S(   Ni
   (    (   R   (    (    R   R=   ¦   s    c         C   s   | S(   N(   RI   (   R   RI   (    (    R   R   ¨   s    (   R   R   R=   R   (    (    (    R   RN   ¥   s   	(   RN   RK   RA   RL   (   R   RL   RK   RN   (    (    R   t   test_gc¤   s    	c         C   s*   |  i t t ƒ |  i t t g  d ƒ d  S(   Nt   extra(   R   R$   R(   RA   (   R   (    (    R   t	   test_args®   s    (   R   R   RB   RD   RM   RO   RQ   (    (    (    R   R:   ~   s
   				
c         C   s–   t  t t t t f } t i | Œ  d  k } |  o` t
 | d ƒ oP d  g d } x7 t t | ƒ ƒ D]# } t i | Œ  | i ƒ  | | <qb W| GHn d  S(   Nt   gettotalrefcounti   (   R   R5   R6   R7   R:   t   testclassest   test_supportt   run_unittestt   syst   verboset   hasattrt   Nonet   countsR?   R   R   RR   (   RW   R   RV   RS   RZ   (    (    R   t	   test_main²   s    	 t   __main__RW   (   t   unittestt   testRT   R    R
   R   R   R   R   t   TestCaseR   R1   R4   R5   R6   R7   R:   RY   R[   R   RH   (   RT   R7   R   R   R    R
   R]   R6   R   R[   R   R:   R4   R5   R   (    (    R   t   ?   s    		
/4