o
    tBh                  
   @   s  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l
mZ d dl
mZ d dlmZ d d	lmZ ejd
d Zdd Zdd Zejdi deideieedgdd Zejddeideieedeedeedgdd Zejdg ddd Zejdg ddd Zejdg dd d! Zd"d# Zd$d% Zd&d' Zejd(d)gd)d*ggejd+g dd,d- ZdS ).    N)sparse)assert_array_equal)assert_allclose	load_iris)check_array)_safe_indexing)_convert_container)CheckingClassifierc                   C   s
   t ddS )NT)
return_X_yr    r   r   w/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/sklearn/utils/tests/test_mocking.pyiris   s   
r   c                 C      dS )NTr   xr   r   r   _success      r   c                 C   r   )NFr   r   r   r   r   _fail   r   r   kwargscheck_Xcheck_y)r   r   c                 C   s"   | \}}t di ||| d S Nr   )r
   fit)r   r   Xyr   r   r   test_check_on_fit_success   s   
r   c                 C   sR   | \}}t di |}tt ||| W d    d S 1 s"w   Y  d S r   r
   pytestraisesAssertionErrorr   )r   r   r   r   clfr   r   r   test_check_on_fit_fail+   s
   "r"   	pred_func)predictpredict_probadecision_functionscorec                 C   s,   | \}}t td||}t||| d S Nr   )r
   r   r   getattrr   r#   r   r   r!   r   r   r   test_check_X_on_predict_success<   s   r,   c                 C   sd   | \}}t td||}|jtd tt t||| W d    d S 1 s+w   Y  d S r(   )	r
   r   r   
set_paramsr   r   r   r    r*   r+   r   r   r   test_check_X_on_predict_failE   s   "r.   
input_type)listarrayr   	dataframec           	      C   s  | \}}t ||}t }||| t|jt| t|jdks$J |jdks+J |	|}t|tj
|jtd ||tdksGJ |jdd ||||tdks]J ||}|jdksiJ t|d d df d t|d d dd f d ||}|jdksJ t|d d df d t|d d dd f d t|dk|dk}t||}t||}||| ||}|jd	ksJ t|d d df d t|d d df d ||}|jd
ksJ t|d d S )N      )dtyper   
   )	foo_param   )   r3   )d      )r:   )r	   r
   r   r   classes_npuniquelenn_features_in_r$   zerossizeintr'   r   approxr-   r%   shaper   r&   
logical_orr   )	r   r/   r   r   r!   y_predy_proba
y_decisionfirst_2_classesr   r   r   test_checking_classifierP   s>   

 





rK   c                 C   s   | \}}t |}tt jd}tt ||| W d    n1 s%w   Y  ||| ttddid}||| tjt	dd ||| W d    d S 1 sWw   Y  d S )Nr)   accept_sparseF)r   check_X_paramszA sparse matrix was passedmatch)
r   
csr_matrixr
   issparser   r   r    r   r   	TypeError)r   r   r   X_sparser!   r   r   r   $test_checking_classifier_with_params}   s   
"rT   c                 C   s   | \}}t dd}tt|d }dt|d  dt| d}tt}|j|||d W d    n1 s9w   Y  |jj	d |ksHJ d S )	NTexpected_sample_weightr;   zsample_weight.shape == (z,), expected (z,)!)sample_weightr   )
r
   r=   onesr?   r   r   
ValueErrorr   valueargs)r   r   r   r!   rW   msgexcr   r   r   #test_checking_classifier_fit_params   s   
r^   c                 C   sV   | \}}t dd}d}tjt|d ||| W d    d S 1 s$w   Y  d S )NTrU   z#Expected sample_weight to be passedrN   r   )r   r   r   r!   err_msgr   r   r   +test_checking_classifier_missing_fit_params   s   
"r`   methods_to_checkr$   r%   predict_methodc                 C   sz   | \}}t tj|d}||| ||v r4tt t||| W d    d S 1 s-w   Y  d S t||| d S )N)r   ra   )r
   r   rQ   r   r   r   r    r*   )r   ra   rb   r   r   r!   r   r   r   )test_checking_classifier_methods_to_check   s   	"rc   ) numpyr=   r   scipyr   numpy.testingr   r   sklearn.datasetsr   sklearn.utilsr   r   sklearn.utils._testingr	   sklearn.utils._mockingr
   fixturer   r   r   markparametrizer   r"   r,   r.   rK   rT   r^   r`   rc   r   r   r   r   <module>   sl    

	




,