
    >[g                         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 Zd Zd Zej                  j!                  d	eeg      d
        Zy)    N)euclidean_distances)KNeighborsTransformerRadiusNeighborsTransformer)_is_sorted_by_data)assert_array_equalc                  \   d} d}d}d}t         j                  j                  d      }|j                  ||      }|j                  ||      }t        j                  t        |      d      }dD ]  }|dk(  }	t        | |      }
|
j                  |      }|j                  ||fk(  sJ |j                  j                  || |	z   z  fk(  sJ |j                  d	k(  sJ t        |      sJ |
j                  |      }|j                  ||fk(  sJ |j                  j                  || |	z   z  fk(  sJ |j                  d	k(  sJ t        |      rJ  dD ]  }|dk(  }	t        ||
      }
|
j                  |      }|j                  ||fk(  sJ |j                  j                  || |	z   z  fk(  rJ |j                  d	k(  sJ t        |      sJ |
j                  |      }|j                  ||fk(  sJ |j                  j                  || |	z   z  fk(  rJ |j                  d	k(  sJ t        |      rJ  y )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X2ts                ]/var/www/html/bid-api/venv/lib/python3.12/site-packages/sklearn/neighbors/tests/test_graph.pytest_transformer_resultr)   
   sH   KMIJ
))


#C		-,A	9j	)B]].q126F -*$#$Gq!xxM=9999ww}}+2G!H JJJJyyE!!!!"%%%mmByyY6666xx~~){W/D"E!GGGGzzU"""!#&&& -  -*$(TBq!xxM=999977==]kG6K%L$NNNNyyE!!!!"%%%mmByyY666688>>i;3H&I%KKKKzzU"""!#&&& -    c                     | j                         } | j                  | j                  | j                  k(     }t        |      | j                  d   k(  S )z0Return True if the diagonal is explicitly storedr   )tocoorowcollenr   )r"   explicits     r(   _has_explicit_diagonalr1   7   s>    		AuuQUUaee^$Hx=AGGAJ&&r*   c                  ^   d} d\  }}}t         j                  j                  d      }|j                  ||      }|j                  ||      }t	        |       }|j                  |      }t        |      sJ t        j                  |j                  j                  || dz         d d df   dk(        sJ |j                  |      }t        |      sJ t        j                  |j                  j                  || dz         d d df   dk(        sJ |j                  |      }	t        |	      rJ y )Nr	   )r
   r   r   r   )r      r   )r   r   r   r   r   r   r1   allr   reshaper   )
r   r   n_samples_transformr    r!   r"   r#   r%   r&   r'   s
             r(   test_explicit_diagonalr7   >   s   K5?2M&

))


#C		-,A	&
	3B
K
8C			1	B!"%%%66"''//-qA!Q$G1LMMM	q	B!"%%%66"''//-qA!Q$G1LMMM --
C%c****r*   Klassc                    d}d}t         j                  j                  d      }|j                  ||      } |        j	                  |      }|j                         }| j                  j                         }t        j                  t        |j                        D cg c]  }| | 
 c}t              }	t        ||	       yc c}w )zFCheck `get_feature_names_out` for transformers defined in `_graph.py`.r
   r   r   )dtypeN)r   r   r   r   fitget_feature_names_out__name__lowerarrayrangen_samples_fit_objectr   )
r8   r   r    r!   r"   est	names_outclass_name_loweriexpected_names_outs
             r(   test_graph_feature_names_outrH   T   s     MJ
))


#C		-,A
'++a.C))+I~~++-+01C1C+DE+DaaS	!+DE y"45 	Fs   C)numpyr   pytestsklearn.metricsr   sklearn.neighborsr   r   sklearn.neighbors._baser   sklearn.utils._testingr   r)   r1   r7   markparametrizerH    r*   r(   <module>rR      sT      / O 6 5*'Z'+, #8:T"UV6 W6r*   