
    h                     T    d dl m Z  ddlmZ  G d de       Zd Zd Z G d d	e      Zy
)    )greenlet   )TestCasec                   ,    e Zd ZdZd Zd Zd Zd ZeZy)genletNc                      || _         || _        y N)argskwds)selfr
   r   s      FD:\EasyAligner\venv\Lib\site-packages\greenlet/tests/test_generator.py__init__zgenlet.__init__   s    		    c                 X    | j                   \  } || j                  i | j                   y r	   )fnr
   r   )r   r   s     r   runz
genlet.run   s"    gg
DII##r   c                     | S r	    )r   s    r   __iter__zgenlet.__iter__   s    r   c                 h    t        j                         | _        | j                         }| r|S t        r	   )r   
getcurrentparentswitchStopIteration)r   results     r   __next__zgenlet.__next__   s+    ))+Mr   )	__name__
__module____qualname__r   r   r   r   r   nextr   r   r   r   r      s"    F$ Dr   r   c                     t        j                         }t        |t              s*|t	        d      |j
                  }t        |t              s*|j
                  j                  |        y )Nzyield outside a genlet)r   r   
isinstancer   RuntimeErrorr   r   )valuegs     r   Yieldr&      sR    AF#9788HH F# HHOOEr   c                 *      G  fddt               }|S )Nc                       e Zd ZW  fZy)generator.<locals>.GeneratorN)r   r   r   r   )funcs   r   	Generatorr)   (   s
    Wr   r+   )r   )r*   r+   s   ` r   	generatorr,   '   s    F r   c                       e Zd Zd Zy)GeneratorTestsc                     g fd}t        |      }t        d      D ]   } |d      D ]  }j                  |        " | j                  dg dz         y )Nc                 ^    t        |       D ]  }j                  |       t        |         y r	   )rangeappendr&   )niseens     r   r%   z(GeneratorTests.test_generator.<locals>.g3   s#    1XAa r         )
r   r   r   r      r8   r6   r6      r9   )r,   r1   r2   assertEqual)r   r%   _jr5   s       @r   test_generatorzGeneratorTests.test_generator0   sW    	 aLqAqTA   	q#AABr   N)r   r   r   r=   r   r   r   r.   r.   /   s    Cr   r.   N)r    r   r   r&   r,   r.   r   r   r   <module>r?      s/     X 0CX Cr   