HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/test/__pycache__/test_named_expressions.cpython-310.opt-1.pyc
o

�i{R�@sZddlZdaGdd�dej�ZGdd�dej�ZGdd�dej�Zedkr+e��dSdS)	�Nc@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/S)0�NamedExpressionInvalidTestcC�Bd}|�td��t|ii�Wd�dS1swYdS)Nzx := 0�invalid syntax��assertRaisesRegex�SyntaxError�exec��self�code�r�8/usr/local/lib/python3.10/test/test_named_expressions.py� test_named_expression_invalid_01�"�z;NamedExpressionInvalidTest.test_named_expression_invalid_01cCr)Nz
x = y := 0rrr	rrr
� test_named_expression_invalid_02
rz;NamedExpressionInvalidTest.test_named_expression_invalid_02cCr)Nz	y := f(x)rrr	rrr
� test_named_expression_invalid_03rz;NamedExpressionInvalidTest.test_named_expression_invalid_03cCr)Nzy0 = y1 := f(x)rrr	rrr
� test_named_expression_invalid_04rz;NamedExpressionInvalidTest.test_named_expression_invalid_04cCr)Nz((a, b) := (1, 2))z,cannot use assignment expressions with tuplerr	rrr
� test_named_expression_invalid_06rz;NamedExpressionInvalidTest.test_named_expression_invalid_06cCr)Nzdef spam(a = b := 42): passrrr	rrr
� test_named_expression_invalid_07%rz;NamedExpressionInvalidTest.test_named_expression_invalid_07cCr)Nzdef spam(a: b := 42 = 5): passrrr	rrr
� test_named_expression_invalid_08+rz;NamedExpressionInvalidTest.test_named_expression_invalid_08cCr)Nzspam(a=b := 'c')rrr	rrr
� test_named_expression_invalid_091rz;NamedExpressionInvalidTest.test_named_expression_invalid_09cCr)Nzspam(x = y := f(x))rrr	rrr
� test_named_expression_invalid_107rz;NamedExpressionInvalidTest.test_named_expression_invalid_10cCr)Nzspam(a=1, b := 2)�,positional argument follows keyword argumentrr	rrr
� test_named_expression_invalid_11=��"�z;NamedExpressionInvalidTest.test_named_expression_invalid_11cCr�Nzspam(a=1, (b := 2))rrr	rrr
� test_named_expression_invalid_12Drz;NamedExpressionInvalidTest.test_named_expression_invalid_12cCrrrr	rrr
� test_named_expression_invalid_13Krz;NamedExpressionInvalidTest.test_named_expression_invalid_13cCr)Nz(x := lambda: y := 1)rrr	rrr
� test_named_expression_invalid_14Rrz;NamedExpressionInvalidTest.test_named_expression_invalid_14cCr)Nz(lambda: x := 1)z-cannot use assignment expressions with lambdarr	rrr
� test_named_expression_invalid_15Xrz;NamedExpressionInvalidTest.test_named_expression_invalid_15cCr)Nz + 1 for i in i := [1,2]]rrr	rrr
� test_named_expression_invalid_16_rz;NamedExpressionInvalidTest.test_named_expression_invalid_16cCr)Nz-[i := 0, j := 1 for i, j in [(1, 2), (3, 4)]]z;did you forget parentheses around the comprehension target?rr	rrr
� test_named_expression_invalid_17erz;NamedExpressionInvalidTest.test_named_expression_invalid_17cCr)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
C�gd�}|D]=\}}}d|�d�}|j|d��$|�t|��t|ii�Wd�n1s/wYWd�n1s>wYqdS)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
�casesr0�targetr�msgrrr
�Mtest_named_expression_invalid_rebinding_list_comprehension_iteration_variableu�
�����zhNamedExpressionInvalidTest.test_named_expression_invalid_rebinding_list_comprehension_iteration_variablec
C�ddg}|D]v\}}}d|�d�}|j|d��]|�t|��
t|i�Wd�n1s.wY|�t|��t|ii�Wd�n1sJwY|�t|��td|��i�Wd�n1shwYWd�n1swwYqdS)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: r1r3rrr
�Etest_named_expression_invalid_rebinding_list_comprehension_inner_loop��&��������z`NamedExpressionInvalidTest.test_named_expression_invalid_rebinding_list_comprehension_inner_loopc
C��gd�}d}|D]o\}}|j|d��]|�t|��
t|i�Wd�n1s)wY|�t|��t|ii�Wd�n1sEwY|�t|��td|��i�Wd�n1scwYWd�n1srwYqdS)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/r=r1�r
r4r6r0rrrr
�Dtest_named_expression_invalid_list_comprehension_iterable_expression��"�������z_NamedExpressionInvalidTest.test_named_expression_invalid_list_comprehension_iterable_expressionc
Cr#)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/r1r3rrr
�Ltest_named_expression_invalid_rebinding_set_comprehension_iteration_variable�r8zgNamedExpressionInvalidTest.test_named_expression_invalid_rebinding_set_comprehension_iteration_variablec
Cr9)N)r:r'z3{i for i in range(5) if (j := 0) for j in range(5)})r;r'z6{i for i in range(5) if (j := 0) for j, k in {(0, 1)}}r<r.r/r=r1r3rrr
�Dtest_named_expression_invalid_rebinding_set_comprehension_inner_loop�r?z_NamedExpressionInvalidTest.test_named_expression_invalid_rebinding_set_comprehension_inner_loopc
Cr@)N)	)rAz{i for i in (i := range(5))})rBz"{i for i in (2, 3, i := range(5))})rCz"{i for i in {2, 3, i := range(5)}})rDz{i for i in (j := range(5))})rEz'{i for i in (lambda:(j := range(5)))()})rFz.{i for i in range(5) for j in (i := range(5))})rGz){i for i in {j for j in (k := range(5))}})rHz1{i for i in {j for j in range(5) if (j := True)}})rIz,{i for i in {(j := True) for j in range(5)}}rJr/r=r1rKrrr
�Ctest_named_expression_invalid_set_comprehension_iterable_expression�rMz^NamedExpressionInvalidTest.test_named_expression_invalid_set_comprehension_iterable_expressionN)�__name__�
__module__�__qualname__rrrrrrrrrrrrrrr r!r"r7r>rLrNrOrPrrrr
rs0	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!d"�Zd#d$�Zd%S)&�NamedExpressionAssignmentTestcC�d}|�|d�dS)N�
��assertEqual�r
�arrr
�#test_named_expression_assignment_01��zANamedExpressionAssignmentTest.test_named_expression_assignment_01cCsd}|}|�|d�dS�N�rWrYrrr
�#test_named_expression_assignment_02�szANamedExpressionAssignmentTest.test_named_expression_assignment_02cCrU)N�rW)r
�totalrrr
�#test_named_expression_assignment_03�r\zANamedExpressionAssignmentTest.test_named_expression_assignment_03cCrU)N���r`rW)r
�inforrr
�#test_named_expression_assignment_04�r\zANamedExpressionAssignmentTest.test_named_expression_assignment_04cCsd}df|�|d�dS�NrdrerW)r
�xrrr
�#test_named_expression_assignment_05�szANamedExpressionAssignmentTest.test_named_expression_assignment_05cCs8d}}}|�|d�|�|d�|�|d�dS)NrrW)r
ri�y�zrrr
�#test_named_expression_assignment_06�szANamedExpressionAssignmentTest.test_named_expression_assignment_06cCrU)N�rdrerW)r
�locrrr
�#test_named_expression_assignment_07r\zANamedExpressionAssignmentTest.test_named_expression_assignment_07cCs&d}r|�|d�dS|�d�dS)N�eggs�0variable was not assigned using named expression)rX�fail�r
�spamrrr
�#test_named_expression_assignment_08
szANamedExpressionAssignmentTest.test_named_expression_assignment_08cCs$d}r|�|�dS|�d�dS)NTrr)�
assertTruersrtrrr
�#test_named_expression_assignment_09szANamedExpressionAssignmentTest.test_named_expression_assignment_09cCsd}dkrdS|�d�dS)NrVrr)rs)r
�matchrrr
�#test_named_expression_assignment_10szANamedExpressionAssignmentTest.test_named_expression_assignment_10cs8dd��gd�}��fdd�|D�}|�|gd��dS)NcS�|S�Nr�rZrrr
ru�zONamedExpressionAssignmentTest.test_named_expression_assignment_11.<locals>.spamrcc�*g|]}�|��dkr|�|�f�qS�rr��.0ri�rurkrr
�
<listcomp>�*zUNamedExpressionAssignmentTest.test_named_expression_assignment_11.<locals>.<listcomp>�)rdrd��?)rerer�)r`r`r�rW�r
Z
input_data�resrr�r
�#test_named_expression_assignment_11szANamedExpressionAssignmentTest.test_named_expression_assignment_11csJdd����fdd�tdd�D�}|�|ddgddgd	dgd
dgg�dS)NcSr{r|rr}rrr
ru"r~zONamedExpressionAssignmentTest.test_named_expression_assignment_12.<locals>.spamc� g|]}�|��|�g�qSrrr�r�rr
r�$� zUNamedExpressionAssignmentTest.test_named_expression_assignment_12.<locals>.<listcomp>rd�r�rer`���rangerX�r
r�rr�r
�#test_named_expression_assignment_12!s(zANamedExpressionAssignmentTest.test_named_expression_assignment_12cCs0tddg}�}|�|d�|�|ddg�dSrh��lenrX)r
�lines�lengthrrr
�#test_named_expression_assignment_13(szANamedExpressionAssignmentTest.test_named_expression_assignment_13cCs`d}d}d}||||d}kr(|d|||}||||d}ks|�|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):
        �	rer`rdNrW)r
rZ�nri�drrr
�#test_named_expression_assignment_14.s�zANamedExpressionAssignmentTest.test_named_expression_assignment_14cCs"d}r		d}s|�|d�dS)NFrWrYrrr
�#test_named_expression_assignment_15>s�zANamedExpressionAssignmentTest.test_named_expression_assignment_15c
s@d\�����fdd�td�D�}|�|ddddd	d
d��dS)Nrncs*i|]}���������qSrr)r��__�rZ�b�crr
�
<dictcomp>Fr�zUNamedExpressionAssignmentTest.test_named_expression_assignment_16.<locals>.<dictcomp>�rer`r���
�)rdrer`r�r�r�r�)r
Zfibrr�r
�#test_named_expression_assignment_16DszANamedExpressionAssignmentTest.test_named_expression_assignment_16cCs2dg}|d}}|�|d�|�||d�dS)NrdrrW)r
rZr��elementrrr
�#test_named_expression_assignment_17IszANamedExpressionAssignmentTest.test_named_expression_assignment_17cCsdGdd�d�}|dgdgg�}|d}d}f}|�|d�|�|d�|�||j||�dS)Nc@seZdZdd�Zdd�ZdS)z]NamedExpressionAssignmentTest.test_named_expression_assignment_18.<locals>.TwoDimensionalListcSs
||_dSr|��two_dimensional_list)r
r�rrr
�__init__Qs
zfNamedExpressionAssignmentTest.test_named_expression_assignment_18.<locals>.TwoDimensionalList.__init__cSs|j|d|dS)Nrrdr�)r
�indexrrr
�__getitem__TsziNamedExpressionAssignmentTest.test_named_expression_assignment_18.<locals>.TwoDimensionalList.__getitem__N)rQrRrSr�r�rrrr
�TwoDimensionalListPsr�rdrer)rXr�)r
r�rZr�r�r�rrr
�#test_named_expression_assignment_18OszANamedExpressionAssignmentTest.test_named_expression_assignment_18N)rQrRrSr[r_rbrgrjrmrprvrxrzr�r�r�r�r�r�r�r�rrrr
rT�s&rTc@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�NamedExpressionScopeTestcCr)Nz!def spam():
    (a := 5)
print(a)zname 'a' is not defined)r�	NameErrorrr	rrr
�test_named_expression_scope_01as"�z7NamedExpressionScopeTest.test_named_expression_scope_01c�:d��fdd�td�D�}|�|gd��|��d�dS)Nrcsg|]}�|��qSrr)r��v�rarr
r�k�zKNamedExpressionScopeTest.test_named_expression_scope_02.<locals>.<listcomp>r��rrdr`r�rVrVr�)r
Zpartial_sumsrr�r
�test_named_expression_scope_02i�z7NamedExpressionScopeTest.test_named_expression_scope_02cs0t�fdd�dD��}|�|�|��d�dS)Nc3s�|]	}|�dkVqdS)rdNr)r��num�ZlastNumrr
�	<genexpr>q��zJNamedExpressionScopeTest.test_named_expression_scope_03.<locals>.<genexpr>rcrd)�anyrwrX)r
ZcontainsOnerr�r
�test_named_expression_scope_03ps
z7NamedExpressionScopeTest.test_named_expression_scope_03cs2dd����fdd�tdd�D�}|��d�dS)NcSr{r|rr}rrr
ruwr~zENamedExpressionScopeTest.test_named_expression_scope_04.<locals>.spamcr�rrr�r�rr
r�yr�zKNamedExpressionScopeTest.test_named_expression_scope_04.<locals>.<listcomp>rdr�r�r�r�rr�r
�test_named_expression_scope_04vsz7NamedExpressionScopeTest.test_named_expression_scope_04csDdd��gd�}��fdd�|D�}|�|gd��|��d�dS)NcSr{r|rr}rrr
ru~r~zENamedExpressionScopeTest.test_named_expression_scope_05.<locals>.spamrccrr�rr�r�rr
r��r�zKNamedExpressionScopeTest.test_named_expression_scope_05.<locals>.<listcomp>r�r`rWr�rr�r
�test_named_expression_scope_05}s
z7NamedExpressionScopeTest.test_named_expression_scope_05cs>�fdd�td�D�}|�|gd�gd�g�|��d�dS)Ncs"g|]
}�fdd�td�D��qS)c�g|]}|��qSrr�r�r%�rurr
r���zVNamedExpressionScopeTest.test_named_expression_scope_06.<locals>.<listcomp>.<listcomp>r`�r��r�r'r�rr
r��s"zKNamedExpressionScopeTest.test_named_expression_scope_06.<locals>.<listcomp>re�rrdrer�r�rr�r
�test_named_expression_scope_06�sz7NamedExpressionScopeTest.test_named_expression_scope_06cCs$tddg}�|�|ddg�dSrhr�)r
r�rrr
�test_named_expression_scope_07�sz7NamedExpressionScopeTest.test_named_expression_scope_07csXdd��dd������fdd�td�D�}|�|ddg�|��d�|��d	�dS)
NcSr{r|rr}rrr
ru�r~zENamedExpressionScopeTest.test_named_expression_scope_08.<locals>.spamcS�|dS�Nrer�r�rrr
rq��zENamedExpressionScopeTest.test_named_expression_scope_08.<locals>.eggscs g|]}��|�����qSrr�r��h�rZr�rqrurr
r��r�zKNamedExpressionScopeTest.test_named_expression_scope_08.<locals>.<listcomp>rerrdr�r�rr�r
�test_named_expression_scope_08�sz7NamedExpressionScopeTest.test_named_expression_scope_08csJdd��dd�����fdd�td�D�}|�|ddg�|��d�dS)	NcSr{r|rr}rrr
ru�r~zENamedExpressionScopeTest.test_named_expression_scope_09.<locals>.spamcSr�r�rr�rrr
rq�r�zENamedExpressionScopeTest.test_named_expression_scope_09.<locals>.eggscs g|]}��|�����qSrrr��rZrqrurr
r��r�zKNamedExpressionScopeTest.test_named_expression_scope_09.<locals>.<listcomp>rerr�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)rdrr�r}rr
r��r�zVNamedExpressionScopeTest.test_named_expression_scope_10.<locals>.<listcomp>.<listcomp>rer�r��rZr�rr
r��s&zKNamedExpressionScopeTest.test_named_expression_scope_10.<locals>.<listcomp>rerdr�r�rr�r
�test_named_expression_scope_10�sz7NamedExpressionScopeTest.test_named_expression_scope_10cs6�fdd�td�D�}|�|gd��|��d�dS)Ncr�rrr��r'rr
r��r�zKNamedExpressionScopeTest.test_named_expression_scope_11.<locals>.<listcomp>r�)rrdrer`r�r�r�r�rr�r
�test_named_expression_scope_11�sz7NamedExpressionScopeTest.test_named_expression_scope_11cr�)Nrcsg|]}|���qSrrr�r�rr
r��r�zKNamedExpressionScopeTest.test_named_expression_scope_17.<locals>.<listcomp>r�r�rVr�r�rr�r
�test_named_expression_scope_17�r�z7NamedExpressionScopeTest.test_named_expression_scope_17cC�0dd�}|d}�}|�|d�|�|d�dS)NcSr{r|rr}rrr
ru�r~zENamedExpressionScopeTest.test_named_expression_scope_18.<locals>.spamrerW�r
rur�r�rrr
�test_named_expression_scope_18��z7NamedExpressionScopeTest.test_named_expression_scope_18cCr�)NcSr{r|rr}rrr
ru�r~zENamedExpressionScopeTest.test_named_expression_scope_19.<locals>.spamrerWr�rrr
�test_named_expression_scope_19�r�z7NamedExpressionScopeTest.test_named_expression_scope_19cCs2dd�}|d}d�}|�|d�|�|d�dS)NcSr{r|rr}rrr
ru�r~zENamedExpressionScopeTest.test_named_expression_scope_20.<locals>.spamrer}rWr�rrr
�test_named_expression_scope_20�sz7NamedExpressionScopeTest.test_named_expression_scope_20cC�4dd�}|d}dd�}|�|d�|�|d�dS)NcS�||Sr|rr�rrr
ru�r�zENamedExpressionScopeTest.test_named_expression_scope_21.<locals>.spamrerdr�r`rW�r
rur�r�rrr
�test_named_expression_scope_21��z7NamedExpressionScopeTest.test_named_expression_scope_21cCr�)NcSr�r|rr�rrr
ru�r�zENamedExpressionScopeTest.test_named_expression_scope_22.<locals>.spamrerdr�r`rWr�rrr
�test_named_expression_scope_22�r�z7NamedExpressionScopeTest.test_named_expression_scope_22cCr�)NcSr�r|rr�rrr
ru�r�zENamedExpressionScopeTest.test_named_expression_scope_23.<locals>.spamrerd)r�rZr`rWr�rrr
�test_named_expression_scope_23�r�z7NamedExpressionScopeTest.test_named_expression_scope_23cs&d��fdd�}|�|��d�dS)NrVcsd�dSr]rrr}rr
ru�szENamedExpressionScopeTest.test_named_expression_scope_24.<locals>.spamr^rWrtrr}r
�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()rZr^)rrX)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]3\}}|j|d��!i}t||�|�|dd�|�|dgd��Wd�n1snwYq@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/rire�resultr�)r2rrX)	r
Z	rebindingZ
filter_refZbody_refZ
nested_refr4r0rr�rrr
�6test_named_expression_variable_reuse_in_comprehensions	s,�

���zONamedExpressionScopeTest.test_named_expression_variable_reuse_in_comprehensionscs8t����fdd�}z|���t��WdadSdaw)Ncs&�fdd�td�D���t��dS)Ncsg|]}�a�qSr��
GLOBAL_VAR�r��_��sentinelrr
r�*r�zZNamedExpressionScopeTest.test_named_expression_global_scope.<locals>.f.<locals>.<listcomp>rd)r�rXr�r�r
r�rr
�f(szFNamedExpressionScopeTest.test_named_expression_global_scope.<locals>.f��objectrXr��r
r�rr�r
�"test_named_expression_global_scope%sz;NamedExpressionScopeTest.test_named_expression_global_scopecs*t����fdd�}|���td�dS)Ncs,d���fdd�td�D������dS)Nc�g|]}���qSrrr�)r�r�rr
r�6r�zlNamedExpressionScopeTest.test_named_expression_global_scope_no_global_keyword.<locals>.f.<locals>.<listcomp>rdr�rr�r�r
r�4szXNamedExpressionScopeTest.test_named_expression_global_scope_no_global_keyword.<locals>.fr�r�rr�r
�4test_named_expression_global_scope_no_global_keyword2szMNamedExpressionScopeTest.test_named_expression_global_scope_no_global_keywordc�t����fdd�}|�dS)Ncs(d���fdd�}|������dS)Nc���fdd�td�D�dS)Ncr�rrr���nonlocal_varr�rr
r�Ar�zgNamedExpressionScopeTest.test_named_expression_nonlocal_scope.<locals>.f.<locals>.g.<locals>.<listcomp>rdr�rr�rr
�g?szSNamedExpressionScopeTest.test_named_expression_nonlocal_scope.<locals>.f.<locals>.grW)r�r��r�r
r�=szHNamedExpressionScopeTest.test_named_expression_nonlocal_scope.<locals>.f�r�r�rr�r
�$test_named_expression_nonlocal_scope;s
z=NamedExpressionScopeTest.test_named_expression_nonlocal_scopecr�)Ncs&d}�fdd�}|���|d�dS)Ncr�)Ncr�rrr�r�rr
r�Kr�z{NamedExpressionScopeTest.test_named_expression_nonlocal_scope_no_nonlocal_keyword.<locals>.f.<locals>.g.<locals>.<listcomp>rdr�rr�r�r
r�JszgNamedExpressionScopeTest.test_named_expression_nonlocal_scope_no_nonlocal_keyword.<locals>.f.<locals>.grW)r�r�r�rr
r�Hsz\NamedExpressionScopeTest.test_named_expression_nonlocal_scope_no_nonlocal_keyword.<locals>.frr�rr�r
�8test_named_expression_nonlocal_scope_no_nonlocal_keywordFs
zQNamedExpressionScopeTest.test_named_expression_nonlocal_scope_no_nonlocal_keywordcsXd�gd�}��fdd�|D�}|�dt��t|�D]\}}|�|||��qdS)Nrd)rdrer`r�c3s�|]	}|��VqdSr|rr��rZr�rr
r�Sr�zQNamedExpressionScopeTest.test_named_expression_scope_in_genexp.<locals>.<genexpr>r�)ZassertNotIn�locals�	enumeraterX)r
r�Zgenexp�idx�elemrrr
�%test_named_expression_scope_in_genexpPs�z>NamedExpressionScopeTest.test_named_expression_scope_in_genexpN)rQrRrSr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrr
r�_s6	
							
	
r��__main__)Zunittestr�ZTestCaserrTr�rQ�mainrrrr
�<module>s^}|�