o
    tBh
                     @  s   d Z ddlmZ ddlZddlmZ ddlmZmZm	Z	m
Z
mZmZmZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZmZ ddlmZ G dd deZdS )z1Test cases for graph processing code in build.py.    )annotationsN)AbstractSet)BuildManagerBuildSourceSetState
order_asccsorted_componentsstrongly_connected_componentstopsort)Errors)FileSystemCache)SearchPaths)Options)Plugin)Reports)Suiteassert_equal)__version__c                   @  s>   e Zd ZdddZdddZddd	Zdd
dZdddZdS )
GraphSuitereturnNonec                 C  sh   t dh}t dh}t dh}t dh}|||h||h||hi}tt|}t||h||h|hg d S )NABCD)	frozensetlistr
   r   )selfabcddatares r$   j/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/mypy/test/testgraph.pytest_topsort   s   



zGraphSuite.test_topsortc                 C  s\   h d}ddgdgddgg d}dd t ||D }t|tdhtddhtdhh d S )	N>   r   r   r   r   r   r   r   )r   r   r   r   c                 S  s   h | ]}t |qS r$   )r   ).0xr$   r$   r%   	<setcomp>(   s    z&GraphSuite.test_scc.<locals>.<setcomp>r   )r	   r   r   )r   verticesedgessccsr$   r$   r%   test_scc%   s   (zGraphSuite.test_sccr   c                 C  sd   t  }t }d|_t }tdddd}td|dtg tdi |tt	|i |dd |t
jt
jd}|S )NTr$    c                 S  s   d S )Nr$   )msgsseriousr$   r$   r%   <lambda><   s    z*GraphSuite._make_manager.<locals>.<lambda>)data_dirsearch_pathsignore_prefix
source_setreportsoptions
version_idpluginplugins_snapshoterrorsflush_errorsfscachestdoutstderr)r   r   use_builtins_fixturesr   r   r   r   r   r   r   sysr>   r?   )r   r;   r7   r=   r3   managerr$   r$   r%   _make_manager+   s,   zGraphSuite._make_managerc                 C  sn   |   }tdd d|tdd d|tdd d|tdd d|d	}t|}t|tdhtddhtdhg d S )
Nr   import b, cr!   passr   import cr    import b, dr   r!   r   r    )rC   r   r   r   r   )r   rB   graphr#   r$   r$   r%   test_sorted_componentsC   s   (z!GraphSuite.test_sorted_componentsc                 C  s~   |   }tdd d|tdd d|tdd d|tdd d|d	}t|}t|th d
g |d }t||}t|g d d S )Nr   rD   r!   zdef f(): import ar   rF   r    rG   rH   >   r   r   r    r!   r   )r!   r    r   r   )rC   r   r   r   r   r   )r   rB   rI   r#   asccsccr$   r$   r%   test_order_asccN   s   
zGraphSuite.test_order_asccN)r   r   )r   r   )__name__
__module____qualname__r&   r-   rC   rJ   rM   r$   r$   r$   r%   r      s    

	

r   ) __doc__
__future__r   rA   typingr   
mypy.buildr   r   r   r   r   r	   r
   mypy.errorsr   mypy.fscacher   mypy.modulefinderr   mypy.optionsr   mypy.pluginr   mypy.reportr   mypy.test.helpersr   r   mypy.versionr   r   r$   r$   r$   r%   <module>   s    $	