Ñò
§Kc           @   sa   d  d k  Z  d  d k l Z d e f d     YZ d   Z d   Z d e  i f d     YZ d S(	   i˙˙˙˙N(   t   greenlett   genletc           B   s2   e  Z d    Z d   Z d   Z d   Z e Z RS(   c         O   s   | |  _  | |  _ d  S(   N(   t   argst   kwds(   t   selfR   R   (    (    s<   /home/ambroff/code/greenlet/greenlet/tests/test_generator.pyt   __init__   s    	c         C   s#   |  i  \ } | |  i |  i   d  S(   N(   t   fnR   R   (   R   R   (    (    s<   /home/ambroff/code/greenlet/greenlet/tests/test_generator.pyt   run
   s    c         C   s   |  S(   N(    (   R   (    (    s<   /home/ambroff/code/greenlet/greenlet/tests/test_generator.pyt   __iter__   s    c         C   s1   t  i   |  _ |  i   } |  o | St  d  S(   N(   R    t
   getcurrentt   parentt   switcht   StopIteration(   R   t   result(    (    s<   /home/ambroff/code/greenlet/greenlet/tests/test_generator.pyt   __next__   s
    (   t   __name__t
   __module__R   R   R   R   t   next(    (    (    s<   /home/ambroff/code/greenlet/greenlet/tests/test_generator.pyR      s
   					c         C   s^   t  i   } x; t | t  p* | d  j o t d   n | i } q W| i i |   d  S(   Ns   yield outside a genlet(   R    R	   t
   isinstanceR   t   Nonet   RuntimeErrorR
   R   (   t   valuet   g(    (    s<   /home/ambroff/code/greenlet/greenlet/tests/test_generator.pyt   Yield   s     c            s    d t  f   f d     Y} | S(   Nt	   generatorc              s   e  Z   f Z RS(    (   R   R   R   (    (   t   func(    s<   /home/ambroff/code/greenlet/greenlet/tests/test_generator.pyR   %   s   (   R   (   R   R   (    (   R   s<   /home/ambroff/code/greenlet/greenlet/tests/test_generator.pyR   $   s    t   GeneratorTestsc           B   s   e  Z d    Z RS(   c            s   g      f d   } t  |  } x8 t d  D]* } x! | d  D] }   i |  qA Wq. W|  i   d d d d d d d d d d d g
  d  S(   Nc            s2   x+ t  |   D] }   i |  t |  q Wd  S(   N(   t   ranget   appendR   (   t   nt   i(   t   seen(    s<   /home/ambroff/code/greenlet/greenlet/tests/test_generator.pyR   .   s     i   i   i    i   i   i   (   R   R   R   t   assertEquals(   R   R   t   kt   j(    (   R   s<   /home/ambroff/code/greenlet/greenlet/tests/test_generator.pyt   test_generator,   s      (   R   R   R#   (    (    (    s<   /home/ambroff/code/greenlet/greenlet/tests/test_generator.pyR   +   s   (   t   unittestR    R   R   R   t   TestCaseR   (    (    (    s<   /home/ambroff/code/greenlet/greenlet/tests/test_generator.pyt   <module>   s
   		