
    {Kg                     b    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 Zd Zd Zd	 Zd
 Zy)    N)connected_components)pairwise_distances)kneighbors_graph)_fix_connected_componentsc                      t        j                  g d      d d d f   } t        | dd      }t        |      \  }}|dkD  sJ t	        | |||      }t        |      \  }}|dk(  sJ y )Nr                  r
   distancen_neighborsmoder	   )nparrayr   r   r   Xgraphn_connected_componentslabelss       b/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/sklearn/utils/tests/test_graph.pytest_fix_connected_componentsr   
   su    
#$QW-AQAJ?E%9%%@"F!A%%%%a0FOE%9%%@"F!Q&&&    c                  f   t        j                  g d      d d d f   } t        | dd      }t        |      \  }}|dkD  sJ t	        |       }t        ||||d      }t        |      \  }}|dk(  sJ t        j                  t        d	      5  t        ||||d       d d d        y # 1 sw Y   y xY w)
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   	distancess        r   )test_fix_connected_components_precomputedr%      s    
#$QW-AQAJ?E%9%%@"F!A%%%"1%I%50&E &:%%@"F!Q&&& 
|+H	I!50&	
 
J	I	Is   B''B0c                      t        j                  g d      d d d f   } t        | dd      }t        |      \  }}t	        j
                  t        d      5  t        | |||d      }d d d        y # 1 sw Y   y xY w)	Nr   r
   r   r   zUnknown moder   foor   )r   r   r   r   r!   r"   
ValueErrorr   r   s       r   (test_fix_connected_components_wrong_moder*   /   sh    
#$QW-AQAJ?E%9%%@"F	z	8)u,f5
 
9	8	8s   A00A9c                      t        j                  g d      d d d f   } t        | dd      }t        |      \  }}t	        | |||d      }t        j
                  |j                  dk(        sJ y )Nr   r	   r   r   r	   connectivityr   r(   )r   r   r   r   r   alldatar   s       r   /test_fix_connected_components_connectivity_moder0   ;   si    
q$w'AQANCE%9%%@"F%	5(&~E 66%**/"""r   c                  (   t        j                  g d      d d d f   } t        | dd      }t        j                  |j                  dk(        sJ t        |      \  }}t        | |||d      }t        j                  |j                  dk(        rJ y )Nr,   r	   r   r   r(   )r   r   r   r.   r/   r   r   r   s       r   +test_fix_connected_components_distance_moder2   F   s    
q$w'AQAJ?E66%**/"""%9%%@"F%	5(&zE vvejjAo&&&&r   )numpyr   r!   scipy.sparse.csgraphr   sklearn.metrics.pairwiser   sklearn.neighborsr   sklearn.utils.graphr   r   r%   r*   r0   r2    r   r   <module>r9      s0      5 7 . 9'
.	
#
'r   