o
    DDi                     @   s\   d dl mZ d dlmZmZ d dlZd dlmZm	Z	m
Z
 d dlmZmZ G dd deZdS )    )literal_eval)OptionalUnionN)ensure_typeget_full_name_for_nodeget_full_name_for_node_or_raise)data_providerUnitTestc                   @   s   e Zd Zededdfeddfeddfeddfeddfed	d
fee	edej
dfeddff	deeejf dee ddfddZdddZdddZdddZdddZdddZdS )ExpressionTest)a stringr   a_nameza.b.cza.b()za.bza.b.c[i]zdef fun():  passfunzclass cls:  passclsza.b.c.dz(a.b()).c()Ninputoutputreturnc                 C   sd   |  t|| |d u r(| t t| W d    d S 1 s!w   Y  d S |  t|| d S )N)assertEqualr   assertRaises	Exceptionr   )selfr   r    r   ]/var/www/Datamplify/venv/lib/python3.10/site-packages/libcst/helpers/tests/test_expression.py!test_get_full_name_for_expression   s   
"z0ExpressionTest.test_get_full_name_for_expressionc                 C   :   d}t t|tj}| |j| | |jt| d S )Nz"a string.")r   cstparse_expressionSimpleStringr   valueevaluated_valuer   )r   
raw_stringnoder   r   r   !test_simplestring_evaluated_value1      z0ExpressionTest.test_simplestring_evaluated_valuec                 C   r   )N5)r   r   r   Integerr   r   r   r   r   	raw_valuer    r   r   r   test_integer_evaluated_value7   r"   z+ExpressionTest.test_integer_evaluated_valuec                 C   r   )Nz5.5)r   r   r   Floatr   r   r   r   r%   r   r   r   test_float_evaluated_value=   r"   z)ExpressionTest.test_float_evaluated_valuec                 C   r   )N5j)r   r   r   	Imaginaryr   r   r   r   r%   r   r   r   test_complex_evaluated_valueC   r"   z+ExpressionTest.test_complex_evaluated_valuec                 C   s   d}t t|tj}| |jd d}t t|tj}| |jd d}t t|tj}| |jd  d}t t|tj}| |jd  d S )Nz,"This " "is " "a " "concatenated " "string."zThis is a concatenated string.zb"A concatenated" b" byte."s   A concatenated byte.z"var=" f" {var}"z"var" "=" f" {var}")r   r   r   ConcatenatedStringr   r   )r   coder    r   r   r   (test_concatenated_string_evaluated_valueI   s   z7ExpressionTest.test_concatenated_string_evaluated_value)r   N)__name__
__module____qualname__r   r   Namer   parse_statement	Decoratorr   	Attributer   strCSTNoder   r   r!   r'   r)   r,   r/   r   r   r   r   r
      s:    



r
   )astr   typingr   r   libcstr   libcst.helpersr   r   r   libcst.testing.utilsr   r	   r
   r   r   r   r   <module>   s   