U
    ½mœdç  ã                   @   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)Úkneighbors_graph)Ú_fix_connected_components)Úpairwise_distancesc                  C   sr   t  ddddddg¡d d …d f } t| ddd�}t|ƒ\}}|dksHt‚t| |||ƒ}t|ƒ\}}|dksnt‚d S )	Nr   é   é   é   é   é   Údistance©Zn_neighborsÚmode)ÚnpÚarrayr   r   ÚAssertionErrorr   ©ÚXÚgraphÚn_connected_componentsÚlabels© r   úW/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/sklearn/utils/tests/test_graph.pyÚtest_fix_connected_components
   s    "r   c               	   C   sª   t  ddddddg¡d d …d f } t| ddd�}t|ƒ\}}|dksHt‚t| ƒ}t||||d	d
�}t|ƒ\}}|dkszt‚tjt	dd�� t||||d	d
� W 5 Q R X d S )Nr   r   r   r   r	   r
   r   r   Zprecomputed)Zmetriczdoes not work with a sparse©Úmatch)
r   r   r   r   r   r   r   ÚpytestÚraisesÚRuntimeError)r   r   r   r   Z	distancesr   r   r   Ú)test_fix_connected_components_precomputed   s,    "    ÿ    ÿr   c               	   C   sl   t  ddddddg¡d d …d f } t| ddd�}t|ƒ\}}tjtd	d
�� t| |||dd�}W 5 Q R X d S )Nr   r   r   r   r	   r
   r   r   zUnknown moder   Zfoo©r   )r   r   r   r   r   r   Ú
ValueErrorr   r   r   r   r   Ú(test_fix_connected_components_wrong_mode/   s    "    ÿr!   c                  C   sb   t  ddddg¡d d …d f } t| ddd�}t|ƒ\}}t| |||dd�}t  |jdk¡s^t‚d S )Nr   r   r	   r
   Zconnectivityr   r   )r   r   r   r   r   ÚallÚdatar   r   r   r   r   Ú/test_fix_connected_components_connectivity_mode;   s        ÿr$   c                  C   sv   t  ddddg¡d d …d f } t| ddd�}t  |jdk¡s@t‚t|ƒ\}}t| |||dd�}t  |jdk¡rrt‚d S )Nr   r   r	   r
   r   r   r   )r   r   r   r"   r#   r   r   r   r   r   r   r   Ú+test_fix_connected_components_distance_modeF   s        ÿr%   )r   Únumpyr   Zscipy.sparse.csgraphr   Zsklearn.neighborsr   Zsklearn.utils.graphr   Zsklearn.metrics.pairwiser   r   r   r!   r$   r%   r   r   r   r   Ú<module>   s   