o
    DDi                     @   sh   d dl mZ d dlZd dlmZ d dlmZ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 )
    )AnyN)parse_expression)CSTNodeTestparse_expression_as)	is_native)	CodeRange)data_providerc                   @   sR  e Zd Zeeg deedddeee	de	dgdeedddee
e	d	gd
eedddeee	de	dee	de	dgddedddejee	de	dgejeddejeddddeedddejee	de	dge ge gddeedddee
e	de
e	dgd dedd!deeje	de	de d"gd#eedddeej
e	d	e d"gd$eedd%deeje	de	dededd&gd'eedd(deeje	de	de d"ej
e	d	ed)d*gd+eedd,dee	d-eje	d.eee	de	dgeje	d/ed0dged0d1ed2d3gd4ed5dfd6d7Zed8d9 d:d;gd4ed5dfd<d=Zed>ed?d@dAdBd>edCd@dDdBfd4ed5dfdEdFZdS )GDictTestz{})   r   )r
      )nodecodeparserexpected_positionkvz{k: v})r
      expandedz{**expanded})r
      k1v1k2v2z{k1: v1, k2: v2}N)r
      	)whitespace_afterz		)whitespace_before)lbracerbracez	{	k: v		})r
   	   )lparrparz({k: v}))r
   r
   )r
      onetwoz{**one, **two})r
      )commaz{k: v,}z{**expanded,})r
      )whitespace_before_colonwhitespace_after_colonz{k	:		v})r
      z  )whitespace_before_valuez{k: v,**  expanded})r
      abc )ifswhitespace_after_inz(a for b in{k: v}if c))r   r   r   kwargsreturnc                 K      | j di | d S N )validate_nodeselfr3   r7   r7   V/var/www/Datamplify/venv/lib/python3.10/site-packages/libcst/_nodes/tests/test_dict.py
test_valid   s    zDictTest.test_validc                   C   s   t jg t  gdS )N)r    )cstDict	LeftParenr7   r7   r7   r;   <lambda>   s    zDictTest.<lambda>zleft paren without right paren)get_nodeexpected_rec                 K   r5   r6   )assert_invalidr9   r7   r7   r;   test_invalid   s   
zDictTest.test_invalidz{**{}}z3.5)python_versionT)r   r   expect_successz3.3Fc                 K   s0   t  r|dds| d | jdi | d S )NrF   Tz+parse errors are disabled for native parserr7   )r   getskipTestassert_parsesr9   r7   r7   r;   test_versions   s   
zDictTest.test_versions)__name__
__module____qualname__r   r=   r>   r   r   DictElementNameStarredDictElementLeftCurlyBraceSimpleWhitespaceRightCurlyBracer?   
RightParenCommaGeneratorExpCompForCompIfr   r<   rD   r   rJ   r7   r7   r7   r;   r	      s   	 


 	r	   )typingr   libcstr=   r   libcst._nodes.tests.baser   r   libcst._parser.entrypointsr   libcst.metadatar   libcst.testing.utilsr   r	   r7   r7   r7   r;   <module>   s   