Your IP : 216.73.216.85


Current Path : /opt/alt/python39/lib64/python3.9/test/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/test/__pycache__/test_named_expressions.cpython-39.opt-1.pyc

a

XC?h�P�@sbddlZddlmZdaGdd�dej�ZGdd�dej�ZGdd�dej�Zed	kr^e�	�dS)
�N)�use_old_parserc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Ze�e�d)�d*d+��Zd,d-�Ze�e�d)�d.d/��Zd0S)1�NamedExpressionInvalidTestcCs@d}|�td��t|ii�Wd�n1s20YdS)Nzx := 0�invalid syntax��assertRaisesRegex�SyntaxError�exec��self�code�r�@/opt/alt/python39/lib64/python3.9/test/test_named_expressions.py� test_named_expression_invalid_01sz;NamedExpressionInvalidTest.test_named_expression_invalid_01cCs@d}|�td��t|ii�Wd�n1s20YdS)Nz
x = y := 0rrr	rrr
� test_named_expression_invalid_02sz;NamedExpressionInvalidTest.test_named_expression_invalid_02cCs@d}|�td��t|ii�Wd�n1s20YdS)Nz	y := f(x)rrr	rrr
� test_named_expression_invalid_03sz;NamedExpressionInvalidTest.test_named_expression_invalid_03cCs@d}|�td��t|ii�Wd�n1s20YdS)Nzy0 = y1 := f(x)rrr	rrr
� test_named_expression_invalid_04sz;NamedExpressionInvalidTest.test_named_expression_invalid_04cCs@d}|�td��t|ii�Wd�n1s20YdS)Nz((a, b) := (1, 2))z,cannot use assignment expressions with tuplerr	rrr
� test_named_expression_invalid_06 sz;NamedExpressionInvalidTest.test_named_expression_invalid_06cCs@d}|�td��t|ii�Wd�n1s20YdS)Nzdef spam(a = b := 42): passrrr	rrr
� test_named_expression_invalid_07&sz;NamedExpressionInvalidTest.test_named_expression_invalid_07cCs@d}|�td��t|ii�Wd�n1s20YdS)Nzdef spam(a: b := 42 = 5): passrrr	rrr
� test_named_expression_invalid_08,sz;NamedExpressionInvalidTest.test_named_expression_invalid_08cCs@d}|�td��t|ii�Wd�n1s20YdS)Nzspam(a=b := 'c')rrr	rrr
� test_named_expression_invalid_092sz;NamedExpressionInvalidTest.test_named_expression_invalid_09cCs@d}|�td��t|ii�Wd�n1s20YdS)Nzspam(x = y := f(x))rrr	rrr
� test_named_expression_invalid_108sz;NamedExpressionInvalidTest.test_named_expression_invalid_10cCs@d}|�td��t|ii�Wd�n1s20YdS)Nzspam(a=1, b := 2)�,positional argument follows keyword argumentrr	rrr
� test_named_expression_invalid_11>s
�z;NamedExpressionInvalidTest.test_named_expression_invalid_11cCs@d}|�td��t|ii�Wd�n1s20YdS�Nzspam(a=1, (b := 2))rrr	rrr
� test_named_expression_invalid_12Es
�z;NamedExpressionInvalidTest.test_named_expression_invalid_12cCs@d}|�td��t|ii�Wd�n1s20YdSrrr	rrr
� test_named_expression_invalid_13Ls
�z;NamedExpressionInvalidTest.test_named_expression_invalid_13cCs@d}|�td��t|ii�Wd�n1s20YdS)Nz(x := lambda: y := 1)rrr	rrr
� test_named_expression_invalid_14Ssz;NamedExpressionInvalidTest.test_named_expression_invalid_14cCs@d}|�td��t|ii�Wd�n1s20YdS)Nz(lambda: x := 1)z-cannot use assignment expressions with lambdarr	rrr
� test_named_expression_invalid_15Ys
�z;NamedExpressionInvalidTest.test_named_expression_invalid_15cCs@d}|�td��t|ii�Wd�n1s20YdS)Nz + 1 for i in i := [1,2]]rrr	rrr
� test_named_expression_invalid_16`sz;NamedExpressionInvalidTest.test_named_expression_invalid_16cCs@d}|�td��t|ii�Wd�n1s20YdS)Nz-[i := 0, j := 1 for i, j in [(1, 2), (3, 4)]]rrr	rrr
� test_named_expression_invalid_17fsz;NamedExpressionInvalidTest.test_named_expression_invalid_17cCs@d}|�td��t|ii�Wd�n1s20YdS)NzNclass Foo():
            [(42, 1 + ((( j := i )))) for i in range(5)]
        zKassignment expression within a comprehension cannot be used in a class bodyrr	rrr
�+test_named_expression_invalid_in_class_bodyls
�zFNamedExpressionInvalidTest.test_named_expression_invalid_in_class_bodyc
Cs�gd�}|D]z\}}}d|�d�}|j|d��H|�t|��t|ii�Wd�n1s^0YWd�q1s|0YqdS)N))�Local reuse�iz[i := 0 for i in range(5)])�Nested reuse�jz0[[(j := 0) for i in range(5)] for j in range(5)])�Reuse inner loop targetr$z.[(j := 0) for i in range(5) for j in range(5)])�Unpacking reuser"z[i := 0 for i, j in [(0, 1)]])�Reuse in loop conditionr"z#[i+1 for i in range(5) if (i := 0)])�Unreachable reuser"z#[False or (i:=0) for i in range(5)])�Unreachable nested reuser"z?[(i, j) for i in range(5) for j in range(5) if True or (i:=10)]�Fassignment expression cannot rebind comprehension iteration variable '�'��case��subTestrrr�r
�casesr-�targetr�msgrrr
�Mtest_named_expression_invalid_rebinding_list_comprehension_iteration_variableus
zhNamedExpressionInvalidTest.test_named_expression_invalid_rebinding_list_comprehension_iteration_variablec
Cs�ddg}|D]�\}}}d|�d�}|j|d���|�t|��t|i�Wd�n1s\0Y|�t|��t|ii�Wd�n1s�0Y|�t|�� td|��i�Wd�n1s�0YWd�q1s�0YqdS)N)�Inner reuser$z3[i for i in range(5) if (j := 0) for j in range(5)])�Inner unpacking reuser$z6[i for i in range(5) if (j := 0) for j, k in [(0, 1)]]�Ecomprehension inner loop cannot rebind assignment expression target 'r+r,�lambda: r.r0rrr
�Etest_named_expression_invalid_rebinding_list_comprehension_inner_loop�s�(*z`NamedExpressionInvalidTest.test_named_expression_invalid_rebinding_list_comprehension_inner_loopc
Cs�gd�}d}|D]�\}}|j|d���|�t|��t|i�Wd�n1sR0Y|�t|��t|ii�Wd�n1s�0Y|�t|�� td|��i�Wd�n1s�0YWd�q1s�0YqdS)N)	)�	Top levelz[i for i in (i := range(5))])�Inside tuplez"[i for i in (2, 3, i := range(5))])�Inside listz"[i for i in [2, 3, i := range(5)]])�Different namez[i for i in (j := range(5))])�Lambda expressionz'[i for i in (lambda:(j := range(5)))()])�
Inner loopz.[i for i in range(5) for j in (i := range(5))])�Nested comprehensionz)[i for i in [j for j in (k := range(5))]])�Nested comprehension conditionz1[i for i in [j for j in range(5) if (j := True)]])�Nested comprehension bodyz,[i for i in [(j := True) for j in range(5)]]�Kassignment expression cannot be used in a comprehension iterable expressionr,r8r.�r
r1r3r-rrrr
�Dtest_named_expression_invalid_list_comprehension_iterable_expression�s(*z_NamedExpressionInvalidTest.test_named_expression_invalid_list_comprehension_iterable_expressionz:Old parser does not support walruses in set comprehensionsc
Cs�gd�}|D]z\}}}d|�d�}|j|d��H|�t|��t|ii�Wd�n1s^0YWd�q1s|0YqdS)N))r!r"z{i := 0 for i in range(5)})r#r$z0{{(j := 0) for i in range(5)} for j in range(5)})r%r$z.{(j := 0) for i in range(5) for j in range(5)})r&r"z{i := 0 for i, j in {(0, 1)}})r'r"z#{i+1 for i in range(5) if (i := 0)})r(r"z#{False or (i:=0) for i in range(5)})r)r"z?{(i, j) for i in range(5) for j in range(5) if True or (i:=10)}r*r+r,r.r0rrr
�Ltest_named_expression_invalid_rebinding_set_comprehension_iteration_variable�s
zgNamedExpressionInvalidTest.test_named_expression_invalid_rebinding_set_comprehension_iteration_variablec
Cs�ddg}|D]�\}}}d|�d�}|j|d���|�t|��t|i�Wd�n1s\0Y|�t|��t|ii�Wd�n1s�0Y|�t|�� td|��i�Wd�n1s�0YWd�q1s�0YqdS)N)r5r$z3{i for i in range(5) if (j := 0) for j in range(5)})r6r$z6{i for i in range(5) if (j := 0) for j, k in {(0, 1)}}r7r+r,r8r.r0rrr
�Dtest_named_expression_invalid_rebinding_set_comprehension_inner_loop�s�(*z_NamedExpressionInvalidTest.test_named_expression_invalid_rebinding_set_comprehension_inner_loopc
Cs�gd�}d}|D]�\}}|j|d���|�t|��t|i�Wd�n1sR0Y|�t|��t|ii�Wd�n1s�0Y|�t|�� td|��i�Wd�n1s�0YWd�q1s�0YqdS)N)	)r:z{i for i in (i := range(5))})r;z"{i for i in (2, 3, i := range(5))})r<z"{i for i in {2, 3, i := range(5)}})r=z{i for i in (j := range(5))})r>z'{i for i in (lambda:(j := range(5)))()})r?z.{i for i in range(5) for j in (i := range(5))})r@z){i for i in {j for j in (k := range(5))}})rAz1{i for i in {j for j in range(5) if (j := True)}})rBz,{i for i in {(j := True) for j in range(5)}}rCr,r8r.rDrrr
�Ctest_named_expression_invalid_set_comprehension_iterable_expression�s(*z^NamedExpressionInvalidTest.test_named_expression_invalid_set_comprehension_iterable_expressionN)�__name__�
__module__�__qualname__rrrrrrrrrrrrrrrrr r4r9rE�unittestZskipIfrrFrGrHrrrr
rs2	
rc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!S)"�NamedExpressionAssignmentTestcCsd}|�|d�dS)N�
��assertEqual�r
�arrr
�#test_named_expression_assignment_01�szANamedExpressionAssignmentTest.test_named_expression_assignment_01cCsd}|}|�|d�dS�N�rOrQrrr
�#test_named_expression_assignment_02�szANamedExpressionAssignmentTest.test_named_expression_assignment_02cCsdd}|�|d�dS)N���rO)r
�totalrrr
�#test_named_expression_assignment_03�szANamedExpressionAssignmentTest.test_named_expression_assignment_03cCsd}|�|d�dS)N�rWrXrYrO)r
�inforrr
�#test_named_expression_assignment_04�szANamedExpressionAssignmentTest.test_named_expression_assignment_04cCsd}df|�|d�dS�NrWrXrO)r
�xrrr
�#test_named_expression_assignment_05�szANamedExpressionAssignmentTest.test_named_expression_assignment_05cCs8d}}}|�|d�|�|d�|�|d�dS)NrrO)r
r`�y�zrrr
�#test_named_expression_assignment_06szANamedExpressionAssignmentTest.test_named_expression_assignment_06cCsd}|�|d�dS)NrWrX�rWrX)rWrXrO)r
Zlocrrr
�#test_named_expression_assignment_07szANamedExpressionAssignmentTest.test_named_expression_assignment_07cCs$d}r|�|d�n
|�d�dS)N�eggs�0variable was not assigned using named expression)rP�fail�r
�spamrrr
�#test_named_expression_assignment_08szANamedExpressionAssignmentTest.test_named_expression_assignment_08cCs"d}r|�|�n
|�d�dS)NTrh)�
assertTruerirjrrr
�#test_named_expression_assignment_09szANamedExpressionAssignmentTest.test_named_expression_assignment_09cCsd}dkrn
|�d�dS)NrNrh)ri)r
�matchrrr
�#test_named_expression_assignment_10szANamedExpressionAssignmentTest.test_named_expression_assignment_10cs8dd��gd�}��fdd�|D�}|�|gd��dS)NcSs|S�Nr�rRrrr
rkszONamedExpressionAssignmentTest.test_named_expression_assignment_11.<locals>.spamr\cs*g|]"}�|��dkr|�|�f�qS�rr��.0r`�rkrbrr
�
<listcomp>�zUNamedExpressionAssignmentTest.test_named_expression_assignment_11.<locals>.<listcomp>�)rWrW��?)rXrXrz)rYrYrzrO�r
Z
input_data�resrrvr
�#test_named_expression_assignment_11szANamedExpressionAssignmentTest.test_named_expression_assignment_11csJdd����fdd�tdd�D�}|�|ddgddgd	dgd
dgg�dS)NcSs|Srqrrrrrr
rk$szONamedExpressionAssignmentTest.test_named_expression_assignment_12.<locals>.spamcs g|]}�|��|�g�qSrrrtrvrr
rw&rxzUNamedExpressionAssignmentTest.test_named_expression_assignment_12.<locals>.<listcomp>rW�rzrXrY���rangerP�r
r|rrvr
�#test_named_expression_assignment_12#szANamedExpressionAssignmentTest.test_named_expression_assignment_12cCs0tddg}�}|�|d�|�|ddg�dSr_��lenrP)r
�linesZlengthrrr
�#test_named_expression_assignment_13*szANamedExpressionAssignmentTest.test_named_expression_assignment_13cCsJd}d}d}||||d}kr:|d|||}q|�|d�dS)z�
        Where all variables are positive integers, and a is at least as large
        as the n'th root of x, this algorithm returns the floor of the n'th
        root of x (and roughly doubling the number of accurate bits per
        iteration):
        �	rXrYrWNrO)r
rR�nr`�drrr
�#test_named_expression_assignment_140szANamedExpressionAssignmentTest.test_named_expression_assignment_14cCsd}r
q|�|d�dS)NFrOrQrrr
�#test_named_expression_assignment_15@szANamedExpressionAssignmentTest.test_named_expression_assignment_15c
s@d\�����fdd�td�D�}|�|ddddd	d
d��dS)Nrecs*i|]"}���������qSrr)ru�__�rR�b�crr
�
<dictcomp>HrxzUNamedExpressionAssignmentTest.test_named_expression_assignment_16.<locals>.<dictcomp>�rXrYr~��
�)rWrXrYr~r�r�r�)r
Zfibrr�r
�#test_named_expression_assignment_16FszANamedExpressionAssignmentTest.test_named_expression_assignment_16N)rIrJrKrSrVr[r^rardrfrlrnrpr}r�r�r�r�r�rrrr
rM�s rMc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5S)6�NamedExpressionScopeTestcCs@d}|�td��t|ii�Wd�n1s20YdS)Nz!def spam():
    (a := 5)
print(a)zname 'a' is not defined)r�	NameErrorrr	rrr
�test_named_expression_scope_01Nsz7NamedExpressionScopeTest.test_named_expression_scope_01cs:d��fdd�td�D�}|�|gd��|��d�dS)Nrcsg|]}�|��qSrr)ru�v�rZrr
rwXrxzKNamedExpressionScopeTest.test_named_expression_scope_02.<locals>.<listcomp>r~�rrWrYr�rNrNr�)r
Zpartial_sumsrr�r
�test_named_expression_scope_02Vsz7NamedExpressionScopeTest.test_named_expression_scope_02cs0t�fdd�dD��}|�|�|��d�dS)Nc3s|]}|�dkVqdS)rWNr)ruZnum�ZlastNumrr
�	<genexpr>^rxzJNamedExpressionScopeTest.test_named_expression_scope_03.<locals>.<genexpr>r\rW)�anyrmrP)r
ZcontainsOnerr�r
�test_named_expression_scope_03]s
z7NamedExpressionScopeTest.test_named_expression_scope_03cs2dd����fdd�tdd�D�}|��d�dS)NcSs|Srqrrrrrr
rkdszENamedExpressionScopeTest.test_named_expression_scope_04.<locals>.spamcs g|]}�|��|�g�qSrrrtrvrr
rwfrxzKNamedExpressionScopeTest.test_named_expression_scope_04.<locals>.<listcomp>rWr~rr�r�rrvr
�test_named_expression_scope_04csz7NamedExpressionScopeTest.test_named_expression_scope_04csDdd��gd�}��fdd�|D�}|�|gd��|��d�dS)NcSs|Srqrrrrrr
rkkszENamedExpressionScopeTest.test_named_expression_scope_05.<locals>.spamr\cs*g|]"}�|��dkr|�|�f�qSrsrrtrvrr
rwnrxzKNamedExpressionScopeTest.test_named_expression_scope_05.<locals>.<listcomp>ryrYrOr{rrvr
�test_named_expression_scope_05js
z7NamedExpressionScopeTest.test_named_expression_scope_05cs>�fdd�td�D�}|�|gd�gd�g�|��d�dS)Ncs"g|]}�fdd�td�D��qS)csg|]}|��qSrr�rur"�rkrr
rwtrxzVNamedExpressionScopeTest.test_named_expression_scope_06.<locals>.<listcomp>.<listcomp>rY�r��rur$r�rr
rwtrxzKNamedExpressionScopeTest.test_named_expression_scope_06.<locals>.<listcomp>rX�rrWrXr�r�rr�r
�test_named_expression_scope_06ssz7NamedExpressionScopeTest.test_named_expression_scope_06cCs$tddg}�|�|ddg�dSr_r�)r
r�rrr
�test_named_expression_scope_07ysz7NamedExpressionScopeTest.test_named_expression_scope_07csXdd��dd������fdd�td�D�}|�|ddg�|��d�|��d	�dS)
NcSs|Srqrrrrrr
rkszENamedExpressionScopeTest.test_named_expression_scope_08.<locals>.spamcSs|dS�NrXr�r�rrr
rg�szENamedExpressionScopeTest.test_named_expression_scope_08.<locals>.eggscs g|]}��|�����qSrr�ru�h�rRr�rgrkrr
rw�rxzKNamedExpressionScopeTest.test_named_expression_scope_08.<locals>.<listcomp>rXrrWr�r�rr�r
�test_named_expression_scope_08~sz7NamedExpressionScopeTest.test_named_expression_scope_08csJdd��dd�����fdd�td�D�}|�|ddg�|��d�dS)	NcSs|Srqrrrrrr
rk�szENamedExpressionScopeTest.test_named_expression_scope_09.<locals>.spamcSs|dSr�rr�rrr
rg�szENamedExpressionScopeTest.test_named_expression_scope_09.<locals>.eggscs g|]}��|�����qSrrr��rRrgrkrr
rw�rxzKNamedExpressionScopeTest.test_named_expression_scope_09.<locals>.<listcomp>rXrr�r�rr�r
�test_named_expression_scope_09�s
z7NamedExpressionScopeTest.test_named_expression_scope_09csP��fdd�td�D�}|�|ddgddgg�|��d�|��ddg�dS)Ncs&g|]}�fdd�td�D���qS)csg|]}d��qS)rWrr�rrrr
rw�rxzVNamedExpressionScopeTest.test_named_expression_scope_10.<locals>.<listcomp>.<listcomp>rXr�r��rRr�rr
rw�rxzKNamedExpressionScopeTest.test_named_expression_scope_10.<locals>.<listcomp>rXrWr�r�rr�r
�test_named_expression_scope_10�sz7NamedExpressionScopeTest.test_named_expression_scope_10cs6�fdd�td�D�}|�|gd��|��d�dS)Ncsg|]}|��qSrrr��r$rr
rw�rxzKNamedExpressionScopeTest.test_named_expression_scope_11.<locals>.<listcomp>r~)rrWrXrYrrr�r�rr�r
�test_named_expression_scope_11�sz7NamedExpressionScopeTest.test_named_expression_scope_11cs:d��fdd�td�D�}|�|gd��|��d�dS)Nrcsg|]}|���qSrrr�r�rr
rw�rxzKNamedExpressionScopeTest.test_named_expression_scope_17.<locals>.<listcomp>r~r�rNr�r�rr�r
�test_named_expression_scope_17�sz7NamedExpressionScopeTest.test_named_expression_scope_17cCs0dd�}|d}�}|�|d�|�|d�dS)NcSs|Srqrrrrrr
rk�szENamedExpressionScopeTest.test_named_expression_scope_18.<locals>.spamrXrO�r
rkr�r|rrr
�test_named_expression_scope_18�sz7NamedExpressionScopeTest.test_named_expression_scope_18cCs0dd�}|d}�}|�|d�|�|d�dS)NcSs|Srqrrrrrr
rk�szENamedExpressionScopeTest.test_named_expression_scope_19.<locals>.spamrXrOr�rrr
�test_named_expression_scope_19�sz7NamedExpressionScopeTest.test_named_expression_scope_19cCs2dd�}|d}d�}|�|d�|�|d�dS)NcSs|Srqrrrrrr
rk�szENamedExpressionScopeTest.test_named_expression_scope_20.<locals>.spamrXrrrOr�rrr
�test_named_expression_scope_20�sz7NamedExpressionScopeTest.test_named_expression_scope_20cCs4dd�}|d}dd�}|�|d�|�|d�dS)NcSs||Srqrr�rrr
rk�szENamedExpressionScopeTest.test_named_expression_scope_21.<locals>.spamrXrWr�rYrO�r
rkr�r|rrr
�test_named_expression_scope_21�sz7NamedExpressionScopeTest.test_named_expression_scope_21cCs4dd�}|d}dd�}|�|d�|�|d�dS)NcSs||Srqrr�rrr
rk�szENamedExpressionScopeTest.test_named_expression_scope_22.<locals>.spamrXrWr�rYrOr�rrr
�test_named_expression_scope_22�sz7NamedExpressionScopeTest.test_named_expression_scope_22cCs4dd�}|d}dd�}|�|d�|�|d�dS)NcSs||Srqrr�rrr
rk�szENamedExpressionScopeTest.test_named_expression_scope_23.<locals>.spamrXrW)r�rRrYrOr�rrr
�test_named_expression_scope_23�sz7NamedExpressionScopeTest.test_named_expression_scope_23cs&d��fdd�}|�|��d�dS)NrNcsd�dSrTrrrrrr
rk�szENamedExpressionScopeTest.test_named_expression_scope_24.<locals>.spamrUrOrjrrrr
�test_named_expression_scope_24�sz7NamedExpressionScopeTest.test_named_expression_scope_24cCs(i}d}t||i�|�|dd�dS)Nz4a = 10
def spam():
    global a
    (a := 20)
spam()rRrU)rrP)r
�nsrrrr
�test_named_expression_scope_25�sz7NamedExpressionScopeTest.test_named_expression_scope_25c	Cs�d}d}d}d}dd|��fdd|�d	�fd
d|��fdd|�d	�fdd|��fd
d|�d	�fdd|��fdd|�d	�fg}|D]f\}}|j|d��Bi}t||�|�|dd�|�|dgd��Wd�q�1s�0Yq�dS)Nz/[x := i for i in range(3) if (x := i) or not x]z([x := i for i in range(3) if x or not x]z*[x for i in range(3) if (x := i) or not x]zF[j for i in range(3) if x or not x for j in range(3) if (x := i)][:-3]z
Rebind globalzx = 1; result = zRebind nonlocalzresult, x = (lambda x=1: (z, x))()z
Filter globalzFilter nonlocalzBody globalz
Body nonlocalz
Nested globalzNested nonlocalr,r`rX�resultr�)r/rrP)	r
Z	rebindingZ
filter_refZbody_refZ
nested_refr1r-rr�rrr
�6test_named_expression_variable_reuse_in_comprehensions�s&�

zONamedExpressionScopeTest.test_named_expression_variable_reuse_in_comprehensionscs:t����fdd�}z|���t��Wdanda0dS)Ncs&�fdd�td�D���t��dS)Ncsg|]}�a�qSr��
GLOBAL_VAR�ru�_��sentinelrr
rwrxzZNamedExpressionScopeTest.test_named_expression_global_scope.<locals>.f.<locals>.<listcomp>rW)r�rPr�r�r
r�rr
�fszFNamedExpressionScopeTest.test_named_expression_global_scope.<locals>.f��objectrPr��r
r�rr�r
�"test_named_expression_global_scopesz;NamedExpressionScopeTest.test_named_expression_global_scopecs*t����fdd�}|���td�dS)Ncs,d���fdd�td�D������dS)Ncsg|]}���qSrrr�)r�r�rr
rw#rxzlNamedExpressionScopeTest.test_named_expression_global_scope_no_global_keyword.<locals>.f.<locals>.<listcomp>rWr�rr�r�r
r�!szXNamedExpressionScopeTest.test_named_expression_global_scope_no_global_keyword.<locals>.fr�r�rr�r
�4test_named_expression_global_scope_no_global_keywordszMNamedExpressionScopeTest.test_named_expression_global_scope_no_global_keywordcst����fdd�}|�dS)Ncs(d���fdd�}|������dS)Ncs��fdd�td�D�dS)Ncsg|]}���qSrrr���nonlocal_varr�rr
rw.rxzgNamedExpressionScopeTest.test_named_expression_nonlocal_scope.<locals>.f.<locals>.g.<locals>.<listcomp>rWr�rr�rr
�g,szSNamedExpressionScopeTest.test_named_expression_nonlocal_scope.<locals>.f.<locals>.grO)r�r��r�r
r�*szHNamedExpressionScopeTest.test_named_expression_nonlocal_scope.<locals>.f�r�r�rr�r
�$test_named_expression_nonlocal_scope(sz=NamedExpressionScopeTest.test_named_expression_nonlocal_scopecst����fdd�}|�dS)Ncs&d}�fdd�}|���|d�dS)Ncs��fdd�td�D�dS)Ncsg|]}���qSrrr�r�rr
rw8rxz{NamedExpressionScopeTest.test_named_expression_nonlocal_scope_no_nonlocal_keyword.<locals>.f.<locals>.g.<locals>.<listcomp>rWr�rr�r�r
r�7szgNamedExpressionScopeTest.test_named_expression_nonlocal_scope_no_nonlocal_keyword.<locals>.f.<locals>.grO)r�r�r�rr
r�5sz\NamedExpressionScopeTest.test_named_expression_nonlocal_scope_no_nonlocal_keyword.<locals>.fr�r�rr�r
�8test_named_expression_nonlocal_scope_no_nonlocal_keyword3szQNamedExpressionScopeTest.test_named_expression_nonlocal_scope_no_nonlocal_keywordcsXd�gd�}��fdd�|D�}|�dt��t|�D]\}}|�|||��q6dS)NrW)rWrXrYrc3s|]}|��VqdSrqrr��rRr�rr
r�@rxzQNamedExpressionScopeTest.test_named_expression_scope_in_genexp.<locals>.<genexpr>r�)ZassertNotIn�locals�	enumeraterP)r
r�Zgenexp�idx�elemrr�r
�%test_named_expression_scope_in_genexp=sz>NamedExpressionScopeTest.test_named_expression_scope_in_genexpN)rIrJrKr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr
r�Ls4	
							
	
r��__main__)
rLZtest.supportrr�ZTestCaserrMr�rI�mainrrrr
�<module>s_h|