o
    \i                     @   sz   d dl Zd dl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 Zdd	 Zd
d Zejdeegdd ZdS )    N)euclidean_distances)KNeighborsTransformerRadiusNeighborsTransformer)_is_sorted_by_data)assert_array_equalc                  C   s  d} d}d}d}t jd}|||}|||}t t|d}dD ]\}|dk}	t| |d}
|
|}|j||fks>J |j	j|| |	  fksKJ |j
d	ksRJ t|sXJ |
|}|j||fksfJ |j	j|| |	  fkssJ |j
d	kszJ t|sJ q$dD ]\}|dk}	t||d
}
|
|}|j||fksJ |j	j|| |	  fkrJ |j
d	ksJ t|sJ |
|}|j||fksJ |j	j|| |	  fkrJ |j
d	ksJ t|sJ qd S )N         
   *   )distanceconnectivityr   )n_neighborsmodecsr)radiusr   )nprandomRandomStaterandn
percentiler   r   fit_transformshapedataformatr   	transformr   )r   n_samples_fit	n_queries
n_featuresrngXX2r   r   add_onenntXtX2t r&   /var/www/www-root/data/www/176.119.141.140/sports-predictor/venv/lib/python3.10/site-packages/sklearn/neighbors/tests/test_graph.pytest_transformer_result
   sF   



r(   c                 C   s,   |   } | j| j| jk }t|| jd kS )z0Return True if the diagonal is explicitly storedr   )tocoorowcollenr   )r    explicitr&   r&   r'   _has_explicit_diagonal7   s   r.   c            
      C   s   d} d\}}}t jd}|||}|||}t| d}||}t|s)J t |j	|| d d d df dks?J |
|}t|sJJ t |j	|| d d d df dks`J |
|}	t|	rkJ d S )Nr   )r   r	   r
   r   )r      r   )r   r   r   r   r   r   r.   allr   reshaper   )
r   r   n_samples_transformr   r   r    r!   r#   r$   r%   r&   r&   r'   test_explicit_diagonal>   s   


,
,
r3   Klassc                    sn   d}d}t jd}|||}|  |}| }| j  t j fddt	|j
D td}t|| dS )zFCheck `get_feature_names_out` for transformers defined in `_graph.py`.r   r
   r   c                    s   g | ]}  | qS r&   r&   ).0iclass_name_lowerr&   r'   
<listcomp>b   s    z0test_graph_feature_names_out.<locals>.<listcomp>)dtypeN)r   r   r   r   fitget_feature_names_out__name__lowerarrayrangen_samples_fit_objectr   )r4   r   r   r   r    est	names_outexpected_names_outr&   r7   r'   test_graph_feature_names_outT   s   
rF   )numpyr   pytestsklearn.metricsr   sklearn.neighborsr   r   sklearn.neighbors._baser   sklearn.utils._testingr   r(   r.   r3   markparametrizerF   r&   r&   r&   r'   <module>   s    -