o
    ?Hh                     @   sl   d dl Zd dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
 dd Zdd	 Zd
d Zdd Zdd ZdS )    N)connected_components)pairwise_distances)kneighbors_graph)_fix_connected_componentsc                  C   sj   t g dd d d f } t| ddd}t|\}}|dks J t| |||}t|\}}|dks3J d S )Nr                  r   distancen_neighborsmoder   )nparrayr   r   r   Xgraphn_connected_componentslabels r   ^/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/sklearn/utils/tests/test_graph.pytest_fix_connected_components
   s   r   c                  C   s   t g dd d d f } t| ddd}t|\}}|dks J t| }t||||dd}t|\}}|dks9J tjtdd	 t||||dd W d    d S 1 sUw   Y  d S )
Nr   r   r   r   r   precomputed)metriczdoes not work with a sparsematch)	r   r   r   r   r   r   pytestraisesRuntimeError)r   r   r   r   	distancesr   r   r   )test_fix_connected_components_precomputed   s   

"r"   c                  C   sz   t g dd d d f } t| ddd}t|\}}tjtdd t| |||dd}W d    d S 1 s6w   Y  d S )	Nr   r   r   r   zUnknown moder   foor   )r   r   r   r   r   r   
ValueErrorr   r   r   r   r   (test_fix_connected_components_wrong_mode/   s   
"r&   c                  C   s^   t g dd d d f } t| ddd}t|\}}t| |||dd}t |jdks-J d S )Nr   r   r
   r   r   connectivityr   r$   )r   r   r   r   r   alldatar   r   r   r   /test_fix_connected_components_connectivity_mode;   s   
r+   c                  C   sr   t g dd d d f } t| ddd}t |jdksJ t|\}}t| |||dd}t |jdkr7J d S )Nr'   r   r   r   r$   )r   r   r   r)   r*   r   r   r   r   r   r   +test_fix_connected_components_distance_modeF   s   
r,   )numpyr   r   scipy.sparse.csgraphr   sklearn.metrics.pairwiser   sklearn.neighborsr   sklearn.utils.graphr   r   r"   r&   r+   r,   r   r   r   r   <module>   s    