ó
    ÷Þ jØ  ã                   óT   • S SK J r   SSKJr   " S S\ 5      rS rS r " S S	\5      rg
)é    )Úgreenleté   )ÚTestCasec                   ó4   • \ rS rSrSrS rS rS rS r\r	Sr
g)Úgenleté   Nc                 ó   • Xl         X l        g ©N)ÚargsÚkwds)Úselfr   r   s      ÚW/var/www/html/gaurav/venv/lib/python3.13/site-packages/greenlet/tests/test_generator.pyÚ__init__Úgenlet.__init__   s   € ØŒ	Ø�	ó    c                 óX   • U R                   u  nU" U R                  0 U R                  D6  g r
   )Úfnr   r   )r   r   s     r   ÚrunÚ
genlet.run   s"   € Ø�g‰g‰ˆÙ
ˆD�I‰IÐ#˜Ÿ™Ó#r   c                 ó   • U $ r
   © )r   s    r   Ú__iter__Úgenlet.__iter__   s   € Øˆr   c                 ót   • [         R                  " 5       U l        U R                  5       nU (       a  U$ [        er
   )r   Ú
getcurrentÚparentÚswitchÚStopIteration)r   Úresults     r   Ú__next__Úgenlet.__next__   s+   € Ü×)Ò)Ó+ˆŒØ—‘“ˆÞØˆMäÐr   )r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r   r    ÚnextÚ__static_attributes__r   r   r   r   r      s"   † Ø€Fòò$òòð ƒDr   r   c                 óð   • [         R                  " 5       n[        U[        5      (       d1  Uc  [	        S5      eUR
                  n[        U[        5      (       d  M1  UR
                  R                  U 5        g )Nzyield outside a genlet)r   r   Ú
isinstancer   ÚRuntimeErrorr   r   )ÚvalueÚgs     r   ÚYieldr-      sX   € Ü×ÒÓ€AÜ˜œF×#Ñ#Ø‰9ÜÐ7Ó8Ð8Ø�H‰Hˆô ˜œF×#Ó#ð ‡H�H‡O�O�EÕr   c                 ó,   ^ •  " U 4S jS[         5      nU$ )Nc                   ó   >• \ rS rSr Y 4rSrg)Úgenerator.<locals>.Generatoré(   r   N)r"   r#   r$   r%   r   r'   )Úfuncs   €r   Ú	Generatorr0   (   s
   ø† ÙˆW‹r   r3   )r   )r2   r3   s   ` r   Ú	generatorr4   '   s   ø€ ÷”Fô àÐr   c                   ó   • \ rS rSrS rSrg)ÚGeneratorTestsé/   c                 ó¾   ^• / mU4S jn[        U5      n[        S5       H#  nU" S5       H  nTR                  U5        M     M%     U R                  TS/ SQ-  5        g )Nc                 ób   >• [        U 5       H  nTR                  U5        [        U5        M!     g r
   )ÚrangeÚappendr-   )ÚnÚiÚseens     €r   r,   Ú(GeneratorTests.test_generator.<locals>.g3   s#   ø€ Ü˜1–X�Ø—‘˜A”Ü�a–ò r   é   é   )
r   r   r   r   é   rB   r@   r@   é   rC   )r4   r:   r;   ÚassertEqual)r   r,   Ú_Újr>   s       @r   Útest_generatorÚGeneratorTests.test_generator0   sW   ø€ Øˆõ	ô �a‹LˆÜ�q–ˆAÙ�q–T�Ø—‘˜A–ó ñ ð 	×Ñ˜˜qÒ#AÑAÕBr   r   N)r"   r#   r$   r%   rG   r'   r   r   r   r6   r6   /   s   † õCr   r6   N)r   Ú r   r   r-   r4   r6   r   r   r   Ú<module>rJ      s/   ðå å ôˆXô ò0òôC�Xõ Cr   