o
    2g                     @  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 ddlm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 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)Errors)FileSystemCache)strongly_connected_componentstopsort)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$   K/home/garg/my-data/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  sf   t  }d|_t|}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$   )filenamemsgsseriousr$   r$   r%   <lambda>5   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   use_builtins_fixturesr	   r
   r   r   r   r   r   r   sysr?   r@   )r   r8   r<   r>   r4   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    )rD   r   r   r   r   )r   rC   graphr#   r$   r$   r%   test_sorted_components<   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   rE   r!   zdef f(): import ar   rG   r    rH   rI   >   r   r   r    r!   r   )r!   r    r   r   )rD   r   r   r   r   r   )r   rC   rJ   r#   asccsccr$   r$   r%   test_order_asccG   s   
zGraphSuite.test_order_asccN)r   r   )r   r   )__name__
__module____qualname__r&   r-   rD   rK   rN   r$   r$   r$   r%   r      s    

	

r   )!__doc__
__future__r   rB   typingr   
mypy.buildr   r   r   r   r   mypy.errorsr	   mypy.fscacher
   mypy.graph_utilsr   r   mypy.modulefinderr   mypy.optionsr   mypy.pluginr   mypy.reportr   mypy.test.helpersr   r   mypy.versionr   r   r$   r$   r$   r%   <module>   s    