Ñò
à"Ic        
   @   sP  d  d k  Z  d  d k l Z d  d k Td  d k l Z d  d k Z d  d k Z d  d k Z e i	 Z
 e
 d Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d f  d „  ƒ  YZ d „  Z d „  Z d „  Z d e  i f d „  ƒ  YZ d e  i f d „  ƒ  YZ d e  i f d „  ƒ  YZ d „  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# f  d$ „  ƒ  YZ  d% „  Z! d& e  i f d' „  ƒ  YZ" d( e  i f d) „  ƒ  YZ# d* e  i f d+ „  ƒ  YZ$ d, e  i f d- „  ƒ  YZ% d. Z& h e& d/ 6Z' e( d0 „ Z) e* d1 j o e) d2 e+ ƒ n d S(3   iÿÿÿÿN(   t   test_support(   t   *(   t   proxyi   c         C   s   d |  S(   s   Test function of one argumenti   (    (   t   x(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   onearg   s    c          G   s
   t  ‚ d S(   s"   Test function that raises an errorN(   t
   ValueError(   t   args(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   errfunc   s    c          c   s   x d D] }  |  Vq Wd S(   s   Non-restartable source sequencei    i   i   N(   i    i   i   (    (   t   i(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   gen3   s     c         C   s   |  d d j S(   s   Test predicatei   i    (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   isEven   s    c         C   s   |  d d j S(   s   Test predicatei   i   (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   isOdd   s    t   StopNowc           B   s    e  Z d  Z d „  Z d „  Z RS(   s"   Class emulating an empty iterable.c         C   s   |  S(   N(    (   t   self(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   __iter__"   s    c         C   s
   t  ‚ d  S(   N(   t   StopIteration(   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   next$   s    (   t   __name__t
   __module__t   __doc__R   R   (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR       s   	c         C   s   t  t | |  ƒ ƒ S(   sH   Convenience function for partially consuming a long of infinite iterable(   t   listt   islice(   t   nt   seq(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   take'   s    c         C   s   t  t i |  d ƒ S(   Ni   (   t   reducet   operatort   mul(   t   iterable(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   prod+   s    c         C   s   t  t d |  d ƒ ƒ S(   t	   Factoriali   (   R   t   range(   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   fact.   s    t   TestBasicOpsc           B   s¼   e  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(   c         C   sË   d „  } x» t  | f D]­ } |  i t | d d ƒ ƒ t d ƒ ƒ |  i t | d ƒ ƒ t d ƒ ƒ |  i t | d ƒ ƒ g  ƒ |  i t d | d d ƒ ƒ t d ƒ ƒ |  i t t | d d	 ƒ ƒ q Wd  S(
   Nc          w   s+   x$ |  D] } x | D] } | Vq Wq Wd S(   s   Pure python version in the docsN(    (   t	   iterablest   itt   element(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   chain25   s
      t   abct   deft   abcdeft    i   t   abcdi   i   (   t   chaint   assertEqualR   R   t   assertRaisest	   TypeError(   R   R%   t   c(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt
   test_chain3   s    	 %"(c         C   sÉ   |  i  t t i d d g ƒ ƒ t d ƒ ƒ |  i  t t i d g ƒ ƒ t d ƒ ƒ |  i  t t i d g ƒ ƒ g  ƒ |  i  t d t i d d g ƒ ƒ t d ƒ ƒ |  i t t t i d d g ƒ ƒ d  S(	   NR&   R'   R(   R)   i   R*   i   i   (   R,   R   R+   t   from_iterableR   R-   R.   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_chain_from_iterableB   s
    +(".c            sø  |  i  t t d ƒ |  i  t t d d d ƒ |  i  t t d  ƒ |  i  t t d d ƒ |  i  t t d d ƒ |  i t t t d ƒ d ƒ ƒ d d d d g ƒ d	 „  } d
 „  } xát d ƒ D]Ó} g  } t | ƒ D] } | d | d qÒ ~ ‰  x›t | d ƒ D]‰} t t ˆ  | ƒ ƒ } |  i t | ƒ t	 | ƒ t	 | ƒ t	 | | ƒ ƒ |  i t | ƒ t t
 | ƒ ƒ ƒ |  i | t | ƒ ƒ xÁ | D]¹ } |  i t | ƒ | ƒ |  i t t
 | ƒ ƒ | ƒ |  i t | ƒ t | ƒ ƒ |  i t ‡  f d †  | Dƒ ƒ ƒ |  i t | ƒ g  }	 ˆ  D] }
 |
 | j o |	 |
 q q ~	 ƒ qW|  i | t | ˆ  | ƒ ƒ ƒ |  i | t | ˆ  | ƒ ƒ ƒ qWq» W|  i t t
 t t t d d ƒ ƒ ƒ ƒ d ƒ |  i t t
 t t t t d d ƒ ƒ ƒ ƒ ƒ d ƒ d  S(   NR&   i   i   iþÿÿÿi    i   i   i    c      	   3   sç   t  |  ƒ ‰  t ˆ  ƒ } t | ƒ } t  ‡  f d †  | Dƒ ƒ Vx¡ x< t t | ƒ ƒ D]$ } | | | | | j o PqU qU Wd S| | c d 7<x1 t | d | ƒ D] } | | d d | | <q¥ Wt  ‡  f d †  | Dƒ ƒ VqB d S(   s%   Pure python version shown in the docsc         3   s   x |  ] } ˆ  | Vq Wd  S(   N(    (   t   .0R   (   t   pool(    s0   /mit/python/lib/python2.6/test/test_itertools.pys	   <genexpr>W   s   	 Ni   c         3   s   x |  ] } ˆ  | Vq Wd  S(   N(    (   R3   R   (   R4   (    s0   /mit/python/lib/python2.6/test/test_itertools.pys	   <genexpr>a   s   	 (   t   tuplet   lenR   t   reversed(   R   t   rR   t   indicesR   t   j(    (   R4   s0   /mit/python/lib/python2.6/test/test_itertools.pyt   combinations1R   s     	 c         3   st   t  |  ƒ ‰  t ˆ  ƒ } xU t t | ƒ | ƒ D]> } t | ƒ t | ƒ j o t  ‡  f d †  | Dƒ ƒ Vq. q. Wd S(   s%   Pure python version shown in the docsc         3   s   x |  ] } ˆ  | Vq Wd  S(   N(    (   R3   R   (   R4   (    s0   /mit/python/lib/python2.6/test/test_itertools.pys	   <genexpr>i   s   	 N(   R5   R6   t   permutationsR   t   sortedR   (   R   R8   R   R9   (    (   R4   s0   /mit/python/lib/python2.6/test/test_itertools.pyt   combinations2c   s     i   i   i   c         3   s   x |  ] } | ˆ  j Vq Wd  S(   N(    (   R3   t   e(   t   values(    s0   /mit/python/lib/python2.6/test/test_itertools.pys	   <genexpr>v   s   	 t   abcde(   i    i   i   (   i    i   i   (   i    i   i   (   i   i   i   (   R-   R.   t   combinationst   NoneR   R,   R   R   R6   R    t   setR=   t   assert_t   allt   mapt   idt   assertNotEqual(   R   R;   R>   R   t   _[1]R   R8   t   resultR/   t   _[2]R?   (    (   R@   s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_combinationsI   s<    		 / 4" #7'.c   	         sû  |  i  t t ƒ |  i  t t d d d ƒ |  i  t t d  ƒ |  i  t t d d ƒ |  i  t t d d ƒ |  i  t t d d ƒ |  i t t t d ƒ d ƒ ƒ d d d d d d g ƒ d  d	 „ } d  d
 „ } xÅt d ƒ D]·} g  } t | ƒ D] } | d | d qñ ~ ‰  xt | d ƒ D]m} t t ˆ  | ƒ ƒ } |  i t | ƒ t	 | ƒ t	 | | ƒ ƒ |  i t | ƒ t t
 | ƒ ƒ ƒ |  i | t | ƒ ƒ xc | D][ } |  i t | ƒ | ƒ |  i t t
 | ƒ ƒ | ƒ |  i t ‡  f d †  | Dƒ ƒ ƒ q¤W|  i | t | ˆ  | ƒ ƒ ƒ |  i | t | ˆ  | ƒ ƒ ƒ | | j o? |  i | t t ˆ  d  ƒ ƒ ƒ |  i | t t ˆ  ƒ ƒ ƒ q q WqÚ W|  i t t
 t t t d d ƒ ƒ ƒ ƒ d ƒ |  i t t
 t t t t d d ƒ ƒ ƒ ƒ ƒ d ƒ d  S(   NR&   i   i   iþÿÿÿi    t   si   i    c      	   3   sD  t  |  ƒ ‰  t ˆ  ƒ } | d j o | n | } t | ƒ } t | | | d ƒ } t  ‡  f d †  | |  Dƒ ƒ VxÊ | oÂ x» t t | ƒ ƒ D]£ } | | c d 8<| | d j o3 | | d | | | d !| | )| | | | <q | | } | | | | | | <| | <t  ‡  f d †  | |  Dƒ ƒ VPq Wd Sqv Wd S(   s%   Pure python version shown in the docsiÿÿÿÿc         3   s   x |  ] } ˆ  | Vq Wd  S(   N(    (   R3   R   (   R4   (    s0   /mit/python/lib/python2.6/test/test_itertools.pys	   <genexpr>‘   s   	 i   i    c         3   s   x |  ] } ˆ  | Vq Wd  S(   N(    (   R3   R   (   R4   (    s0   /mit/python/lib/python2.6/test/test_itertools.pys	   <genexpr>›   s   	 N(   R5   R6   RC   R   R7   (   R   R8   R   R9   t   cyclesR   R:   (    (   R4   s0   /mit/python/lib/python2.6/test/test_itertools.pyt   permutations1Š   s&      !
c         3   s‘   t  |  ƒ ‰  t ˆ  ƒ } | d j o | n | } xX t t | ƒ d | ƒD]> } t t | ƒ ƒ | j o t  ‡  f d †  | Dƒ ƒ VqK qK Wd S(   s%   Pure python version shown in the docst   repeatc         3   s   x |  ] } ˆ  | Vq Wd  S(   N(    (   R3   R   (   R4   (    s0   /mit/python/lib/python2.6/test/test_itertools.pys	   <genexpr>§   s   	 N(   R5   R6   RC   t   productR   RD   (   R   R8   R   R9   (    (   R4   s0   /mit/python/lib/python2.6/test/test_itertools.pyt   permutations2    s     i   i   i   c         3   s   x |  ] } | ˆ  j Vq Wd  S(   N(    (   R3   R?   (   R@   (    s0   /mit/python/lib/python2.6/test/test_itertools.pys	   <genexpr>³   s   	 RA   (   i    i   (   i    i   (   i   i    (   i   i   (   i   i    (   i   i   (   R-   R.   R<   RC   R   R,   R   R   R6   R    RD   R=   RE   RF   RG   RH   RI   (	   R   RP   RS   R   RJ   R   R8   RK   t   p(    (   R@   s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_permutations€   s>    	 / *" '(.c      	   C   s  |  i  t d t ƒ  ƒ d d d g ƒ |  i  t d t d ƒ ƒ d d d g ƒ |  i  t d t d t d ƒ ƒ ƒ d d g ƒ |  i  t d t d t d ƒ ƒ ƒ d  d! g ƒ |  i  t d t d t d ƒ ƒ ƒ d" d# g ƒ |  i t t d d ƒ |  i t t d ƒ |  i  t t t t d
 ƒ d ƒ ƒ t	 t d
 t d
 ƒ ƒ |  i  t t t t d
 ƒ d ƒ ƒ t	 t d
 t d
 ƒ ƒ t d ƒ } |  i  t
 | ƒ d ƒ | i ƒ  |  i  t
 | ƒ d ƒ t d ƒ } |  i  t
 | ƒ d ƒ | i ƒ  |  i  | i ƒ  d ƒ x t i d
 t i d
 d d d d t i d
 t i d
 f D]O } t
 t | ƒ ƒ i d d ƒ } d i | ƒ i d d ƒ } |  i  | | ƒ q8Wd  S($   NR&   t   ai    t   bi   R/   i   i   i   i   iÿÿÿÿiýÿÿÿiþÿÿÿi
   s   count(3)s   count(4)i÷ÿÿÿs	   count(-9)iøÿÿÿiöÿÿÿt   LR)   s	   count(%r)(   RV   i    (   RW   i   (   R/   i   (   RV   i   (   RW   i   (   R/   i   (   RV   i   (   RW   i   (   RV   iÿÿÿÿ(   RW   i    (   RV   iýÿÿÿ(   RW   iþÿÿÿ(   R,   t   zipt   countR   R-   R.   R   R   t   maxsizeR   t   reprR   t   syst   maxintt   replacet   __mod__(   R   R/   R   t   r1t   r2(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt
   test_count¾   s,    %(...:=

= c         C   s®   |  i  t d t d ƒ ƒ t d ƒ ƒ |  i  t t d ƒ ƒ g  ƒ |  i t t ƒ |  i t t d ƒ |  i  t t t t ƒ  ƒ d ƒ ƒ d d d d d d d d d d g
 ƒ d  S(	   Ni
   R&   t
   abcabcabcaR)   i   i    i   i   (   R,   R   t   cycleR   R-   R.   R   R	   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt
   test_cycleÖ   s
    %c            s÷  |  i  g  t t g  ƒ ƒ ƒ |  i  g  t t g  d t ƒƒ ƒ |  i t t t d g  ƒ ƒ |  i t t d  ƒ |  i t t d d „  d ƒ d( d) d* d+ d, d- d. d/ g } g  } xR t | d „  ƒ D]> \ } } x/ | D]' } |  i  | | d ƒ | i | ƒ qÓ WqÀ W|  i  | | ƒ g  } x‰ t | d „  ƒ D]u \ } } xf t | d „  ƒ D]R \ } } xC | D]; } |  i  | | d ƒ |  i  | | d ƒ | i | ƒ q]WqJWq+W|  i  | | ƒ g  } t | d „  ƒ D] \ } } | | qË~ }	 t g  }
 | D] } |
 | d qõ~
 ƒ } |  i  t |	 ƒ | ƒ |  i  t	 |	 ƒ t	 | ƒ ƒ d } g  } t t
 | ƒ ƒ D] \ } } | | qa~ } |  i  | d d d d d g ƒ g  } t t
 | ƒ ƒ D]0 \ } } t t | d
 d ƒ ƒ o | | q³q³~ } |  i  | d d d g ƒ g  } t t
 | ƒ ƒ D]% \ } } | t	 t | ƒ ƒ | f q~ } |  i  | d0 d1 d2 d3 d4 g ƒ t
 g  } t t
 | ƒ ƒ D]% \ } } | t	 t | ƒ ƒ | f qƒ~ d t ƒd  } |  i  | d5 d6 d7 g ƒ d  t f d! „  ƒ  Y‰ d ‡ f d" † } d  t d# „ } |  i ˆ | | d ƒ ƒ |  i ˆ | | d
 ƒ ƒ d$ d8 ‡ f d% †  ƒ  Y} | ƒ  | ƒ  d  g } |  i ˆ | | d& t ƒ|  i ˆ | | ƒ ‡  ‡ f d' †  ‰  d ˆ  _ |  i ˆ | d  g ˆ  ƒ d
 ˆ  _ |  i ˆ | d  d  g ˆ  ƒ d  S(9   Nt   keyR&   c         S   s   |  S(    (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   <lambda>ã   s    i
   i    i   i   i   i   i   i   i   i   i   i   i   i   i   i   c         S   s   |  d  S(   i    (    (   R8   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   é   s    c         S   s   |  d  S(   i    (    (   R8   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   ñ   s    c         S   s   |  d  S(   i   (    (   R8   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   ò   s    c         S   s   |  d  S(   i    (    (   R8   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   ú   s    t   abracadabraRV   RW   R/   t   dR8   i   t   reverset   ExpectedErrorc           B   s   e  Z RS(    (   R   R   (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRl     s   c         3   s&   x t  |  ƒ D] } d Vq Wˆ  ‚ d  S(   Nt   yo(   R   (   R   R   (   Rl   (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   delayed_raise  s     	c         S   s4   g  } t  |  | ƒ D] \ } } | | | ƒ q ~ S(   N(   t   groupby(   R   t   keypt   funcRJ   t   kt   g(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   gulp  s    t   DummyCmpc              s   e  Z ‡  f d  †  Z RS(   c            s
   ˆ  ‚ d  S(   N(    (   R   t   dst(   Rl   (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   __cmp__  s    (   R   R   Rw   (    (   Rl   (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRu     s   Rq   c            s.   ˆ  i  d j o ˆ  i  d 8_  |  Sˆ ‚ d  S(   Ni    i   (   t   skip(   t   obj(   t   keyfuncRl   (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRz   )  s    (   i    i
   i   (   i    i   i   (   i    i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   RV   (   i   RW   (   i   R/   (   i   Rj   (   i   R8   (   i   RV   (   i   R8   (   i   RW   (    (   R,   R   Ro   RH   R-   R.   RC   t   appendRD   R6   R=   R   t   Truet	   ExceptionRx   (   R   RN   t   dupRr   Rs   t   elemt   ikt   igRJ   t   keysRL   R8   t   expectedkeyst   _[3]t   _[4]t   _[5]t   _[6]Rn   Rt   Ru   (    (   Rz   Rl   s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_groupbyÝ   sj    "     3+3PEU		c      	   C   sQ  |  i  t t t t d ƒ ƒ ƒ d d d g ƒ |  i  t t d  d d d d d g ƒ ƒ d d g ƒ |  i  t t t d d d d d g ƒ ƒ d d g ƒ |  i  t d t t t ƒ  ƒ ƒ d d d d g ƒ |  i	 t
 t ƒ |  i	 t
 t d „  ƒ |  i	 t
 t d „  t d ƒ d ƒ |  i	 t
 t t d	 ƒ |  i	 t
 t t d ƒ t d ƒ ƒ i ƒ d  S(
   Ni   i    i   i   i   c         S   s   |  S(    (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   <  s    c         S   s   |  S(    (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   =  s    i   i   (   R,   R   t   ifilterR
   R   RC   t   boolR   RZ   R-   R.   R   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_ifilter6  s    .441"c      	   C   sW  |  i  t t t t d ƒ ƒ ƒ d d d g ƒ |  i  t t d  d d d d d g ƒ ƒ d d d g ƒ |  i  t t t d d d d d g ƒ ƒ d d d g ƒ |  i  t d t t t ƒ  ƒ ƒ d d d d g ƒ |  i	 t
 t ƒ |  i	 t
 t d	 „  ƒ |  i	 t
 t d
 „  t d ƒ d ƒ |  i	 t
 t t d ƒ |  i	 t
 t t d ƒ t d ƒ ƒ i ƒ d  S(   Ni   i   i   i   i    i   i   i   c         S   s   |  S(    (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   G  s    c         S   s   |  S(    (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   H  s    (   R,   R   t   ifilterfalseR
   R   RC   RŠ   R   RZ   R-   R.   R   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_ifilterfalseA  s    .771"c   	      C   s\  g  } t  d t ƒ  ƒ D] \ } } | | | f q ~ } |  i | d d d g ƒ |  i t t  d t d ƒ ƒ ƒ t d t d ƒ ƒ ƒ |  i t t  d	 t d
 ƒ ƒ ƒ t d	 t d
 ƒ ƒ ƒ |  i t d
 t  d	 t ƒ  ƒ ƒ t d	 t d
 ƒ ƒ ƒ |  i t t  d	 ƒ ƒ t d	 ƒ ƒ |  i t t  ƒ  ƒ t ƒ  ƒ |  i t t  d
 ƒ |  i t t  t d
 ƒ d
 ƒ |  i g  } t  d d ƒ D] } | t	 t | ƒ ƒ qu~ t d d ƒ ƒ |  i g  } t  d d ƒ D] } | | q¾~ t d d ƒ ƒ t
 t t  d d ƒ ƒ } |  i t | ƒ t | ƒ ƒ t
 t t t  d d ƒ ƒ ƒ } |  i t t i | ƒ ƒ t | ƒ ƒ d  S(   NR&   RV   i    RW   i   R/   i   i   R(   i   R'   (   RV   i    (   RW   i   (   R/   i   (   t   izipRZ   R,   R   R   RY   R   R-   R.   R5   RG   RH   t   mint   maxR6   t   dictt   fromkeys(	   R   RJ   R   t   yt   ansRL   t   pairR„   t   ids(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt	   test_izipL  s"    9444"9-c   
      C   s¯  xbd t  d ƒ g t  d ƒ d g t  d ƒ t  d d ƒ t  d d ƒ g t  d ƒ t  d ƒ t  d d ƒ t  d	 ƒ t  d
 ƒ g t  d ƒ t  d ƒ t  d d ƒ t  d	 ƒ t  d
 ƒ t  d ƒ g g D]© } t d  | Œ } |  i t t | Œ  ƒ | ƒ |  i t t | h  Ž  ƒ | ƒ g  } | D] } | t d „  | Dƒ ƒ q~ } |  i t t | t d d ƒ Ž  ƒ | ƒ q¸ W|  i t d t d t	 ƒ  ƒ ƒ t
 d t  d ƒ ƒ ƒ |  i t t ƒ  ƒ t
 ƒ  ƒ |  i t t g  ƒ ƒ t
 g  ƒ ƒ |  i t t d ƒ ƒ t
 d ƒ ƒ |  i t t d d h   ƒ t d  d d ƒ ƒ |  i t t d ƒ |  i t t t  d ƒ d ƒ xU d d g D]G } y t | t ƒ  t ƒ  ƒ Wn t j
 o qcX|  i d | ƒ qcW|  i g  } t d d ƒ D] } | t t | ƒ ƒ qÈ~ t
 d d ƒ ƒ |  i g  } t d d ƒ D] } | | q~ t
 d d ƒ ƒ t t t d d ƒ ƒ }	 |  i t |	 ƒ t |	 ƒ ƒ t t t t d d ƒ ƒ ƒ }	 |  i t t i |	 ƒ ƒ t |	 ƒ ƒ d  S(   NR&   i   iè  iÐ  i4  i¸  iê  i    i°  iÜ  c         s   s-   x& |  ] } | d j o d  p | Vq Wd S(   t   XN(   RC   (   R3   R?   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pys	   <genexpr>k  s   	 t	   fillvalueR˜   i   R(   t   defgs   izip_longest('abc', fv=1)s4   izip_longest('abc', fillvalue=1, bogus_keyword=None)s   Did not raise Type in:  R'   (   R   RG   RC   R,   R   t   izip_longestR5   R‘   R   RZ   RY   R-   R.   t   evalt   globalst   localst   failRH   R   R   R6   R’   (
   R   R   t   targetRJ   t   tt   stmtRL   R•   R„   R–   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_iziplongest`  sH    $3@ 1,4"". 9-c         C   s^  x6g  d g f d g d d g f t  d ƒ t  d ƒ g d d d d d d g f t  d ƒ t  d ƒ t  d ƒ g g  f t  d ƒ t  d ƒ t  d ƒ g g  f t  d ƒ t  d ƒ t  d ƒ g g  f g D]w \ } } |  i t t | Œ  ƒ | ƒ xL t  d ƒ D]> } |  i t t | | Œ  ƒ t t | t d	 | ƒ Ž  ƒ ƒ qó Wq¾ W|  i t t t t  d
 ƒ g d Œ  ƒ ƒ d  ƒ |  i t t t  d ƒ d  ƒ d „  } d „  } d d d t	 d ƒ t	 d ƒ t d d d d d d ƒ t
 d ƒ t  d ƒ t t  d ƒ ƒ g	 } xt  d ƒ D]÷ } g  } t  t i d ƒ ƒ D] }	 | t i | ƒ q~ } t t t | ƒ ƒ }
 |  i t t t | Œ  ƒ ƒ |
 ƒ |  i t t | Œ  ƒ t | | Œ  ƒ ƒ |  i t t | Œ  ƒ t | | Œ  ƒ ƒ t t | ƒ } |  i t t t | Œ  ƒ ƒ |
 ƒ qýW|  i t t
 t t t d d ƒ ƒ ƒ ƒ d ƒ |  i t t
 t t t t d d ƒ ƒ ƒ ƒ ƒ d ƒ d  S(!   Nt   abRV   RW   i   i   i    i   i   RQ   i   i   c             s1  t  t |  ƒ | i d d ƒ } t | ƒ } | d j o
 d Vd  St d „  | Dƒ ƒ o d  Sd g | } t d „  t | | ƒ Dƒ ƒ Vx¡ x› t t | ƒ ƒ D]ƒ } | | t | | ƒ d j o qŸ n | | c d 7<x% t | d | ƒ D] } d | | <qï Wt d „  t | | ƒ Dƒ ƒ VPqŸ Wd  SqŒ d  S(   NRQ   i   i    c         s   s%   x |  ] } t  | ƒ d  j Vq Wd S(   i    N(   R6   (   R3   R4   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pys	   <genexpr>£  s   	 c         s   s#   x |  ] \ } } | | Vq Wd  S(   N(    (   R3   R4   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pys	   <genexpr>¦  s   	 c         s   s#   x |  ] \ } } | | Vq Wd  S(   N(    (   R3   R4   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pys	   <genexpr>®  s   	 (    (   RG   R5   t   getR6   t   anyRY   R7   R   (   R   t   kwdst   poolsR   R9   R   R:   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   product1  s*      c    	         sŽ   t  t |  ƒ | i d d ƒ } g  g } xC | D]; } g  } | D]! } | D] } | | | g qJ q@ ~ } q/ Wx | D] } t | ƒ Vqu Wd S(   s    Pure python version used in docsRQ   i   N(   RG   R5   R¥   (	   R   R§   R¨   RK   R4   RJ   R   R“   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   product2³  s    	 9 R)   R&   R/   t   abcdefgi   i   id   i   R'   (    (   RV   (   RW   (   i    i    (   i    i   (   i    i   (   i   i    (   i   i   (   i   i   i‘Ë (   R   R,   R   RR   R‘   R6   R-   R.   RC   t   xrangeRD   R5   t   randomt	   randranget   choiceR   RG   t   iterRH   RI   (   R   R   RK   R8   R©   Rª   t   argtypesR   RJ   R:   t   expected_len(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_product  s<    -$$(  '/			3' 9"((&.c         C   sf  |  i  t t d ƒ t d ƒ ƒ d d d g ƒ |  i  t t d d ƒ ƒ d d d g ƒ |  i  t d t d ƒ ƒ d d d g ƒ |  i  t t d d ƒ ƒ g  ƒ |  i  t t d d ƒ ƒ g  ƒ |  i t t ƒ |  i t t d  d d ƒ |  i t t d  d ƒ t d ƒ } |  i  t	 | ƒ d	 ƒ t d d
 ƒ } |  i  t	 | ƒ d ƒ t | ƒ |  i  t	 | ƒ d ƒ d  S(   Ni   RV   i    i   i   iýÿÿÿi   y                s   repeat((1+0j))i   s   repeat((1+0j), 5)s   repeat((1+0j), 0)(   i    RV   (   i   RV   (   i   RV   y      ð?        y      ð?        (
   R,   RY   R¬   RQ   R   R   R-   R.   RC   R\   (   R   R8   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_repeatË  s    ((
c         C   s‚  |  i  t t t i t d ƒ t d d ƒ ƒ ƒ d d d g ƒ |  i  t t d  d t d ƒ ƒ ƒ d d d g ƒ |  i  t t d  d t ƒ  ƒ ƒ d d d g ƒ |  i  t d t d  d t ƒ  ƒ ƒ d d g ƒ |  i  t t t i g  ƒ ƒ g  ƒ |  i	 t
 t ƒ |  i	 t
 t t i ƒ |  i	 t
 t d t d ƒ ƒ i ƒ |  i	 t t t d g d g ƒ i ƒ |  i	 t
 t t d g d g ƒ i ƒ d  S(   Ni   i   i   i    i   R&   i   RV   RW   R/   i
   i   i    i   i   (   RV   i    (   RW   i   (   R/   i   (   RV   i    (   RW   i   (   R/   i   (   RV   i    (   RW   i   (   R,   R   t   imapR   t   powR   RC   RZ   R   R-   R.   t   negR   R   R   R   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt	   test_imapÜ  s    -!!""%c      	   C   s‹  |  i  t t t i t t d ƒ t d d ƒ ƒ ƒ ƒ d
 d d g ƒ |  i  t d t t i t t	 ƒ  t	 d ƒ ƒ ƒ ƒ d d d g ƒ |  i  t t t i g  ƒ ƒ g  ƒ |  i  t t t i t
 d d g ƒ g ƒ ƒ d g ƒ |  i t t t t i d  g ƒ ƒ |  i t t ƒ |  i t t t i d g d ƒ |  i t t d	 d g ƒ i ƒ |  i t t t d g ƒ i ƒ |  i t t t d g ƒ i ƒ d  S(   Ni   i   i   i    i   i   i   t   extrai
   i    i   i   i    i   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R,   R   t   starmapR   R¶   RY   R   R   RŽ   RZ   R°   R-   R.   RC   R   R   R   R   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_starmapì  s    30"4"c         C   s†  xH d d d d d g D]1 } |  i  t t t d ƒ | Œ ƒ t | Œ  ƒ q WxZ d d f d d f d d f g D]7 \ } } |  i  t t t d ƒ | Œ ƒ t | Œ  ƒ qm W|  i  t t t d ƒ d  ƒ ƒ t d ƒ ƒ |  i  t t t d ƒ d  d  ƒ ƒ t d ƒ ƒ |  i  t t t d ƒ d  d  d  ƒ ƒ t d ƒ ƒ |  i  t t t d ƒ d d  ƒ ƒ t d d ƒ ƒ |  i  t t t d ƒ d d  d ƒ ƒ t d d d ƒ ƒ t t d ƒ ƒ } |  i  t t | d ƒ ƒ t d ƒ ƒ |  i  t | ƒ t d d ƒ ƒ |  i t t t d ƒ ƒ |  i t t t d ƒ d d d d ƒ |  i t	 t t d ƒ d	 d d ƒ |  i t	 t t d ƒ d d	 d
 ƒ |  i t	 t t d ƒ d d d
 ƒ |  i t	 t t d ƒ d d d ƒ |  i t	 t t d ƒ d ƒ |  i t	 t t d ƒ d d ƒ |  i t	 t t d ƒ d d ƒ |  i t	 t t d ƒ d d d ƒ |  i t	 t t d ƒ d d d ƒ |  i  t
 t t t ƒ  d d t ƒ ƒ ƒ d ƒ d  S(   Ni
   i   i   id   in   i   i   i   iûÿÿÿiÿÿÿÿi    RV   (   i
   i   i   (   i
   i   i   (   i
   i   (   i
   i   (   i   (   i
   in   i   (   i
   id   i   (   i
   in   (   i
   id   (   in   (   id   (   R,   R   R   R¬   R   RC   R°   R-   R.   R   R6   RZ   R[   (   R   R   t   tgtargsR#   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_isliceú  sD     /		 /+.117%%""""""c         C   sH  d d d d d d d d g } d	 „  } |  i  t t | | ƒ ƒ d d d g ƒ |  i  t t | g  ƒ ƒ g  ƒ |  i t t ƒ |  i t t t i ƒ |  i t t t i d g d
 ƒ |  i t t d d g ƒ i ƒ |  i t t t	 d g ƒ i ƒ t t
 d d d d d d g ƒ } |  i  t | ƒ d d d g ƒ |  i t | i ƒ d  S(   Ni   i   i   i   i   i   i   i   c         S   s
   |  d  j  S(   i
   (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   '  s    R¹   i
   i    (   i   i   (   i   i   (   i   i   (   R,   R   t	   takewhileR-   R.   R   R¶   R   R   R   RŠ   R   (   R   t   datat   undertenR¡   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_takewhile%  s    	(!c         C   sû   d d d d d d d d g } d	 „  } |  i  t t | | ƒ ƒ d d d d d g ƒ |  i  t t | g  ƒ ƒ g  ƒ |  i t t ƒ |  i t t t i ƒ |  i t t t i d g d
 ƒ |  i t t d d g ƒ i ƒ |  i t t t	 d g ƒ i ƒ d  S(   Ni   i   i   i   i   i   i   i   c         S   s
   |  d  j  S(   i
   (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   5  s    R¹   i
   (   i   i   (   i   i   (   i   i   (
   R,   R   t	   dropwhileR-   R.   R   R¶   R   R   R   (   R   R¿   RÀ   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_dropwhile3  s    	.c         C   s©  d } d „  } t  g  ƒ \ } } |  i t | ƒ g  ƒ |  i t | ƒ g  ƒ t  | | ƒ ƒ \ } } |  i t | | ƒ t t | ƒ t | ƒ ƒ ƒ t  | | ƒ ƒ \ } } |  i t | ƒ t | ƒ ƒ |  i t | ƒ t | ƒ ƒ t  | | ƒ ƒ \ } } x* t d ƒ D] } |  i | i ƒ  | ƒ qW~ |  i t | ƒ t | ƒ ƒ t  | | ƒ ƒ \ } } x* t d ƒ D] } |  i | i ƒ  | ƒ qlW~ |  i t | ƒ t d | ƒ ƒ x½ t d ƒ D]¯ } d g | d g | } t i | ƒ g  g  f } t  | | ƒ ƒ }	 x/ | D]' } |	 | i ƒ  }
 | | i	 |
 ƒ qW|  i | d t | ƒ ƒ |  i | d t | ƒ ƒ q»W|  i
 t t  ƒ |  i
 t t  d ƒ |  i
 t t  d d g d	 ƒ |  i
 t t  d d g d d	 ƒ t  d
 ƒ \ } } t | ƒ d ƒ } |  i t | ƒ t d ƒ ƒ t  t d ƒ d ƒ \ } } } x* t d ƒ D] } |  i | i ƒ  | ƒ q7W|  i t | ƒ t d ƒ ƒ |  i | i ƒ  | i ƒ  g t d ƒ ƒ |  i t | ƒ t d d ƒ ƒ |  i t | ƒ t d d ƒ ƒ |  i
 t t  d
 d ƒ |  i
 t t  g  d ƒ xu t d ƒ D]g } t  d
 | ƒ } |  i t | ƒ t ƒ |  i t | ƒ | ƒ |  i t t | ƒ t d
 ƒ g | ƒ qWt  d
 ƒ \ } } t  | ƒ \ } } |  i | | j ƒ t  d
 ƒ \ } } t | ƒ } |  i
 t | ƒ |  i
 t | d ƒ | | ƒ } |  i t | ƒ t | ƒ j o" t | ƒ j o t d
 ƒ j n ƒ t  t d ƒ ƒ \ } } t | ƒ } |  i t | d ƒ t | ƒ ƒ ~ |  i
 t t | d ƒ d  S(   NiÈ   c         s   s    x t  |  ƒ D] } | Vq Wd  S(   N(   R¬   (   R   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   irange@  s     id   i   i    i   i   i   R   R&   R'   iÐ  t   invalidiÿÿÿÿi
   t	   __class__(   t   teeR,   R   RY   R   R¬   R   R­   t   shuffleR{   R-   R.   t   typeR   R5   R6   RG   RE   R   t   getattrt   ReferenceError(   R   R   RÄ   RV   RW   R   R:   t   ordert   listst   itst   valueR/   RK   Rj   t   t1t   t2t   tnewt   t3RT   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_tee>  sŽ    	.     ( *Hc         C   sš  |  i  t t ƒ  i ƒ xO t t t t f D]; } |  i  t | g  ƒ i ƒ |  i  t | t ƒ  ƒ i ƒ q) W|  i  t t g  d  ƒ i ƒ |  i  t t t ƒ  d  ƒ i ƒ t
 g  ƒ \ } } |  i  t | i ƒ |  i  t | i ƒ t
 t ƒ  ƒ \ } } |  i  t | i ƒ |  i  t | i ƒ |  i  t t d  d ƒ i ƒ xa t t t t t t f D]G } |  i  t | d „  g  ƒ i ƒ |  i  t | d „  t ƒ  ƒ i ƒ qKWd  S(   Ni    c         S   s   |  S(    (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   «  s    c         S   s   |  S(    (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   ¬  s    (   R-   R   RŽ   R   R+   Re   Ro   R   R   RC   RÇ   RQ   R‰   RŒ   Rµ   R¾   RÂ   Rº   (   R   t   fRT   t   q(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_StopIteration—  s$       (   R   R   R0   R2   RM   RU   Rc   Rf   Rˆ   R‹   R   R—   R£   R³   R´   R¸   R»   R½   RÁ   RÃ   RÔ   R×   (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR!   2   s(   			7	>			Y				-	>				+			Yt   TestExamplesc           B   sª   e  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(   c         C   s&   |  i  d i t d d ƒ ƒ d ƒ d  S(   NR)   t   ABCt   DEFt   ABCDEF(   R,   t   joinR+   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR0   °  s    c         C   s,   |  i  d i t i d d g ƒ ƒ d ƒ d  S(   NR)   RÙ   RÚ   RÛ   (   R,   RÜ   R+   R1   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR2   ³  s    c      	   C   sf   |  i  t t d d ƒ ƒ d d d d d d g ƒ |  i  t t t d ƒ d ƒ ƒ d d d d g ƒ d  S(   Nt   ABCDi   t   At   Bt   Ct   Di   i   i    i   (   RÞ   Rß   (   RÞ   Rà   (   RÞ   Rá   (   Rß   Rà   (   Rß   Rá   (   Rà   Rá   (   i    i   i   (   i    i   i   (   i    i   i   (   i   i   i   (   R,   R   RB   R   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRM   ¶  s    c         C   s8   |  i  t t t d ƒ d ƒ ƒ d d d d d g ƒ d  S(   Ni
   i   i   i   i   i   (   R,   R   R   RZ   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRc   ¼  s    c         C   s/   |  i  t t t d ƒ d ƒ ƒ t d ƒ ƒ d  S(   NRÝ   i   t   ABCDABCDABCD(   R,   R   R   Re   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRf   ¿  s    c      	   C   s>   |  i  t t d „  d d d d d g ƒ ƒ d d d g ƒ d  S(   Nc         S   s
   |  d  j  S(   i   (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   Ã  s    i   i   i   (   R,   R   RÂ   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRÃ   Â  s    c         C   s¢   |  i  g  } t d ƒ D] \ } } | | q ~ t d ƒ ƒ |  i  g  } t d ƒ D] \ } } | t | ƒ qT ~ t d ƒ t d ƒ t d ƒ t d ƒ g ƒ d  S(   Nt   AAAABBBCCDAABBBt   ABCDABt
   AAAABBBCCDt   AAAAt   BBBt   CCRá   (   R,   Ro   R   (   R   RJ   Rr   Rs   RL   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRˆ   Å  s    06c         C   s;   |  i  t t d „  t d ƒ ƒ ƒ d d d d d g ƒ d  S(   Nc         S   s   |  d  S(   i   (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   Ì  s    i
   i   i   i   i   i	   (   R,   R   R‰   R   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR‹   Ë  s    c         C   s;   |  i  t t d „  t d ƒ ƒ ƒ d d d d d g ƒ d  S(   Nc         S   s   |  d  S(   i   (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   Ï  s    i
   i    i   i   i   i   (   R,   R   RŒ   R   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR   Î  s    c         C   s/   |  i  t t t d d	 ƒ ƒ d d d g ƒ d  S(
   Ni   i   i
   i   i    i	   iè  (   i   i   i
   (   i   i   i   (   R,   R   Rµ   R¶   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR¸   Ñ  s    c         C   s¤   |  i  t t d d ƒ ƒ t d ƒ ƒ |  i  t t d d d ƒ ƒ t d ƒ ƒ |  i  t t d d d  ƒ ƒ t d ƒ ƒ |  i  t t d d d  d ƒ ƒ t d ƒ ƒ d  S(	   Nt   ABCDEFGi   t   ABi   t   CDt   CDEFGi    t   ACEG(   R,   R   R   RC   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR½   Ô  s    %((c         C   s)   |  i  t t d d ƒ ƒ d d g ƒ d  S(	   NRÝ   t   xyRÞ   R   Rß   R“   (   RÞ   R   (   Rß   R“   (   R,   R   RŽ   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR—   Ú  s    c         C   s5   |  i  t t d d d d ƒƒ d d d d g ƒ d  S(   NRÝ   Rî   R™   t   -RÞ   R   Rß   R“   Rà   Rá   (   RÞ   R   (   Rß   R“   (   Rà   Rï   (   Rá   Rï   (   R,   R   R›   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_izip_longestÝ  s    c      
   C   sf   |  i  t t d d ƒ ƒ t t d i ƒ  ƒ ƒ |  i  t t t d ƒ ƒ ƒ d d d	 d
 d d g ƒ d  S(   NRÝ   i   s#   AB AC AD BA BC BD CA CB CD DA DB DCi   i    i   (   i    i   i   (   i    i   i   (   i   i    i   (   i   i   i    (   i   i    i   (   i   i   i    (   R,   R   R<   RG   R5   t   splitR   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRU   á  s    c         C   sr   |  i  t t d d ƒ ƒ t t d i ƒ  ƒ ƒ |  i  t t t d ƒ d d ƒƒ d	 d
 d d d d d d g ƒ d  S(   NRÝ   Rî   s   Ax Ay Bx By Cx Cy Dx Dyi   RQ   i   i    i   (   i    i    i    (   i    i    i   (   i    i   i    (   i    i   i   (   i   i    i    (   i   i    i   (   i   i   i    (   i   i   i   (   R,   R   RR   RG   R5   Rñ   R   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR³   ç  s
    !c         C   s,   |  i  t t d d ƒ ƒ d d d g ƒ d  S(   Ni
   i   (   R,   R   RQ   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR´   î  s    c         C   s5   |  i  t t t d d	 d
 g ƒ ƒ d d d g ƒ d  S(   Ni   i   i   i
   i    i	   iè  (   i   i   (   i   i   (   i
   i   (   R,   R   Rº   R¶   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_stapmapñ  s    !c      	   C   s;   |  i  t t d „  d d d d d g ƒ ƒ d d g ƒ d  S(   Nc         S   s
   |  d  j  S(   i   (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   ö  s    i   i   i   (   R,   R   R¾   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRÁ   õ  s    (   R   R   R0   R2   RM   Rc   Rf   RÃ   Rˆ   R‹   R   R¸   R½   R—   Rð   RU   R³   R´   Rò   RÁ   (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRØ   ®  s$   																	t   TestGCc           B   s³   e  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(   c         C   s!   | i  | ƒ | i ƒ  ~ ~ d  S(   N(   R{   R   (   R   t   iteratort	   container(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt	   makecycleû  s    
c         C   s    g  } |  i  t | ƒ | ƒ d  S(   N(   Rö   R+   (   R   RV   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR0      s    c         C   s&   g  } |  i  t i | g ƒ | ƒ d  S(   N(   Rö   R+   R1   (   R   RV   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR2     s    c         C   s/   g  } |  i  t d d | d g d ƒ | ƒ d  S(   Ni   i   i   (   Rö   RB   (   R   RV   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRM     s    c         C   s'   g  } |  i  t | g d ƒ | ƒ d  S(   Ni   (   Rö   Re   (   R   RV   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRf     s    c         C   s,   g  } |  i  t t d | | g ƒ | ƒ d  S(   Ni    (   Rö   RÂ   RŠ   (   R   RV   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRÃ     s    c         C   s-   g  } |  i  t | g d d „  ƒ | ƒ d  S(   Ni   c         S   s   |  S(    (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh     s    (   Rö   Ro   (   R   RV   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRˆ     s    c         C   sX   d } d „  } xB t  t | ƒ d | ƒD]( \ } } | i i d g  ƒ i | ƒ q( Wd  S(   Ni
   c         S   s   |  S(    (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh     s    Rg   R   (   Ro   R¬   t   __dict__t
   setdefaultR{   (   R   R   Rz   R   R:   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_issue2246  s
    	 c         C   s-   g  } |  i  t d „  | g d ƒ | ƒ d  S(   Nc         S   s   t  S(    (   R|   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   !  s    i   (   Rö   R‰   (   R   RV   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR‹     s    c         C   s&   g  } |  i  t d „  | ƒ | ƒ d  S(   Nc         S   s   t  S(    (   t   False(   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   %  s    (   Rö   RŒ   (   R   RV   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR   #  s    c         C   s1   g  } |  i  t | g d | g d ƒ | ƒ d  S(   Ni   i   (   Rö   RŽ   (   R   RV   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR—   '  s    c         C   sj   g  } |  i  t | g d | g d ƒ | ƒ | d  g } |  i  t | g d | g d d | ƒ| ƒ d  S(   Ni   i   R™   (   Rö   R›   RC   (   R   RV   RW   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRð   +  s    'c         C   s-   g  } |  i  t d „  | g d ƒ | ƒ d  S(   Nc         S   s   |  S(    (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   3  s    i   (   Rö   Rµ   (   R   RV   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR¸   1  s    c         C   s*   g  } |  i  t | g d d  ƒ | ƒ d  S(   Ni   (   Rö   R   RC   (   R   RV   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR½   5  s    c         C   s/   g  } |  i  t d d | d g d ƒ | ƒ d  S(   Ni   i   i   (   Rö   R<   (   R   RV   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRU   9  s    c         C   s2   g  } |  i  t d d | d g d d ƒ| ƒ d  S(   Ni   i   i   RQ   (   Rö   RR   (   R   RV   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR³   =  s    c         C   s    g  } |  i  t | ƒ | ƒ d  S(   N(   Rö   RQ   (   R   RV   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR´   A  s    c         C   s3   g  } |  i  t d „  | | f g d ƒ | ƒ d  S(   Nc          W   s   |  S(    (    (   R¡   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   G  s    i   (   Rö   Rº   (   R   RV   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR»   E  s    c         C   s/   g  } |  i  t t d d | | g ƒ | ƒ d  S(   Ni   i    (   Rö   R¾   RŠ   (   R   RV   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRÁ   I  s    (   R   R   Rö   R0   R2   RM   Rf   RÃ   Rˆ   Rù   R‹   R   R—   Rð   R¸   R½   RU   R³   R´   R»   RÁ   (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRó   ù  s&   																		c         c   s   x |  D] } | Vq Wd S(   s   Regular generatorN(    (   t   seqnR   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   RM  s     t   Gc           B   s    e  Z d  Z d „  Z d „  Z RS(   s   Sequence using __getitem__c         C   s   | |  _  d  S(   N(   Rû   (   R   Rû   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   __init__T  s    c         C   s   |  i  | S(   N(   Rû   (   R   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   __getitem__V  s    (   R   R   R   Rþ   Rÿ   (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRý   R  s   	t   Ic           B   s)   e  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û   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRþ   [  s    	c         C   s   |  S(   N(    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR   ^  s    c         C   sF   |  i  t |  i ƒ j o
 t ‚ n |  i |  i  } |  i  d 7_  | S(   Ni   (   R   R6   Rû   R   (   R   t   v(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR   `  s
     
(   R   R   R   Rþ   R   R   (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR   Y  s   		t   Igc           B   s    e  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û   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRþ   h  s    	c         c   s   x |  i  D] } | Vq
 Wd  S(   N(   Rû   (   R   t   val(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR   k  s    
 (   R   R   R   Rþ   R   (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR  f  s   	R˜   c           B   s    e  Z d  Z d „  Z d „  Z RS(   s    Missing __getitem__ and __iter__c         C   s   | |  _  d |  _ d  S(   Ni    (   Rû   R   (   R   Rû   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRþ   q  s    	c         C   sF   |  i  t |  i ƒ j o
 t ‚ n |  i |  i  } |  i  d 7_  | S(   Ni   (   R   R6   Rû   R   (   R   R  (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR   t  s
     
(   R   R   R   Rþ   R   (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR˜   o  s   	t   Nc           B   s    e  Z d  Z d „  Z d „  Z RS(   s   Iterator missing next()c         C   s   | |  _  d |  _ d  S(   Ni    (   Rû   R   (   R   Rû   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRþ   |  s    	c         C   s   |  S(   N(    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR     s    (   R   R   R   Rþ   R   (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR  z  s   	t   Ec           B   s)   e  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û   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRþ   „  s    	c         C   s   |  S(   N(    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR   ‡  s    c         C   s   d d d  S(   Ni   i    (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR   ‰  s    (   R   R   R   Rþ   R   R   (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR  ‚  s   		t   Sc           B   s)   e  Z d  Z d „  Z d „  Z d „  Z RS(   s   Test immediate stopc         C   s   d  S(   N(    (   R   Rû   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRþ   Ž  s    c         C   s   |  S(   N(    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR     s    c         C   s
   t  ‚ d  S(   N(   R   (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR   ’  s    (   R   R   R   Rþ   R   R   (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR  Œ  s   		c         C   s(   t  t d „  t t t |  ƒ ƒ ƒ ƒ ƒ S(   s    Test multiple tiers of iteratorsc         S   s   |  S(    (    (   R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRh   —  s    (   R+   Rµ   Rü   R  Rý   (   Rû   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRX   •  s    t   TestVariousIteratorArgsc           B   s†   e  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(   c      	   C   s+  x$d d t  d ƒ d	 t d d d ƒ f D]û } x• t t t t t t f D]{ } |  i t	 t
 | | ƒ ƒ ƒ t	 | | ƒ ƒ ƒ |  i t	 t
 | | ƒ | | ƒ ƒ ƒ t	 | | ƒ ƒ t	 | | ƒ ƒ ƒ qG W|  i t t	 t
 t | ƒ ƒ ƒ |  i t t	 t
 t | ƒ ƒ ƒ |  i t t	 t
 t | ƒ ƒ ƒ q( Wd  S(
   Nt   123R)   iè  t   dog333333ó?iÐ  i˜  i   (   R	  g333333ó?(   R   R¬   Rý   R   R  R  RX   Rü   R,   R   R+   R-   R.   R˜   R  t   ZeroDivisionErrorR  (   R   RN   Rs   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR0   œ  s    (  .Kc         C   s   xz d d t  d ƒ d	 t d d d ƒ f D]Q } |  i t t t | ƒ ƒ |  i t t t | ƒ ƒ |  i t t t | ƒ ƒ q( Wd  S(
   NR  R)   iè  R	  g333333ó?iÐ  i˜  i   (   s   dog333333ó?(	   R   R¬   R-   R.   RR   R˜   R  R
  R  (   R   RN   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR³   ¥  s
    ( c      	   C   s  x d d t  d ƒ d
 t d d d ƒ f D]× } xw t t t t t t f D]] } t | ƒ d	 } t	 | | ƒ ƒ d	 } t	 t
 t | | ƒ ƒ | ƒ ƒ } |  i | | ƒ qG W|  i t t t | ƒ ƒ |  i t t	 t t | ƒ ƒ ƒ |  i t t	 t t | ƒ ƒ ƒ q( Wd  S(   NR  R)   iè  R	  g333333ó?iÐ  i˜  i   i   (   s   dog333333ó?(   R   R¬   Rý   R   R  R  RX   Rü   R6   R   R   Re   R,   R-   R.   R˜   R  R
  R  (   R   RN   Rs   t   tgtlent   expectedt   actual(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRf   «  s    (  !c      	   C   s  xþ t  d ƒ t  d ƒ t  d ƒ d	 t d d d ƒ f D]É } xi t t t t t t f D]O } |  i g  } t	 | | ƒ ƒ D] \ } } | | qv ~ t
 | | ƒ ƒ ƒ qS W|  i t t	 t | ƒ ƒ |  i t t
 t	 t | ƒ ƒ ƒ |  i t t
 t	 t | ƒ ƒ ƒ q4 Wd  S(
   Ni
   i    iè  i   i   iÐ  i˜  i   (   i   i   (   R   R¬   Rý   R   R  R  RX   Rü   R,   Ro   R   R-   R.   R˜   R  R
  R  (   R   RN   Rs   RJ   Rr   t   sb(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRˆ   ¶  s    4  Mc      
   C   sù   xò t  d ƒ t  d ƒ t  d ƒ d	 t d d d ƒ f D]½ } xT t t t t t t f D]: } |  i t	 t
 t | | ƒ ƒ ƒ t t | | ƒ ƒ ƒ qS W|  i t t
 t t | ƒ ƒ |  i t t	 t
 t t | ƒ ƒ ƒ |  i t t	 t
 t t | ƒ ƒ ƒ q4 Wd  S(
   Ni
   i    iè  i   i   iÐ  i˜  i   (   i   i   (   R   R¬   Rý   R   R  R  RX   Rü   R,   R   R‰   R
   t   filterR-   R.   R˜   R  R
  R  (   R   RN   Rs   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR‹   ¾  s    4  8"c      
   C   sù   xò t  d ƒ t  d ƒ t  d ƒ d	 t d d d ƒ f D]½ } xT t t t t t t f D]: } |  i t	 t
 t | | ƒ ƒ ƒ t t | | ƒ ƒ ƒ qS W|  i t t
 t t | ƒ ƒ |  i t t	 t
 t t | ƒ ƒ ƒ |  i t t	 t
 t t | ƒ ƒ ƒ q4 Wd  S(
   Ni
   i    iè  i   i   iÐ  i˜  i   (   i   i   (   R   R¬   Rý   R   R  R  RX   Rü   R,   R   RŒ   R
   R  R   R-   R.   R˜   R  R
  R  (   R   RN   Rs   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR   Æ  s    4  8"c      	   C   s  xd d t  d ƒ d	 t d d d ƒ f D]î } xŽ t t t t t t f D]t } |  i t	 t
 | | ƒ ƒ ƒ t | | ƒ ƒ ƒ |  i t	 t
 | | ƒ | | ƒ ƒ ƒ t | | ƒ | | ƒ ƒ ƒ qG W|  i t t
 t | ƒ ƒ |  i t t	 t
 t | ƒ ƒ ƒ |  i t t	 t
 t | ƒ ƒ ƒ q( Wd  S(
   NR  R)   iè  R	  g333333ó?iÐ  i˜  i   (   s   dog333333ó?(   R   R¬   Rý   R   R  R  RX   Rü   R,   R   RŽ   RY   R-   R.   R˜   R  R
  R  (   R   RN   Rs   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR—   Î  s    (  .Dc      	   C   s  xd d t  d ƒ d	 t d d d ƒ f D]î } xŽ t t t t t t f D]t } |  i t	 t
 | | ƒ ƒ ƒ t | | ƒ ƒ ƒ |  i t	 t
 | | ƒ | | ƒ ƒ ƒ t | | ƒ | | ƒ ƒ ƒ qG W|  i t t
 t | ƒ ƒ |  i t t	 t
 t | ƒ ƒ ƒ |  i t t	 t
 t | ƒ ƒ ƒ q( Wd  S(
   NR  R)   iè  R	  g333333ó?iÐ  i˜  i   (   s   dog333333ó?(   R   R¬   Rý   R   R  R  RX   Rü   R,   R   R›   RY   R-   R.   R˜   R  R
  R  (   R   RN   Rs   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR£   ×  s    (  .Dc      
   C   sE  x>t  d ƒ t  d ƒ t  d ƒ d	 t d d d ƒ f D]	} x  t t t t t t f D]† } |  i t	 t
 t | | ƒ ƒ ƒ t t | | ƒ ƒ ƒ |  i t	 t
 t i | | ƒ | | ƒ ƒ ƒ t t i | | ƒ | | ƒ ƒ ƒ qS W|  i t t
 t t | ƒ ƒ |  i t t	 t
 t t | ƒ ƒ ƒ |  i t t	 t
 t t | ƒ ƒ ƒ q4 Wd  S(
   Ni
   i    id   i   i   i   i2   i   (   i   i   (   R   R¬   Rý   R   R  R  RX   Rü   R,   R   Rµ   R   RG   R   R¶   R-   R.   R˜   R  R
  R  (   R   RN   Rs   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR¸   à  s    4  4P"c      	   C   sý   xö d d t  d ƒ d t d d d ƒ f D]Í } xd t t t t t t f D]J } |  i t	 t
 | | ƒ d	 d  d
 ƒ ƒ t	 | | ƒ ƒ d	 d  d
 … ƒ qG W|  i t t
 t | ƒ d ƒ |  i t t	 t
 t | ƒ d ƒ ƒ |  i t t	 t
 t | ƒ d ƒ ƒ q( Wd  S(   Nt   12345R)   iè  R	  g333333ó?iÐ  i˜  i   i   i   i
   (   s   dog333333ó?(   R   R¬   Rý   R   R  R  RX   Rü   R,   R   R   RC   R-   R.   R˜   R  R
  R  (   R   RN   Rs   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR½   é  s    (  H"c      
   C   s   xt  d ƒ t  d ƒ t  d ƒ d	 t d d d ƒ f D]ä } xr t t t t t t f D]X } t | | ƒ } |  i	 t
 t t i | | ƒ ƒ ƒ t t i | | ƒ | | ƒ ƒ ƒ qS W|  i t t t i t | ƒ ƒ |  i t t
 t t i t | ƒ ƒ ƒ |  i t t
 t t i t | ƒ ƒ ƒ q4 Wd  S(
   Ni
   i    id   i   i   i   i2   i   (   i   i   (   R   R¬   Rý   R   R  R  RX   Rü   RY   R,   R   Rº   R   R¶   RG   R-   R.   R˜   R  R
  R  (   R   RN   Rs   t   ss(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR»   ñ  s    4  G%c      
   C   s&  xt  d ƒ t  d ƒ t  d ƒ d	 t d d d ƒ f D]ê } x t t t t t t f D]g } g  } x3 | | ƒ D]% } t | ƒ p Pn | i	 | ƒ ql W|  i
 t t t | | ƒ ƒ ƒ | ƒ qS W|  i t t t t | ƒ ƒ |  i t t t t t | ƒ ƒ ƒ |  i t t t t t | ƒ ƒ ƒ q4 Wd  S(
   Ni
   i    iè  i   i   iÐ  i˜  i   (   i   i   (   R   R¬   Rý   R   R  R  RX   Rü   R
   R{   R,   R   R¾   R-   R.   R˜   R  R
  R  (   R   RN   Rs   t   tgtR   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRÁ   ú  s    4    )"c      
   C   s0  x)t  d ƒ t  d ƒ t  d ƒ d	 t d d d ƒ f D]ô } x‹ t t t t t t f D]q } g  } x= | | ƒ D]/ } | o t | ƒ o ql n | i	 | ƒ ql W|  i
 t t t | | ƒ ƒ ƒ | ƒ qS W|  i t t t t | ƒ ƒ |  i t t t t t | ƒ ƒ ƒ |  i t t t t t | ƒ ƒ ƒ q4 Wd  S(
   Ni
   i    iè  i   i   iÐ  i˜  i   (   i   i   (   R   R¬   Rý   R   R  R  RX   Rü   R   R{   R,   R   RÂ   R-   R.   R˜   R  R
  R  (   R   RN   Rs   R  R   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRÃ     s    4    )"c      	   C   s  xd d t  d ƒ d
 t d d d ƒ f D]ä } x| t t t t t t f D]b } t | | ƒ ƒ \ } } |  i	 t
 | ƒ t
 | | ƒ ƒ ƒ |  i	 t
 | ƒ t
 | | ƒ ƒ ƒ qG W|  i t t t | ƒ ƒ |  i t t
 t t | ƒ ƒ d	 ƒ |  i t t
 t t | ƒ ƒ d	 ƒ q( Wd  S(   NR  R)   iè  R	  g333333ó?iÐ  i˜  i   i    (   s   dog333333ó?(   R   R¬   Rý   R   R  R  RX   Rü   RÇ   R,   R   R-   R.   R˜   R  R
  R  (   R   RN   Rs   t   it1t   it2(    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRÔ     s    (  "&#(   R   R   R0   R³   Rf   Rˆ   R‹   R   R—   R£   R¸   R½   R»   RÁ   RÃ   RÔ   (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR  š  s   																		t   LengthTransparencyc           B   s   e  Z d  „  Z RS(   c         C   sL   d d k  l } |  i | t d  d ƒ ƒ d ƒ |  i t | t d  ƒ ƒ d  S(   Niÿÿÿÿ(   R6   i2   (   t   test.test_iterlenR6   R,   RQ   RC   R-   R.   (   R   R6   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR´     s    (   R   R   R´   (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR    s   t   RegressionTestsc           B   s   e  Z d  „  Z d „  Z RS(   c            sN   d „  } ‡  f d †  } g  ‰  | d	 | d
 ƒ t  t ƒ } |  i ˆ  | ƒ d  S(   Nc            sm   d g ‡  ‡ f d † } t  | ƒ } t  |  ƒ | d d +t | | ƒ } t | g t |  ƒ Œ  ‰ ˆ i ƒ  d  S(   Ni   c            s#   | o | 2ˆ  ˆ i  ƒ  ƒ n |  S(   N(   R   (   RÏ   t   first(   RÕ   t   z(    s0   /mit/python/lib/python2.6/test/test_itertools.pyRs   ,  s    (   R   Rµ   RŽ   R6   R   (   t   tuple1RÕ   t   tuple2Rs   t   itemst   gen(    (   RÕ   R  s0   /mit/python/lib/python2.6/test/test_itertools.pyt   mutatingtuple(  s    c            s   |  a  t t  ƒ ˆ  (d  S(   N(   t   TR   (   R¡   (   R  (    s0   /mit/python/lib/python2.6/test/test_itertools.pyRÕ   7  s    i   i   i   i   i   i   (   i   i   i   (   i   i   i   (   R   R  R,   (   R   R  RÕ   t   second(    (   R  s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_sf_793826%  s    	c      	      sÜ   ‡  f d †  } ‡  f d †  } g  ‰  |  i  t t t | ƒ  | t ƒ ƒ ƒ |  i ˆ  d d g ƒ g  ‰  |  i  t t t | ƒ  | t ƒ ƒ ƒ |  i ˆ  d d g ƒ g  ‰  |  i  t t t | ƒ  ƒ ƒ |  i ˆ  d d g ƒ d  S(   Nc           3   s6   ˆ  i  d ƒ d Vˆ  i  d ƒ t ‚ ˆ  i  d ƒ d  S(   Ni    i   i   (   R{   t   AssertionError(    (   t   hist(    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   gen1F  s
    c         3   s4   ˆ  i  d ƒ d Vˆ  i  d ƒ |  o
 t ‚ n d  S(   Ni   i   i   (   R{   R   (   R   (   R#  (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   gen2M  s
    i    i   (   R-   R"  R   R+   Rú   R,   R|   Re   (   R   R$  R%  (    (   R#  s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_sf_950057B  s    %%(   R   R   R!  R&  (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR  #  s   	t   SubclassWithKwargsTestc           B   s   e  Z d  „  Z RS(   c            s•   xŽ t  t t t t t t t t t	 t
 f D]e ‰  d ˆ  f ‡  f d †  ƒ  Y} y | d d ƒ Wq( t j
 o# } |  i d | i d j ƒ q( Xq( Wd  S(   Nt   Subclassc              s   e  Z d ‡  f d  † Z RS(   c            s   ˆ  i  |  | Œ d  S(   N(   Rþ   (   R   t   newargR   (   t   cls(    s0   /mit/python/lib/python2.6/test/test_itertools.pyRþ   f  s    N(   R   R   RC   Rþ   (    (   R*  (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR(  e  s   R)  i   s   does not take keyword argumentsi    (   RQ   RŽ   R‰   RŒ   R+   Rµ   Rº   R   R¾   RÂ   Re   R.   t   failIfR   (   R   R(  t   err(    (   R*  s0   /mit/python/lib/python2.6/test/test_itertools.pyt   test_keywords_in_subclassa  s     (   R   R   R-  (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyR'  `  s   s$   Doctest for examples in the library reference: libitertools.tex


>>> amounts = [120.15, 764.05, 823.14]
>>> for checknum, amount in izip(count(1200), amounts):
...     print 'Check %d is for $%.2f' % (checknum, amount)
...
Check 1200 is for $120.15
Check 1201 is for $764.05
Check 1202 is for $823.14

>>> import operator
>>> for cube in imap(operator.pow, xrange(1,4), repeat(3)):
...    print cube
...
1
8
27

>>> reportlines = ['EuroPython', 'Roster', '', 'alex', '', 'laura', '', 'martin', '', 'walter', '', 'samuele']
>>> for name in islice(reportlines, 3, None, 2):
...    print name.title()
...
Alex
Laura
Martin
Walter
Samuele

>>> from operator import itemgetter
>>> d = dict(a=1, b=2, c=1, d=2, e=1, f=2, g=3)
>>> di = sorted(sorted(d.iteritems()), key=itemgetter(1))
>>> for k, g in groupby(di, itemgetter(1)):
...     print k, map(itemgetter(0), g)
...
1 ['a', 'c', 'e']
2 ['b', 'd', 'f']
3 ['g']

# Find runs of consecutive numbers using groupby.  The key to the solution
# is differencing with a range so that consecutive numbers all appear in
# same group.
>>> data = [ 1,  4,5,6, 10, 15,16,17,18, 22, 25,26,27,28]
>>> for k, g in groupby(enumerate(data), lambda (i,x):i-x):
...     print map(operator.itemgetter(1), g)
...
[1]
[4, 5, 6]
[10]
[15, 16, 17, 18]
[22]
[25, 26, 27, 28]

>>> def take(n, iterable):
...     "Return first n items of the iterable as a list"
...     return list(islice(iterable, n))

>>> def enumerate(iterable, start=0):
...     return izip(count(start), iterable)

>>> def tabulate(function, start=0):
...     "Return function(0), function(1), ..."
...     return imap(function, count(start))

>>> def nth(iterable, n):
...     "Returns the nth item or empty list"
...     return list(islice(iterable, n, n+1))

>>> def quantify(iterable, pred=bool):
...     "Count how many times the predicate is true"
...     return sum(imap(pred, iterable))

>>> def padnone(iterable):
...     "Returns the sequence elements and then returns None indefinitely"
...     return chain(iterable, repeat(None))

>>> def ncycles(iterable, n):
...     "Returns the seqeuence elements n times"
...     return chain(*repeat(iterable, n))

>>> def dotproduct(vec1, vec2):
...     return sum(imap(operator.mul, vec1, vec2))

>>> def flatten(listOfLists):
...     return list(chain.from_iterable(listOfLists))

>>> def repeatfunc(func, times=None, *args):
...     "Repeat calls to func with specified arguments."
...     "   Example:  repeatfunc(random.random)"
...     if times is None:
...         return starmap(func, repeat(args))
...     else:
...         return starmap(func, repeat(args, times))

>>> def pairwise(iterable):
...     "s -> (s0,s1), (s1,s2), (s2, s3), ..."
...     a, b = tee(iterable)
...     for elem in b:
...         break
...     return izip(a, b)

>>> def grouper(n, iterable, fillvalue=None):
...     "grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
...     args = [iter(iterable)] * n
...     return izip_longest(fillvalue=fillvalue, *args)

>>> def roundrobin(*iterables):
...     "roundrobin('ABC', 'D', 'EF') --> A D E B F C"
...     # Recipe credited to George Sakkis
...     pending = len(iterables)
...     nexts = cycle(iter(it).next for it in iterables)
...     while pending:
...         try:
...             for next in nexts:
...                 yield next()
...         except StopIteration:
...             pending -= 1
...             nexts = cycle(islice(nexts, pending))

>>> def powerset(iterable):
...     "powerset('ab') --> set([]), set(['a']), set(['b']), set(['a', 'b'])"
...     # Recipe credited to Eric Raymond
...     pairs = [(2**i, x) for i, x in enumerate(iterable)]
...     for n in xrange(2**len(pairs)):
...         yield set(x for m, x in pairs if m&n)

>>> def compress(data, selectors):
...     "compress('ABCDEF', [1,0,1,0,1,1]) --> A C E F"
...     return (d for d, s in izip(data, selectors) if s)

>>> def combinations_with_replacement(iterable, r):
...     "combinations_with_replacement('ABC', 3) --> AA AB AC BB BC CC"
...     pool = tuple(iterable)
...     n = len(pool)
...     indices = [0] * r
...     yield tuple(pool[i] for i in indices)
...     while 1:
...         for i in reversed(range(r)):
...             if indices[i] != n - 1:
...                 break
...         else:
...             return
...         indices[i:] = [indices[i] + 1] * (r - i)
...         yield tuple(pool[i] for i in indices)

This is not part of the examples but it tests to make sure the definitions
perform as purported.

>>> take(10, count())
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> list(enumerate('abc'))
[(0, 'a'), (1, 'b'), (2, 'c')]

>>> list(islice(tabulate(lambda x: 2*x), 4))
[0, 2, 4, 6]

>>> nth('abcde', 3)
['d']

>>> quantify(xrange(99), lambda x: x%2==0)
50

>>> a = [[1, 2, 3], [4, 5, 6]]
>>> flatten(a)
[1, 2, 3, 4, 5, 6]

>>> list(repeatfunc(pow, 5, 2, 3))
[8, 8, 8, 8, 8]

>>> import random
>>> take(5, imap(int, repeatfunc(random.random)))
[0, 0, 0, 0, 0]

>>> list(pairwise('abcd'))
[('a', 'b'), ('b', 'c'), ('c', 'd')]

>>> list(pairwise([]))
[]

>>> list(pairwise('a'))
[]

>>> list(islice(padnone('abc'), 0, 6))
['a', 'b', 'c', None, None, None]

>>> list(ncycles('abc', 3))
['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']

>>> dotproduct([1,2,3], [4,5,6])
32

>>> list(grouper(3, 'abcdefg', 'x'))
[('a', 'b', 'c'), ('d', 'e', 'f'), ('g', 'x', 'x')]

>>> list(roundrobin('abc', 'd', 'ef'))
['a', 'd', 'e', 'b', 'f', 'c']

>>> map(sorted, powerset('ab'))
[[], ['a'], ['b'], ['a', 'b']]

>>> list(compress('abcdef', [1,0,1,0,1,1]))
['a', 'c', 'e', 'f']

>>> list(combinations_with_replacement('abc', 2))
[('a', 'a'), ('a', 'b'), ('a', 'c'), ('b', 'b'), ('b', 'c'), ('c', 'c')]

t
   libreftestc         C   sÀ   t  t t t t t t f } t i | Œ  |  ov t	 t
 d ƒ of d d  k } d  g d } xA t t | ƒ ƒ D]- } t i | Œ  | i ƒ  t
 i ƒ  | | <qk W| GHn t i t
 i t |  ƒ d  S(   Nt   gettotalrefcountiÿÿÿÿi   (   R!   R  Ró   R  R  R'  RØ   R    t   run_unittestt   hasattrR]   t   gcRC   R¬   R6   t   collectR/  t   run_doctestt   modulesR   (   t   verboset   test_classesR2  t   countsR   (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt	   test_mainB  s    	 
	t   __main__R6  (,   t   unittestt   testR    t	   itertoolst   weakrefR   R]   R   R­   t   MAX_Py_ssize_tR[   t   minsizeR   R   R	   R
   R   R   R   R   R    t   TestCaseR!   RØ   Ró   Rü   Rý   R   R  R˜   R  R  R  RX   R  R  R  R'  R.  t   __test__RC   R9  R   R|   (    (    (    s0   /mit/python/lib/python2.6/test/test_itertools.pyt   <module>   sP   
									ÿ ÿ ~KT		
		‚=Þ