a
    ,=ic¦  ã                   @   sŠ   d Z ddlmZ ddlmZ ddlm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	d
„ d
ejƒZdd„ Zedkr†e ¡  dS )zTests for augment.rename.é    )Úabsolute_import)Údivision)Úprint_functionN)Úrename)Úscope)Ú
test_utilsc                   @   s\   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ ZdS )Ú
RenameTestc                 C   s˜   d}t  |¡}|  t |dd¡¡ |  |t  d¡¡ t  |¡}|  t |dd¡¡ |  |t  d¡¡ t  |¡}|  t |dd¡¡ |  |t  |¡¡ d S )Nz$import aaa.bbb.ccc
aaa.bbb.ccc.foo()úaaa.bbbúxxx.yyyz$import xxx.yyy.ccc
xxx.yyy.ccc.foo()úaaa.bbb.ccczimport xxx.yyy
xxx.yyy.foo()Úbbb©ÚastÚparseÚ
assertTruer   Úrename_externalÚcheckAstsEqualZassertFalse©ÚselfÚsrcÚt© r   új/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/pasta/augment/rename_test.pyÚtest_rename_external_in_import   s    


z)RenameTest.test_rename_external_in_importc                 C   s8   d}t  |¡}|  t |dd¡¡ |  |t  d¡¡ d S )Nz#import aaa.bbb.ccc as ddd
ddd.foo()r	   r
   z#import xxx.yyy.ccc as ddd
ddd.foo()©r   r   r   r   r   r   r   r   r   r   Ú*test_rename_external_in_import_with_asname-   s    
z5RenameTest.test_rename_external_in_import_with_asnamec                 C   s8   d}t  |¡}|  t |dd¡¡ |  |t  d¡¡ d S )Nz import aaa, aaa.bbb, aaa.bbb.cccr	   r
   z import aaa, xxx.yyy, xxx.yyy.cccr   r   r   r   r   Ú/test_rename_external_in_import_multiple_aliases3   s    
z:RenameTest.test_rename_external_in_import_multiple_aliasesc                 C   s˜   d}t  |¡}|  t |dd¡¡ |  |t  d¡¡ t  |¡}|  t |dd¡¡ |  |t  d¡¡ t  |¡}|  t |dd¡¡ |  |t  |¡¡ d S )Nz%from aaa.bbb.ccc import ddd
ddd.foo()r	   r
   z%from xxx.yyy.ccc import ddd
ddd.foo()r   z!from xxx.yyy import ddd
ddd.foo()r   r   r   r   r   r   Ú"test_rename_external_in_importfrom9   s    


z-RenameTest.test_rename_external_in_importfromc                 C   s8   d}t  |¡}|  t |dd¡¡ |  |t  d¡¡ d S )Nz!from aaa.bbb import ccc
ccc.foo()r   r
   zfrom xxx import yyy
yyy.foo()r   r   r   r   r   Ú(test_rename_external_in_importfrom_aliasG   s    
z3RenameTest.test_rename_external_in_importfrom_aliasc                 C   s8   d}t  |¡}|  t |dd¡¡ |  |t  d¡¡ d S )Nz(from aaa.bbb import ccc as abc
abc.foo()r   r
   z$from xxx import yyy as abc
abc.foo()r   r   r   r   r   Ú4test_rename_external_in_importfrom_alias_with_asnameM   s    
z?RenameTest.test_rename_external_in_importfrom_alias_with_asnamec                 C   sD   d}t  |¡}t |¡}|  t ||dd¡¡ |  |t  d¡¡ d S )Nú	aaa.bbb()ÚaaaZxxxz	xxx.bbb())r   r   r   Úanalyzer   r   Ú_rename_readsr   ©r   r   r   Úscr   r   r   Útest_rename_reads_nameS   s
    

z!RenameTest.test_rename_reads_namec                 C   s>   d}t  |¡}t |¡}t ||dd¡ |  |t  d¡¡ d S )Nr    r!   r
   zxxx.yyy.bbb()©r   r   r   r"   r   r#   r   r$   r   r   r   Ú#test_rename_reads_name_as_attributeZ   s
    

z.RenameTest.test_rename_reads_name_as_attributec                 C   s>   d}t  |¡}t |¡}t ||dd¡ |  |t  d¡¡ d S )Núaaa.bbb.ccc()r	   r
   zxxx.yyy.ccc()r'   r$   r   r   r   Útest_rename_reads_attributea   s
    

z&RenameTest.test_rename_reads_attributec                 C   sN   d}t  |¡}t |¡}t ||dd¡ t ||dd¡ |  |t  |¡¡ d S )Nr)   zaaa.bbb.ccc.dddr
   zbbb.aaar'   r$   r   r   r   Útest_rename_reads_nooph   s    

z!RenameTest.test_rename_reads_noopN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r&   r(   r*   r+   r   r   r   r   r      s   r   c                  C   s   t  ¡ } |  t  t¡¡ | S )N)ÚunittestZ	TestSuiteZaddTestsZ	makeSuiter   )Úresultr   r   r   Úsuiteq   s    r1   Ú__main__)Ú__doc__Ú
__future__r   r   r   r   r/   Zpasta.augmentr   Z
pasta.baser   r   ZTestCaser   r1   r,   Úmainr   r   r   r   Ú<module>   s   T