o
    DDi                     @   s\   d dl mZmZ d dlZd dlmZ d dlmZ d dlm	Z	 d dl
mZ G dd deZdS )	    )CallableOptionalN)parse_expression)CSTNodeTest)	CodeRange)data_providerc                   @   s  e Zd Zeeddefeje edddee	ddfeje
 fe ede fddee	dd	feje
 fe ejde
 fe fd
e fddee	ddfeje eje eddddee	dd	fejde
 e
 fe e fd
dee	dd	feje
 fe ejde
 e
 fe e fd
e fddee	ddff	d&dejdedeeegejf  dee	 ddf
ddZedd dfdd dfdd dfdd dfd d dfd!d dffd"eg ejf d#eddfd$d%ZdS )'
NumberTest5)operator
expressionz-5)   r   )r      )lparr
   r   rparz(-5))r   r   )r      )r   r   z(-(5)))r      z--5z((5))z(+((5))))r      Nnodecodeparserpositionreturnc                 C   s   | j ||||d d S )N)expected_position)validate_node)selfr   r   r   r    r   X/var/www/Datamplify/venv/lib/python3.10/site-packages/libcst/_nodes/tests/test_number.py
test_valid   s   RzNumberTest.test_validc                   C      t jdt  fdS )Nr	   r   )cstInteger	LeftParenr   r   r   r   <lambda>g       zNumberTest.<lambda>zleft paren without right parenc                   C   r   )Nr	   r   )r    r!   
RightParenr   r   r   r   r#   k   r$   zright paren without left parenc                   C   r   )N5.5r   )r    Floatr"   r   r   r   r   r#   o   r$   c                   C   r   )Nr'   r%   )r    r(   r&   r   r   r   r   r#   s   r$   c                   C   r   )N5ir   )r    	Imaginaryr"   r   r   r   r   r#   w   r$   c                   C   r   )Nr)   r%   )r    r*   r&   r   r   r   r   r#   {   r$   get_nodeexpected_rec                 C   s   |  || d S N)assert_invalid)r   r+   r,   r   r   r   test_invalidd   s   zNumberTest.test_invalidr-   )__name__
__module____qualname__r   r    r!   r   UnaryOperationMinusr   r"   r&   PlusCSTNodestrr   r   r   r/   r   r   r   r   r      s    
P	r   )typingr   r   libcstr    r   libcst._nodes.tests.baser   libcst.metadatar   libcst.testing.utilsr   r   r   r   r   r   <module>   s   