o
    DDi                     @   sH   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d deZ	dS )    N)matches)UnitTestc                   @   s`  e Zd ZdGddZdGddZdGddZdGd	d
ZdGddZdGddZdGddZ	dGddZ
dGddZdGddZdGddZdGddZdGddZdGddZdGdd ZdGd!d"ZdGd#d$ZdGd%d&ZdGd'd(ZdGd)d*ZdGd+d,ZdGd-d.ZdGd/d0ZdGd1d2ZdGd3d4ZdGd5d6ZdGd7d8ZdGd9d:ZdGd;d<ZdGd=d>Z dGd?d@Z!dGdAdBZ"dGdCdDZ#dGdEdFZ$dS )HMatchersMatcherTestreturnNc                 C   s    |  ttdtd d S )Nfoo)
assertTruer   cstNamemself r   \/var/www/Datamplify/venv/lib/python3.10/site-packages/libcst/matchers/tests/test_matchers.pytest_simple_matcher_true       z,MatchersMatcherTest.test_simple_matcher_truec                 C   s    |  ttdtd d S )Nr   barassertFalser   r   r	   r
   r   r   r   r   test_simple_matcher_false   r   z-MatchersMatcherTest.test_simple_matcher_falsec                 C   s  |  ttjtdttdttdttdfdt  |  ttjtdttdttdttdfdttd |  ttjtdttdttdttdfdtjtdt t t fd |  ttjtdttdttdttdfdtjtdtt tt tt fd |  ttjtdttdttdttdfdtjtdttdttdttdfd |  ttjtdttdttdttdfdtjtdt t ttdfd d S Nr   123funcargs)	r   r   r   Callr	   ArgIntegerr
   	DoNotCarer   r   r   r   test_complex_matcher_true   s   $&z-MatchersMatcherTest.test_complex_matcher_truec                 C   s  |  ttjtdttdttdttdfdt  |  ttjtdttdttdttdfdttd |  ttjtdttdttdttdfdtjtdt t fd |  ttjtdttdttdttdfdtjtdttdttdttdfd |  ttjtdttdttdttdfdtjtdt	 t	 ttdfd d S )Nr   r   r   r   r   r   )
r   r   r   r   r	   r   r   r
   FunctionDefr   r   r   r   r   test_complex_matcher_false{   s   z.MatchersMatcherTest.test_complex_matcher_falsec              	   C   s  |  ttdttj |  ttdttjdd |  ttdtjtjB tjB  |  ttdttjtj |  ttdttjtjdd | t	 ttjddtjB  W d    n1 stw   Y  | t
 ttjtj@  W d    n1 sw   Y  tjtdt tddtjtdt tddfD ]1}|  t|tjtjB tdd tj||j|jd	}|  t|tjtjB tdd  qd S )
Ntruevalue'foo'g      ?r   r   leftoperatorrightr(   )r(   r*   )r   r   r   r	   r
   TypeOfFloatSimpleStringassertRaises	Exception	TypeErrorBinaryOperationAddBooleanOperationOrdataclassesreplacer*   r(   )r   casenew_caser   r   r   test_type_of_matcher_true   sL   $$z-MatchersMatcherTest.test_type_of_matcher_truec              	   C   sl  |  ttdttj |  ttdttjdd |  ttdttjdd |  ttdttjtj |  ttdttjtjdd |  ttdttjtjdd tjtdt	 tddtj
tdt tddfD ]'}|  t|tjtj
B tdd	 |  t|tjtj
B tdd	  qd S )
Nr#   falser$   r&   z'bar'r   r   r'   r+   )r   r   r   r	   r
   r,   r.   	Attributer2   r3   r4   r5   )r   r8   r   r   r   test_type_of_matcher_false   sJ   $z.MatchersMatcherTest.test_type_of_matcher_falsec                 C   s`  |  ttdttdtd |  ttdtttjtjdtd |  ttt	tdftdtjttdtdd |  ttj
tdttdttdttdfd	tj
tdtttdttdttdfttdttdttdfd	 d S )
NTrueFalsexr$   r   r   r   r   r   )r   r   r   r	   r
   OneOfr,   NameItemAssignAssignTargetr   r   r   r   r   r   r   test_or_matcher_true!  sN   " z(MatchersMatcherTest.test_or_matcher_truec                 C   s,  |  ttdttdtd |  ttttdftdtjttdtdd |  ttjtdt	t
dt	t
dt	t
d	fd
tjtdtt	t
d	t	t
dt	t
dft	t
dt	t
dt	t
dfd
 d S )NNoner>   r?   r@   r$   r   r   r   r   r   456)r   r   r   r	   r
   rA   rC   rD   r   r   r   r   r   r   r   test_or_matcher_falseQ  sB   "z)MatchersMatcherTest.test_or_matcher_falsec              
   C   s   |  ttdtdtdB  |  ttdtdtdB  |  ttdtdtdB tdB  |  ttttdftdtjtdtdB d d S )Nr>   r?   rF   r@   r$   )r   r   r   r	   r
   rC   rD   r   r   r   r   test_or_operator_matcher_truez  s   &&(z1MatchersMatcherTest.test_or_operator_matcher_truec              
   C   sn   |  ttdtdtdB  |  ttttdftdtjtdtdB d d S )NrF   r>   r?   r@   r$   )r   r   r   r	   r
   rC   rD   r   r   r   r   test_or_operator_matcher_false  s   &z2MatchersMatcherTest.test_or_operator_matcher_falsec                 C   s`  |  ttjtdttdttdttdfdtjtdttdt fd |  ttjtdttdttdttdfdtjtdt ttdt fd |  ttjtdttdttdttdfdtjtdt ttdt fd |  ttjtdttdttdttdfdtjtdt ttdt fd |  ttjtdttdttdttdfdtjtdt ttdfd |  ttjtdttdttdttdfdtjtdt ttdt ttdt fd |  ttjtdttdttdttdfdtjtdt ttdt ttdt ttdt fd d S r   )	r   r   r   r   r	   r   r   r
   
ZeroOrMorer   r   r   r   &test_zero_or_more_matcher_no_args_true  s   z:MatchersMatcherTest.test_zero_or_more_matcher_no_args_truec                 C   st  |  ttjtdttdttdttdfdtjtdtjddfd |  ttjtdttdttdttdfdtjtdtjddfd |  ttjtdttdttdttdfdtjtdtjd	dfd |  ttjtdttdttdttdfdtjtdttdtjddfd |  ttjtdttdttdttdfdtjtdttdtjddfd |  ttjtdttdttdttdfdtjtdtjddttdtjddfd |  ttjtdttdttdttdfdtjtdtjddttdfd |  ttjtdttdttdttdfdtjtdtjddttdfd d S )
Nr   r   r   r   r      n      )	r   r   r   r   r	   r   r   r
   AtLeastNr   r   r   r   $test_at_least_n_matcher_no_args_true&  s   ""$""z8MatchersMatcherTest.test_at_least_n_matcher_no_args_truec                 C   sL  |  ttjtdttdttdttdfdtjtdtjddfd |  ttjtdttdttdttdfdtjtdttdtjddfd |  ttjtdttdttdttdfdtjtdtjd	dttdfd d S )
Nr   r   r   r   r      rP   rS   rR   )	r   r   r   r   r	   r   r   r
   rT   r   r   r   r   %test_at_least_n_matcher_no_args_false  sP   ""z9MatchersMatcherTest.test_at_least_n_matcher_no_args_falsec                 C   s  |  ttjtdttdttdttdfdtjtdttdtt fd |  ttjtdttdttdttdfdtjtdttdttt fd |  ttjtdttdttdttdfdtjtdttt	tdtdttdt fd |  ttjtdttdttdttdfdtjtdttdttt	tdtdfd d S r   )
r   r   r   r   r	   r   r   r
   rM   rA   r   r   r   r   #test_zero_or_more_matcher_args_true  s   """z7MatchersMatcherTest.test_zero_or_more_matcher_args_truec                 C   s   |  ttjtdttdttdttdfdtjtdttdttt	 fd |  ttjtdttdttdttdfdtjtdttdtttdfd d S r   )
r   r   r   r   r	   r   r   r
   rM   r.   r   r   r   r   $test_zero_or_more_matcher_args_false/  s<   "$z8MatchersMatcherTest.test_zero_or_more_matcher_args_falsec                 C   s  |  ttjtdttdttdttdfdtjtdttdtjt ddfd |  ttjtdttdttdttdfdtjtdttdtjtt ddfd |  ttjtdttdttdttdfdtjtdttdtjtt	tdtdddfd d S )Nr   r   r   r   r   rR   rP   )
r   r   r   r   r	   r   r   r
   rT   rA   r   r   r   r   !test_at_least_n_matcher_args_trueV  s^    &&z5MatchersMatcherTest.test_at_least_n_matcher_args_truec                 C   sz  |  ttjtdttdttdttdfdtjtdttdtjtt	 ddfd |  ttjtdttdttdttdfdtjtdttdtjt ddfd |  ttjtdttdttdttdfdtjtdttdtjttdddfd d S )	Nr   r   r   r   r   rR   rP   rS   )
r   r   r   r   r	   r   r   r
   rT   r.   r   r   r   r   "test_at_least_n_matcher_args_false  sb    z6MatchersMatcherTest.test_at_least_n_matcher_args_falsec                 C   s   |  ttjtdttdfdtjtdtjddfd |  ttjtdttdttdfdtjtdtjddfd |  ttjtdttdfdtjtdtjddttdgd |  ttjtdttdttdfdtjtdtjddttdfd |  ttjtdttdttdfdtjtdttdtjddfd |  ttjtdttdttdfdtjtdttdt	 fd d S )Nr   r   r   rR   rP   r      )
r   r   r   r   r	   r   r   r
   AtMostN	ZeroOrOner   r   r   r   #test_at_most_n_matcher_no_args_true  sl     "
""&z7MatchersMatcherTest.test_at_most_n_matcher_no_args_truec                 C   sH  |  ttjtdttdttdttdfdtjtdtjddfd |  ttjtdttdttdttdfdtjtdtjddttdfd |  ttjtdttdttdttdfdtjtdt	 ttdfd d S )	Nr   r   r   r   r   rR   rP   rO   )
r   r   r   r   r	   r   r   r
   r]   r^   r   r   r   r   $test_at_most_n_matcher_no_args_false  sL   "&z8MatchersMatcherTest.test_at_most_n_matcher_no_args_falsec                 C   s  |  ttjtdttdfdtjtdtjttdddfd |  ttjtdttdttdfdtjtdtjtt	tdtdddfd |  ttjtdttdttdfdtjtdttdt
ttdfd |  ttjtdttdttdfdtjtdttdt
ttdfd d S )Nr   r   r   rR   rP   r   )r   r   r   r   r	   r   r   r
   r]   rA   r^   r   r   r   r    test_at_most_n_matcher_args_trueE  sZ    "
&$$z4MatchersMatcherTest.test_at_most_n_matcher_args_truec                 C   sv   |  ttjtdttdttdttdfdtjtdtjttdddfd d S )	Nr   r   r   r   r   rG   rS   rP   )	r   r   r   r   r	   r   r   r
   r]   r   r   r   r   !test_at_most_n_matcher_args_false  s   "z5MatchersMatcherTest.test_at_most_n_matcher_args_falsec              	   C   ,   |  ttdtjtdd d d S )Nr   c                 S      d| v S )Nor   r$   r   r   r   <lambda>      z>MatchersMatcherTest.test_lambda_matcher_true.<locals>.<lambda>r$   )r   r   r   r	   r
   MatchIfTruer   r   r   r   test_lambda_matcher_true  
   z,MatchersMatcherTest.test_lambda_matcher_truec              	   C   rc   )Nr   c                 S   rd   )Nar   r$   r   r   r   rf     rg   z?MatchersMatcherTest.test_lambda_matcher_false.<locals>.<lambda>r$   )r   r   r   r	   r
   rh   r   r   r   r   test_lambda_matcher_false  rj   z-MatchersMatcherTest.test_lambda_matcher_falsec                 C   (   |  ttdtjtdd d S )Nr   z.*o.*r$   )r   r   r   r	   r
   
MatchRegexr   r   r   r   test_regex_matcher_true     (z+MatchersMatcherTest.test_regex_matcher_truec                 C   rm   )Nr   z.*a.*r$   )r   r   r   r	   r
   rn   r   r   r   r   test_regex_matcher_false  rp   z,MatchersMatcherTest.test_regex_matcher_falsec                 C   s   |  ttdtt tjtdd |  ttjtdtt	dtt	dtt	dfdtjtdtt t t ftt	dtt	dtt	dfd d S )Nr>   r$   r   r   r   r   r   )
r   r   r   r	   r
   AllOfrn   r   r   r   r   r   r   r   test_and_matcher_true  s4   $z)MatchersMatcherTest.test_and_matcher_truec                 C   s   |  ttdttdtd |  ttjtdttdttdttdfdtjtdtt t t fttdttdttdfd d S )	NrF   r>   r?   r   r   r   r   r   )	r   r   r   r	   r
   rr   r   r   r   r   r   r   r   test_and_matcher_false  s0   "z*MatchersMatcherTest.test_and_matcher_falsec              	   C   s   |  ttdt tjtdd@  |  ttdt tjtdd@ td@  |  ttdtdd tjtdd@  |  ttdtjtddtdd @  d S )Nr>   r$   c                 S      t | tjS N
isinstancer   r	   r@   r   r   r   rf         zDMatchersMatcherTest.test_and_operator_matcher_true.<locals>.<lambda>c                 S   ru   rv   rw   ry   r   r   r   rf     rz   )r   r   r   r	   r
   rn   rh   r   r   r   r   test_and_operator_matcher_true  s2   $"z2MatchersMatcherTest.test_and_operator_matcher_truec                 C   s*   |  ttdtdtd@  d S )NrF   r>   r?   r   r   r   r   r   test_and_operator_matcher_false  s   *z3MatchersMatcherTest.test_and_operator_matcher_falsec                 C   sh  |  ttjtdttdfdtjtjttddfd |  ttjtdttdfdtjtttdfd |  ttjtdttdfdtjtttdfd |  ttjtdttdfdtjtjtt	tdtd	dfd |  ttd	tjtt
dd d S )
Nr   r>   r   rF   r$   r   r   r   r?   )r   r   r   r   r	   r   r
   DoesNotMatchr   rA   rn   r   r   r   r   test_does_not_match_true  sH        z,MatchersMatcherTest.test_does_not_match_truec              
   C   s  |  ttjtdttdfdtjtjtd dfd |  ttjtdttdfdtjttd fd |  ttjtdttdfdtjtjtdtdB  dfd |  ttjtdttdfdtjtjtd td @ dfd |  ttjtdttdfdtjtjtd td B dfd |  ttjtdttdfdtjtjt td@  dfd |  ttdtjtd d d S )	Nr   r>   r   rF   r$   r}   r   r?   )	r   r   r   r   r	   r   r
   r   rn   r   r   r   r   !test_does_not_match_operator_true1  sN      & ( ( $z5MatchersMatcherTest.test_does_not_match_operator_truec                 C   s  |  ttjtdttdfdtjtjttddfd |  ttjtdttdfdtjtttdfd |  ttjtdttdfdtjtttdfd |  ttjtdttdfdtjtjtt	tdtddfd |  ttjtdttdfdtjtjtd td @ dfd |  ttdtjtt
dd d S 	Nr   rF   r   r$   r}   r   r?   r>   )r   r   r   r   r	   r   r
   r~   r   rA   rn   r   r   r   r   test_does_not_match_false_  sT         (z-MatchersMatcherTest.test_does_not_match_falsec              
   C   s  |  ttjtdttdfdtjtjtd dfd |  ttjtdttdfdtjttd fd |  ttjtdttdfdtjtjtdtdB  dfd |  ttjtdttdfdtjtjt td@  dfd |  ttjtdttdfdtjtjtd td B dfd |  ttdtjtd d d S r   )	r   r   r   r   r	   r   r
   r   rn   r   r   r   r   "test_does_not_match_operator_false  sB      & $ (z6MatchersMatcherTest.test_does_not_match_operator_falsec                 C   s:   t d}| t t ||u  | |  |u  d S )Nr>   )r
   r	   r   r~   )r   identityr   r   r    test_inverse_inverse_is_identity  s   
z4MatchersMatcherTest.test_inverse_inverse_is_identity)r   N)%__name__
__module____qualname__r   r   r    r"   r:   r=   rE   rJ   rK   rL   rN   rU   rW   rX   rY   rZ   r[   r_   r`   ra   rb   ri   rl   ro   rq   rs   rt   r{   r|   r   r   r   r   r   r   r   r   r   r      sJ    



d
T
*
(
0
)

 
 

2
T
'
=
@
B
0
:









*
.
0(r   )
r6   libcstr   libcst.matchersmatchersr
   r   libcst.testing.utilsr   r   r   r   r   r   <module>   s   