o
    b                     @   s  d Z ddlZddlZddlmZ ddlZddlmZmZ ddl	m
Z
mZ ddlmZ ddlmZ dddddddd	dd
dddZG dd deZdd Zd)ddZddgZejdddd Zejdejdedd Zejdddgd fg d!d"fd#gd$fg d%d&fgd'd( ZdS )*zB
unit test for visitors.diadefs and extensions.diadefslib modules
    N)unified_diff)Linkerproject_from_files)DefaultDiadefGeneratorDiadefsHandler)	DotWriterget_visibilitydot ZPUB_ONLYF)Zall_ancestorsZshow_associatedZmodule_namesZoutput_formatZdiadefs_filequietZshow_ancestorsclassesZall_associatedmodeZshow_builtinZonly_classnamesc                   @   s   e Zd ZdZdd ZdS )Configzconfig object for testsc                 C   s"   t  D ]
\}}t| || qd S N)	_DEFAULTSitemssetattr)selfattrvaluer   r   d/var/www/secure340b-portal/env/lib/python3.10/site-packages/pylint/test/unittest_pyreverse_writer.py__init__1   s   zConfig.__init__N)__name__
__module____qualname____doc__r   r   r   r   r   r   .   s    r   c                 C   sN   t j| dd}dd | D }W d    n1 sw   Y  dd |D S )Nlatin1)encodingc                 S   s,   g | ]}| d dkr|ds| qS )zsqueleton generated by z__revision__ = "$Id:)find
startswithstrip.0liner   r   r   
<listcomp>9   s    z_file_lines.<locals>.<listcomp>c                 S   s   g | ]}|r|qS r   r   r#   r   r   r   r&   A   s    )codecsopen	readlines)pathstreamlinesr   r   r   _file_lines6   s   	r-   No Namec                 C   s   dd }t | g||dS )z(return an astroid project representationc                 S   s   | |S r   r   )funcmodnamer   r   r   _astroid_wrapperG   s   z%get_project.<locals>._astroid_wrapper)project_name)r   )modulenamer1   r   r   r   get_projectD   s   r5   zpackages_No_Name.dotzclasses_No_Name.dotr3   )scopec                  c   s    t tjtjtd} t| }t }t|}t	||
| }|D ]}|  q#t|}|| d V  tD ]}zt| W q8   Y q8d S )Ndata)r5   osr*   joindirname__file__r   r   r   r   visitZextract_relationshipsr   write	DOT_FILESremove)projectZlinkerZCONFIGhandlerdddiagramwriterfnamer   r   r   setupP   s"   

rF   generated_filec              
   C   s   t jt jtd| }t| }t|}d|}d|}d|| f }||ks?J d|ddd t| | D f t |  d S )Nr7   
z%
 *** expected : %s, generated : %s 
z%s%sc                 s   s    | ]}|V  qd S r   r   r#   r   r   r   	<genexpr>n   s    
z!test_dot_files.<locals>.<genexpr>)	r8   r*   r9   r:   r;   r-   r   
splitlinesr?   )rG   Zexpected_file	generatedexpectedfilesr   r   r   test_dot_filesc   s   


rN   znames, expected__reduce_ex____setattr__Zspecial)Z__g_Z____dsfZ__23_9privatesimplepublic)___Z___Z____Z_____Z___e__Z_nextsimpleZ_filter_it_Z	protectedc                 C   s0   | D ]}t |}||ksJ d|||f qd S )Nz!got %s instead of %s for value %sr   )namesrL   r4   gotr   r   r   test_get_visibilityu   s   
rX   )r.   )r   r8   r'   difflibr   ZpytestZpylint.pyreverse.inspectorr   r   Zpylint.pyreverse.diadefslibr   r   Zpylint.pyreverse.writerr   Zpylint.pyreverse.utilsr	   r   objectr   r-   r5   r>   ZfixturerF   markZusefixturesZparametrizerN   rX   r   r   r   r   <module>   sT   
	




