
    ڏDj                         d Z ddlZddlZddlmZ ddlmZ ddlmZ g dZ	g d	Z
g d
Z G d de      Zedk(  rddlZ ej                          yy)z+
Uses TreeFragment to test invalid syntax.
    N   )
CythonTest   )	ExprNodes)CompileError)0_0_04_21_0000_00000b1001_01000xffff_ffff0o5_7_7z	1_00_00.5
1_00_00.5jz1_00_00.5e51_00_00j1_00_00e5_11e1_0z.1_4z.1_4e10b_00x_f0o_5r   r   1_00_00e5_1jz.1_4jz(1_2.5+3_3j)z(.5_6j))/0_42_z1.4j_0x_0b1_0xf_0o5_z0 if 1_Else 10_b00_xf0_o50_709_99	4_______2z0.1__4z0.1__4j0b1001__01000xffff__ffff0x___0o5__771e1__01e1__0jz1_.4z1_.4jz1._4z1._4jz._5z._5jz1.0e+_1z1.0e+_1jz1.4_jz1.4e5_j1_e1z1.4_e1z1.4_e1j1e_1z1.4e_1z1.4e_1jz
(1+1.5_j_)z	(1+1.5_j)z1_ 2z1 _2z1_2.2_ 1z1_2.2 _1z1_2e _1z1_2e2 _1z1_2e 2_1)
)z. . .r   r   )z. ..r   r   )z.. .r   r   )z. ...r   r   )z. ... .r   r   )z.. ... .r   r   )z. ... ..r   r   )z&
    (
        .
        ..
    )
    r      )z4
    [
        ..
        .,
        None
    ]
    r   r*   )z>
    {
        None,
        .
        .

        .
    }
    r*   r*   c                       e Zd Zd Zd Zd Zy)TestGrammarc           	      :   t         D ]/  }dD ](  }d||z  z   }	 | j                  d|z          J d|z          1 y # t        $ rW}|t        |      j	                         D cg c]  }|j                          nc c}w c}v sJ t        |             Y d }~d }~ww xY w)Nz%sz1 + %sz%s + 1z2 * %sz%s * 2x = C                    # cython: language_level=3
                    5Invalid Cython code '%s' failed to raise an exception)INVALID_UNDERSCORE_LITERALSfragmentr   str
splitlinesstrip)selfliteral
expressioncodeexcss         eC:\Crop_Prediction\Backend\crop-ai-system\venv\Lib\site-packages\Cython/Compiler/Tests/TestGrammar.pytest_invalid_number_literalsz(TestGrammar.test_invalid_number_literals   s    2 
	aGL 	a

W 44aMM ##   a"Y\`"``	a
	a $ Xs3x7J7J7L#M!AGGI#M#MMWsSVxWMXs!   :	BBA76BBc                 t   t         D ].  }t        g d      D ]  \  }}d||z  z   }| j                  d|z         j                  }|J |j                  d   j
                  }|dkD  r|dz  r|j                  n|j                  }d|v sd|v rLd|v r$t        |t        j                        rJ ||f       t        |t        j                        rJ ||f       d	|v sd
|v sd|v r,d|v s(d|v s$t        |t        j                        rJ ||f       t        |t        j                        rJ ||f        1 y )Nr.   r/   r0   r   r   jJ+.eE0x0X)VALID_UNDERSCORE_LITERALS	enumerater3   rootstatsrhsoperand2operand1
isinstancer   AddNodeImagNode	FloatNodeIntNode)r7   r8   ir9   r:   nodeliteral_nodes          r=   test_valid_number_literalsz&TestGrammar.test_valid_number_literals   sO   0 	`G!*+Y!Z `:
W 44}} &&   $  ''#zz!}00q5<=E<#8#8|G\G\L'>SG^g~),	8I8IJcWVbLcc),	8J8JKdgWcMddG^sg~QUY`Q`dhlsds%lI4G4GHa7T`Jaa%lI4E4EF_R^H__)`	`    c                 z   d}t         D ]8  \  }}}	 t        j                  t        j                  |             J d|z          y # t
        $ r
}Y d }~nd }~ww xY w	 | j                  d|z          J d|z         # t        $ r7}|j                  ||      t        |      v sJ t        |             Y d }~d }~ww xY w)Nz+:{0}:{1}: Expected an identifier or literalz5Invalid Python code '%s' failed to raise an exceptionz;                # cython: language_level=3
                r1   )
INVALID_ELLIPSISastparsetextwrapdedentSyntaxErrorr3   r   formatr4   )r7   ERRr:   linecolr;   s         r=   test_invalid_ellipsisz!TestGrammar.test_invalid_ellipsis   s    ;/ 	]OD$]		(//$/0 ]UX\\\	]  
]   ]UX\\\   Czz$,C8B#c(B8Cs)   (A	AAA::	B:-B55B:N)__name__
__module____qualname__r>   rW   rd    rX   r=   r,   r,      s    a`0]rX   r,   __main__)__doc__r[   r]   	TestUtilsr    r   Errorsr   rH   r2   rZ   r,   re   unittestmainrh   rX   r=   <module>rp      sa   
   #  ! 6= @ B8]* 8]v zHMMO rX   