
    X-Ph&                        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e          Z!dS )z1Test cases for graph processing code in build.py.    )annotationsN)Set)BuildManagerBuildSourceSetState
order_asccsorted_components)Errors)FileSystemCache)strongly_connected_componentstopsort)SearchPaths)Options)Plugin)Reports)Suiteassert_equal)__version__c                  6    e Zd Zd
dZd
dZddZd
dZd
dZd	S )
GraphSuitereturnNonec                   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ress          S/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mypy/test/testgraph.pytest_topsortzGraphSuite.test_topsort   s    sesesese?@1a&!aSRSVWUX>Y74==!!SA3A,-----    c                    h d}ddgdgddgg 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                ,    h | ]}t          |          S  )r   ).0xs     r'   	<setcomp>z&GraphSuite.test_scc.<locals>.<setcomp>!   s    UUU	!UUUr)   r   )r   r   r   )r    verticesedgessccss       r'   test_scczGraphSuite.test_scc   s    '''-0#JcU#sZ\&]&]UU&CHe&T&TUUUTIse,,ic
.C.CYPSuEUEUVWWWWWr)   r   c                L   t                      }d|_        t          |          }t                      }t	          dddd          }t          d|dt          g           t          di           |t          t          |          i |d |t          j        t          j                  }|S )NTr,    c                    d S )Nr,   )filenamemsgsseriouss      r'   <lambda>z*GraphSuite._make_manager.<locals>.<lambda>5   s     r)   )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   sysrG   rH   )r    r@   rD   rF   r<   managers         r'   _make_managerzGraphSuite._make_manager$   s    ))(,%!##"2r2r22%%b))BOO"'??==::
 
 
  r)   c           	     V   |                                  }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#   )rL   r   r	   r   r   )r    rK   graphr&   s       r'   test_sorted_componentsz!GraphSuite.test_sorted_components<   s    $$&&sD-99sD&'22sD*g66sD-99	
 
  &&S9cU++YSz-B-BIseDTDTUVVVVVr)   c           	     n   |                                  }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!   rN   r$   zdef f(): import ar"   rP   r#   rQ   rR   >   r!   r"   r#   r$   r   )r$   r#   r"   r!   )rL   r   r	   r   r   r   )r    rK   rS   r&   asccsccs         r'   test_order_ascczGraphSuite.test_order_asccG   s    $$&&sD-99sD"5w??sD*g66sD-99	
 
  &&S9%9%9%9::;<<<1v%%S.../////r)   N)r   r   )r   r   )__name__
__module____qualname__r(   r3   rL   rT   rX   r,   r)   r'   r   r      s        . . . .X X X X   0	W 	W 	W 	W0 0 0 0 0 0r)   r   )"__doc__
__future__r   rJ   collections.abcr   AbstractSet
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'   <module>rj      sD   7 7 " " " " " " 



 . . . . . . Y Y Y Y Y Y Y Y Y Y Y Y Y Y       ( ( ( ( ( ( C C C C C C C C ) ) ) ) ) )                         1 1 1 1 1 1 1 1 $ $ $ $ $ $?0 ?0 ?0 ?0 ?0 ?0 ?0 ?0 ?0 ?0r)   