U W½gØã@sLddlmZddlmZGdd„deƒZdd„Zdd „ZGd d „d eƒZd S) é)Úgreenleté)ÚTestCasec@s4eZdZdZdd„Zdd„Zdd„Zdd „ZeZdS) ÚgenletNcOs||_||_dS©N)ÚargsÚkwds)Úselfrr©r úM/opt/hc_python/lib64/python3.8/site-packages/greenlet/tests/test_generator.pyÚ__init__szgenlet.__init__cCs|j\}||j|jŽdSr)Úfnrr)r r r r r Úrun sz genlet.runcCs|Srr )r r r r Ú__iter__szgenlet.__iter__cCs"t ¡|_| ¡}|r|St‚dSr)rÚ getcurrentÚparentÚswitchÚ StopIteration)r Úresultr r r Ú__next__s  zgenlet.__next__) Ú__name__Ú __module__Ú __qualname__rr rrrÚnextr r r r rs rcCs:t ¡}t|tƒs*|dkr"tdƒ‚|j}q|j |¡dS)Nzyield outside a genlet)rrÚ isinstancerÚ RuntimeErrorrr)ÚvalueÚgr r r ÚYields  rcsG‡fdd„dtƒ}|S)NcseZdZ”fZdS)zgenerator..GeneratorN)rrrr r ©Úfuncr r Ú Generator(sr!)r)r r!r rr Ú generator'sr"c@seZdZdd„ZdS)ÚGeneratorTestscsfg‰‡fdd„}t|ƒ}tdƒD]}|dƒD]}ˆ |¡q,q | ˆdddddddddddg ¡dS) Ncs$t|ƒD]}ˆ |¡t|ƒqdSr)ÚrangeÚappendr)ÚnÚi©Úseenr r r3s  z(GeneratorTests.test_generator..géérréé)r"r$r%Z assertEqual)r rÚ_Újr r(r Útest_generator0s   zGeneratorTests.test_generatorN)rrrr0r r r r r#/sr#N)rÚrrrr"r#r r r r Ús