
     h_                        d dl Z d dlZd dlZd dlZd dlZd dlm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mZmZmZmZmZmZmZmZmZmZmZmZmZ d dlm Z  d dl!m"Z" d	 Z#d
 Z$d Z%d Z&d Z' G d dej(                  Z)d Z*d Z+d Z,d Z-d Z.d Z/ G d d          Z0 G d d          Z1 G d d          Z2 G d d          Z3ej4        5                    d          ej4        6                    d e2 e1                        e3 e1                       g          d!                         Z7 G d" d#          Z8d?d%Z9d& Z:ej4        6                    d'd(d)g          d*             Z;ej4        6                    d+ej<        ej=        ej>        ej?        g          d,             Z@ej4        6                    d-d.eAfd/eBfd0ejC        fd1ejD        fd2ejD        fd3ejE        fd4d5 fd6d7 fd8d9 fd:eFfg
          ej4        6                    d;ej>        ejG        fej?        ejG        fej<        ejH        fej=        ejH        fg          d<                         ZId= ZJd> ZKdS )@    N)sparse)
deprecated)available_ifif_delegate_has_method)	_test_sum)assert_raisesassert_no_warningsset_random_stateassert_raise_messageignore_warningscheck_docstring_parametersassert_allclose_dense_sparseassert_raises_regex
TempMemmapcreate_memmap_backed_data_delete_folder_convert_containerraisesassert_allclose)DecisionTreeClassifier)LinearDiscriminantAnalysisc                      t                      } t                      }t          | d           t          |d           |j        dk    sJ d S )N   )r   r   r
   random_state)ldatrees     \/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/sklearn/utils/tests/test_testing.pytest_set_random_stater   $   sR    
$
&
&C!##DS!T1!!!!!!    c                  
   t          j        d                              dd          } d}t          j        |           }| |fD ]X}t          j        t          |          5  t          ||dz             d d d            n# 1 swxY w Y   t          ||           Yt          j        t          d          5  t          | |           d d d            n# 1 swxY w Y   t          j
        t          j        d          d	                                          }t          j        t          j        d
                    }t          j        t          d          5  t          ||           d d d            d S # 1 swxY w Y   d S )N	   r   zNot equal to tolerance match   zCan only compare two sparse   r   )offsets)   r%   zArrays are not equal)nparangereshaper   
csc_matrixpytestr   AssertionErrorr   
ValueErrordiagsonestocsr
csr_matrix)xmsgyXABs         r   !test_assert_allclose_dense_sparser9   -   s   
	!Q""A
#C!AV + +]>555 	3 	3(AE222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3$Q****	z)F	G	G	G + +$Q***+ + + + + + + + + + + + + + + 	RWQZZ+++1133A"'&//**A	~-C	D	D	D + +$Q***+ + + + + + + + + + + + + + + + + +s6    B  B	B	7CCCE88E<?E<c                      t          t          d          5  t          t          d          5  	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )NzHello world)r4   )r   r-   r   r.    r   r   test_assert_raises_msgr<   @   s    	^]	;	;  :=999 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	                 s.   A;A?	A?	AAAc                  b   d } d }t          t          d| d           t          t          t           t          d| d           t          t          t           t          d| d           t          t          t           t          d|           t          t          t           t          t
          fd|           d S )Nc                      t          |           N)r.   )messages    r   _raise_ValueErrorz4test_assert_raise_message.<locals>._raise_ValueErrorG   s    !!!r   c                      d S r?   r;   r;   r   r   	_no_raisez,test_assert_raise_message.<locals>._no_raiseJ       r   testzsomething else)r   r.   r   r-   	TypeErrorAttributeError)rA   rC   s     r   test_assert_raise_messagerH   F   s    " " "   V->GGG      ."6
FIVVV 	^$    r   c                  >	   d d t          t                               t          t          t                               t          j        t                    5   t          t
                                 d d d            n# 1 swxY w Y   t          j        t
                    5   t          t                                 d d d            n# 1 swxY w Y   t          j        t                    5   t          t
                                 d d d            n# 1 swxY w Y   t          t          t          t
          f                     t          fd            } t          t          t
          f          fd            }t          t                    fd            }t          t
                    fd            }t          t                    fd            }t          t
                    fd	            }t          |            t          |           t          |           t          j        t                    5   |             d d d            n# 1 swxY w Y   t          j        t
                    5   |             d d d            n# 1 swxY w Y   t          j        t                    5   |             d d d            n# 1 swxY w Y   fd
}fd}fd}fd}	fd}
fd}t          |           t          |           t          |           t          j        t                    5   |	             d d d            n# 1 swxY w Y   t          j        t
                    5   |
             d d d            n# 1 swxY w Y   t          j        t                    5   |             d d d            n# 1 swxY w Y   t
          }d}t          j        t          |          5   t          |                    } |             d d d            n# 1 swxY w Y   t          j        t          |          5  t          |          d             }d d d            d S # 1 swxY w Y   d S )Nc                  :    t          j        dt                     d S Nzdeprecation warningwarningswarnDeprecationWarningr;   r   r   _warning_functionz.test_ignore_warning.<locals>._warning_functionp   s    +-?@@@@@r   c                  b    t          j        dt                     t          j        d           d S rK   rL   r;   r   r   _multiple_warning_functionz7test_ignore_warning.<locals>._multiple_warning_functions   s-    +-?@@@+,,,,,r   categoryc                  0                                 d S r?   r;   )rR   rP   s   r   decorator_no_warningz1test_ignore_warning.<locals>.decorator_no_warning   s'    ""$$$$$r   c                                     d S r?   r;   rR   s   r   decorator_no_warning_multiplez:test_ignore_warning.<locals>.decorator_no_warning_multiple       ""$$$$$r   c                                     d S r?   r;   rP   s   r    decorator_no_deprecation_warningz=test_ignore_warning.<locals>.decorator_no_deprecation_warning       r   c                                     d S r?   r;   r\   s   r   decorator_no_user_warningz6test_ignore_warning.<locals>.decorator_no_user_warning   r^   r   c                                     d S r?   r;   rX   s   r   )decorator_no_deprecation_multiple_warningzFtest_ignore_warning.<locals>.decorator_no_deprecation_multiple_warning   rZ   r   c                                     d S r?   r;   rX   s   r   "decorator_no_user_multiple_warningz?test_ignore_warning.<locals>.decorator_no_user_multiple_warning   rZ   r   c                  j    t                      5                 d d d            d S # 1 swxY w Y   d S r?   )r   r\   s   r   context_manager_no_warningz7test_ignore_warning.<locals>.context_manager_no_warning   s     	  	 	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   (,,c                      t          t          t          f          5                 d d d            d S # 1 swxY w Y   d S NrS   )r   rO   UserWarningrX   s   r   #context_manager_no_warning_multiplez@test_ignore_warning.<locals>.context_manager_no_warning_multiple   s    '9;&GHHH 	) 	)&&(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   6::c                  x    t          t                    5                 d d d            d S # 1 swxY w Y   d S rh   r   rO   r\   s   r   &context_manager_no_deprecation_warningzCtest_ignore_warning.<locals>.context_manager_no_deprecation_warning   s    &8999 	  	 	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	    /33c                  x    t          t                    5                 d d d            d S # 1 swxY w Y   d S rh   r   ri   r\   s   r   context_manager_no_user_warningz<test_ignore_warning.<locals>.context_manager_no_user_warning   s    k222 	  	 	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 rn   c                  x    t          t                    5                 d d d            d S # 1 swxY w Y   d S rh   rl   rX   s   r   /context_manager_no_deprecation_multiple_warningzLtest_ignore_warning.<locals>.context_manager_no_deprecation_multiple_warning   s    &8999 	) 	)&&(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)rn   c                  x    t          t                    5                 d d d            d S # 1 swxY w Y   d S rh   rp   rX   s   r   (context_manager_no_user_multiple_warningzEtest_ignore_warning.<locals>.context_manager_no_user_multiple_warning   s    k222 	) 	)&&(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)rn   zA'obj' should be a callable.+you should use 'category=UserWarning'r"   c                      d S r?   r;   r;   r   r   rE   z!test_ignore_warning.<locals>.test   s    Dr   )	r	   r   rO   r,   warnsri   FutureWarningr   r.   )rV   rY   r]   r`   rb   rd   rf   rj   rm   rq   rs   ru   warning_classr#   silence_warnings_funcrE   rR   rP   s                   @@r   test_ignore_warningr{   m   sO   A A A- - -
 '899:::'8CUVVVWWW	(	)	) C C@)K@@@BBBC C C C C C C C C C C C C C C	k	"	" N NK2]KKKMMMN N N N N N N N N N N N N N N	(	)	) L LI2[IIIKKKL L L L L L L L L L L L L L L)5G4UVVV  
 % % % % % _% 1;?@@@% % % % A@% 0111    21 k***    +* 0111% % % % 21% k***% % % % +*% +,,,45557888	(	)	) $ $!!###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $	k	"	" 4 4113334 4 4 4 4 4 4 4 4 4 4 4 4 4 4	(	)	) - -**,,,- - - - - - - - - - - - - - -         ) ) ) ) )                  ) ) ) ) )) ) ) ) ) 1222:;;;=>>>	(	)	) * *'')))* * * * * * * * * * * * * * *	k	"	" : :77999: : : : : : : : : : : : : : :	(	)	) 3 3002223 3 3 3 3 3 3 3 3 3 3 3 3 3 3  MOE	z	/	/	/     > > >?P Q Q                              
z	/	/	/  		'	'	 	 
(	'	                 s   !BBB0CC"C?D**D.1D.I66I:=I:J11J58J5K,,K03K0M22M69M6N--N14N1O((O,/O,#QQ
Q
,RRRc                       e Zd Zd ZdS )	TestWarnsc                     d }t          j        t                    5  t          |           d d d            n# 1 swxY w Y   t          d d          dk    sJ d S )Nc                  .    t          j        d           dS )Nyor   )rM   rN   r;   r   r   fzTestWarns.test_warn.<locals>.f   s    M$1r   c                     | S r?   r;   )r3   s    r   <lambda>z%TestWarns.test_warn.<locals>.<lambda>   s    A r   r'   )r,   r   r-   r	   )selfr   s     r   	test_warnzTestWarns.test_warn   s    	 	 	 ]>** 	" 	"q!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"!++q11Q666666s   9= =N)__name__
__module____qualname__r   r;   r   r   r}   r}      s#        7 7 7 7 7r   r}   c                     | |z   }|S zFunction f

    Parameters
    ----------
    a : int
        Parameter a
    b : float
        Parameter b

    Returns
    -------
    c : list
        Parameter c
    r;   abcs      r   f_okr           	
AAHr   c                     | |z   }|S )zFunction f

    Parameters
    ----------
    a : int
        Parameter a
    b : float
        Parameter b

    Results
    -------
    c : list
        Parameter c
    r;   r   s      r   f_bad_sectionsr      r   r   c                     || z   }|S r   r;   )r   r   r   s      r   f_bad_orderr     r   r   c                     | |z   }|S )zFunction f

    Parameters
    ----------
    a : int
        Parameter a
    b : int
        Parameter b
    c : int
        Parameter c

    Returns
    -------
    d : list
        Parameter c
    r;   )r   r   ds      r   f_too_many_param_docstringr   !  s    " 	
AAHr   c                     | |z   }|S )zFunction f

    Parameters
    ----------
    a : int
        Parameter a

    Returns
    -------
    c : list
        Parameter c
    r;   r   s      r   	f_missingr   6  s     	
AAHr   c                     | |z   |z   |z   S )zFunction f

    Parameters
    ----------
    a: int
        Parameter a
    b:
        Parameter b
    c :
        This is parsed correctly in numpydoc 1.2
    d:int
        Parameter d
    e
        No typespec is allowed without colon
    r;   )r   r   r   r   es        r   f_check_param_definitionr   G  s      q519q=r   c                       e Zd Zd Zd ZdS )Klassc                     d S r?   r;   r   r6   r5   s      r   r   zKlass.f_missing[  rD   r   c                     dS )zFunction f

        Parameter
        ---------
        a : int
            Parameter a
        b : float
            Parameter b

        Results
        -------
        c : list
            Parameter c
        Nr;   r   s      r   r   zKlass.f_bad_sections^  s	     	r   N)r   r   r   r   r   r;   r   r   r   r   Z  s2              r   r   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )MockEstc                     dS )MockEstimatorNr;   r   s    r   __init__zMockEst.__init__q        r   c                     |S r?   r;   r   s      r   fitzMockEst.fitt      r   c                     |S r?   r;   r   r6   s     r   predictzMockEst.predictw  r   r   c                     |S r?   r;   r   s     r   predict_probazMockEst.predict_probaz  r   r   c                     dS )N      ?r;   r   s     r   scorezMockEst.score}  s    sr   N)r   r   r   r   r   r   r   r   r;   r   r   r   r   p  s_                    r   r   c                       e Zd Zd Z ed           d             Z ed            ed          d                         Z ed           d             Z ed	          d
             Z	dS )MockMetaEstimatorc                     || _         dS zMetaEstimator to check if doctest on delegated methods work.

        Parameters
        ---------
        delegate : estimator
            Delegated estimator.
        Ndelegater   r   s     r   r   zMockMetaEstimator.__init__       !r   c                 ,    t          | j        d          S )Nr   hasattrr   r   s    r   r   zMockMetaEstimator.<lambda>  s    wt}i@@ r   c                 6    | j                             |          S zThis is available only if delegate has predict.

        Parameters
        ----------
        y : ndarray
            Parameter y
        r   r   r   s     r   r   zMockMetaEstimator.predict       }$$Q'''r   c                 ,    t          | j        d          S )Nr   r   r   s    r   r   zMockMetaEstimator.<lambda>  s    wt}g>> r   %Testing a deprecated delegated methodc                     dS zThis is available only if delegate has score.

        Parameters
        ---------
        y : ndarray
            Parameter y
        Nr;   r   s     r   r   zMockMetaEstimator.score  r   r   c                 ,    t          | j        d          S )Nr   r   r   s    r   r   zMockMetaEstimator.<lambda>  s    wt}oFF r   c                     |S zThis is available only if delegate has predict_proba.

        Parameters
        ---------
        X : ndarray
            Parameter X
        r;   r   s     r   r   zMockMetaEstimator.predict_proba  	     r   -Testing deprecated function with wrong paramsc                     dS z,Incorrect docstring but should not be testedNr;   r   s      r   r   zMockMetaEstimator.fit  r   r   N)
r   r   r   r   r   r   r   r   r   r   r;   r   r   r   r     s        ! ! ! \@@AA( ( BA( \>>??Z788  98 @? \FFGG  HG Z?@@; ; A@; ; ;r   r   c                       e Zd Zd Z ed          d             Z ed           ed          d                         Z ed          d             Z ed          d	             Z	d
S )%MockMetaEstimatorDeprecatedDelegationc                     || _         dS r   r   r   s     r   r   z.MockMetaEstimatorDeprecatedDelegation.__init__  r   r   r   r   c                 6    | j                             |          S r   r   r   s     r   r   z-MockMetaEstimatorDeprecatedDelegation.predict  r   r   r   c                     dS r   r;   r   s     r   r   z+MockMetaEstimatorDeprecatedDelegation.score  r   r   c                     |S r   r;   r   s     r   r   z3MockMetaEstimatorDeprecatedDelegation.predict_proba  r   r   r   c                     dS r   r;   r   s      r   r   z)MockMetaEstimatorDeprecatedDelegation.fit  r   r   N)
r   r   r   r   r   r   r   r   r   r   r;   r   r   r   r     s        ! ! ! Z000( ( 10( Z000Z788  98 10 Z000  10 Z?@@; ; A@; ; ;r   r   z,ignore:if_delegate_has_method was deprecated	mock_metar   c                    t          j        ddd           t          t                    }|g k    sJ t          t          dg          }|g k    sJ t          t          dg          }|g k    sJ t          j        t          d          5  t          t                     d d d            n# 1 swxY w Y   t          j        t          d	          5  t          t          j                   d d d            n# 1 swxY w Y   t          t                    }| j
        j        }|g d
k    sJ g dg dg dg ddd| dz   ddddddgdd| dz   dz   dddgdd| dz   dddgdd| dz   dddd gg}t          |t          t          t          t          j        | j        | j        | j        | j        g          D ]+\  }}t          |          }||k    sJ d!|d"|d#            ,d S )$Nnumpydocz+numpydoc is required to test the docstringsz1.2.0)reason
minversionr   )ignorezUnknown section Resultsr"   zUnknown section Parameter)zxsklearn.utils.tests.test_testing.f_check_param_definition There was no space between the param name and colon ('a: int')ztsklearn.utils.tests.test_testing.f_check_param_definition There was no space between the param name and colon ('b:')zwsklearn.utils.tests.test_testing.f_check_param_definition There was no space between the param name and colon ('d:int'))z9In function: sklearn.utils.tests.test_testing.f_bad_orderznThere's a parameter name mismatch in function docstring w.r.t. function signature, at index 0 diff: 'b' != 'a'
Full diff:z- ['b', 'a']z+ ['a', 'b'])zHIn function: sklearn.utils.tests.test_testing.f_too_many_param_docstringz_Parameters in function docstring have more items w.r.t. function signature, first extra item: cr   - ['a', 'b']z+ ['a', 'b', 'c']z?          +++++)z7In function: sklearn.utils.tests.test_testing.f_missingzaParameters in function docstring have less items w.r.t. function signature, first missing item: br   r   z+ ['a'])z=In function: sklearn.utils.tests.test_testing.Klass.f_missingaParameters in function docstring have less items w.r.t. function signature, first missing item: Xr   - ['X', 'y']+ []zIn function: z!sklearn.utils.tests.test_testing.z.predictznThere's a parameter name mismatch in function docstring w.r.t. function signature, at index 0 diff: 'X' != 'y'r   z- ['X']z?   ^z+ ['y'].r   z&potentially wrong underline length... zParameters z--------- in z.scorez.fitr   r   r   z
"z"
 not in 
"")r,   importorskipr   r   r   r   RuntimeErrorr   r   r   	__class__r   zipr   r   r   r   r   r   )r   	incorrectmock_meta_namemessagesr4   r   s         r   test_check_docstring_parametersr     sH    <    +400I????*4>>>I????*9cUCCCI????	|+D	E	E	E 3 3">2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3	|+F	G	G	G 9 9"5#78889 9 9 9 9 9 9 9 9 9 9 9 9 9 9 ++CDDI(1N       	
 	
 	
		
 		
 		
	
 	
 	
	
 	
 	
 J.JJJK?
	
 C.CCCD 5	
 H.HHHI4	
 V.VVVV0	
{EHN &O#OM		
  M MQ /q11	iSSS)))!LM Ms$   B..B25B2C::C>C>c                       e Zd Zd Zd ZdS )RegistrationCounterc                     d| _         d S )Nr   )nb_callsr   s    r   r   zRegistrationCounter.__init__a  s    r   c                 F    | xj         dz  c_         |j        t          u sJ d S )Nr'   )r   funcr   )r   to_register_funcs     r   __call__zRegistrationCounter.__call__d  s,    $666666r   N)r   r   r   r   r   r;   r   r   r   r   `  s2          7 7 7 7 7r   r   rc                     t          |t          j                  sJ |dk    }|j        j        |u sJ t          j                            | |           d S )Nr   )
isinstancer(   memmapflags	writeabletestingassert_array_equal)input_array	mmap_data	mmap_moder   s       r   check_memmapr   i  sX    i+++++S I?$	1111J!!+y99999r   c                    t                      }|                     t          d|           t          j        d          }t          |          5 }t          ||           t          j        	                    |j
                  }d d d            n# 1 swxY w Y   t          j        dk    r!t          j                            |          rJ |j        dk    sJ d}t          ||          5 }t          |||           t          j        	                    |j
                  }d d d            n# 1 swxY w Y   t          j        dk    r!t          j                            |          rJ |j        dk    sJ d S )Nregisterr   ntr'   r+)r   r$   )r   setattratexitr(   r0   r   r   ospathdirnamefilenamenameexistsr   )monkeypatchregistration_counterr   datatemp_folderr   s         r   test_tempmemmapr  p  s   .00
,@AAA'!**K	K	 	  5D[$'''goodm445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
w$7>>+.....(A----I	K9	5	5	5 5[$)<<<<goodm445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
w$7>>+.....(A------s$   5BBB+7D..D25D2alignedFTc                 &   t                      }|                     t          d|           t          j        d          }t          ||          }t          ||           |j        dk    sJ t          |d|          \  }}t          ||           |t          j	        
                    |j                  k    sJ |j        dk    sJ d}t          |||	          }t          |||           |j        dk    sJ ||dz   |dz   g}t          ||          }t          ||          D ]\  }}t          ||           |j        d
k    sJ t          j        t          d          5  t          |dgd           d d d            d S # 1 swxY w Y   d S )Nr   r   )r  r'   T)return_folderr  r$   r  r   r     z`When creating aligned memmap-backed arrays, input must be a single array or a sequence of arraysr"   znot-an-array)r   r  r  r(   r0   r   r   r   r  r  r  r  r   r,   r   r.   )	r
  r  r  r   r  folderr   
input_listmmap_data_lists	            r   test_create_memmap_backed_datar    s+   .00
,@AAA'!**K$['BBBDd###(A----,4  LD& d###RW__T]333333(A----I$[IwWWWDdI...(A----{Qa@J.z7KKKN ^<< ( (T[$''''(A----	'
 
 
 O O 	";"?NNNNO O O O O O O O O O O O O O O O O Os   %FF
F
dtypec                 (   t          j        d                              |           }|j        d         sJ |j        d         sJ t	          |          }t          |dd          }t	          |          }|t          j        |d          k    sJ d	S )
z2Test memory mapped array on contiguous memoryview.
   C_CONTIGUOUSALIGNEDr  Tr  gdy=)relN)r(   r)   astyper   r   r   r,   approx)r  r3   
sum_originx_mmapsum_mmaps        r   test_memmap_on_contiguous_datar#    s     		"U##A7>""""79 1J 'qD$GGGF  Hv}ZU;;;;;;;;;r   z constructor_name, container_typelisttuplearrayr   
sparse_csr
sparse_csc	dataframec                  4    t          j        d          j        S Npandas)r,   r   	DataFramer;   r   r   r   r     s    f1(;;E r   seriesc                  4    t          j        d          j        S r+  )r,   r   Seriesr;   r   r   r   r     s    6.x88? r   indexc                  4    t          j        d          j        S r+  )r,   r   Indexr;   r   r   r   r     s    &-h77= r   slicezdtype, superdtypec                 Z   | dv r
 |            }ddg}t          || |          }t          ||          sJ | dv r,t          j        t	          |d                   |          sJ dS t          |d          r|j        |k    sJ dS t          |d          r|j        d         |k    sJ dS dS )	z\Check that we convert the container to the right type of array with the
    right data type.)r)  r.  r1  r   r'   r  )r$  r%  r1  r  dtypesN)r   r   r(   
issubdtypetyper   r  r7  )constructor_namecontainer_typer  
superdtype	containercontainer_converteds         r   test_convert_containerr?    s   @ ;;; ())AI,  
 )>:::::555 }T"5a"899:FFFFFFF	$g	.	. 6"(E111111	$h	/	/ 6")!,55556 655r   c                  z   t          t                    5  t                      # 1 swxY w Y   t          t          d          5 } t          d          # 1 swxY w Y   | j        sJ t          t          ddg          5 } t          d          # 1 swxY w Y   | j        sJ t          j         t          d          5  t          t                    5 } t	          d          # 1 swxY w Y   	 d d d            n# 1 swxY w Y   | j        rJ t          j         t
          d          5  t          t          d          5 } t	                      # 1 swxY w Y   	 d d d            n# 1 swxY w Y   | j        rJ t          j         t          d          5  t          t          d          5 } t	          d          # 1 swxY w Y   	 d d d            n# 1 swxY w Y   | j        rJ t          j         t
          d	          5  t          t          d
          5 } t          d          # 1 swxY w Y   	 d d d            n# 1 swxY w Y   | j        rJ t          j         t
          d          5  t          t          d
d          5 } t          d          # 1 swxY w Y   	 d d d            n# 1 swxY w Y   | j        rJ t          j         t
          d          5  t          t                    5 } 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   | j        rJ t          t          d
d          5 } 	 d d d            n# 1 swxY w Y   | j        rJ t          t          t          f          5  t                      # 1 swxY w Y   t          t          t          f          5  t	                      # 1 swxY w Y   t          j         t
                    5  t          t          t          f          5  	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nzhow are your"   zhello how are youznot this onezthis will be raisedzthe failure message)err_msgzthis is ignoredz,should contain one of the following patternshellozBad message)r#   rA  zDid not raiseT)r#   may_pass)r   rF   raised_and_matchedr,   r.   r-   )cms    r   test_raisesrF    s    
			  kk        
		/	/	/ -2+,,,- - - - - - - -     
	.-!@	A	A	A -R+,,,- - - - - - - -     
z)>	?	?	? 4 4I 	4"2333	4 	4 	4 	4 	4 	4 	4 	4 	44 4 4 4 4 4 4 4 4 4 4 4 4 4 4 $$$$ 
~-B	C	C	C  I'<=== 	,,	 	 	 	 	 	 	 	 	               $$$$ 
z)>	?	?	? 4 4I%6777 	422333	4 	4 	4 	4 	4 	4 	4 	4 	44 4 4 4 4 4 4 4 4 4 4 4 4 4 4 $$$$ 
L
 
 
 + + IW--- 	+M***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	++ + + + + + + + + + + + + + +
 $$$$ 
~-B	C	C	C + +IW6KLLL 	+PRM***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	++ + + + + + + + + + + + + + + $$$$ 
~_	=	=	=  I 	"	 	 	 	 	 	 	 	 	 	 	 	 	 	 	               $$$$ 
	4	8	8	8 B              $$$$ 
J'	(	(  kk       	J'	(	(  ll       	~	&	&  Y
+,, 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	                 s  $((AAABBB C=C%%C)	)C=,C)	-C==DD,E*EE	E*E	E**E.1E.G0G  G	GG	GGGIH..H2	2I5H2	6II
I
5J5JJ!	!J5$J!	%J55J9<J9$L9L;LL	LL	LL"%L"	MMMNNN;O

OO.P0
PP0P	P0P	 P00P47P4c                  d   t          t          j        dgt          j                  d           t	          j        t                    5  t          t          j        dgt          j                  d           d d d            n# 1 swxY w Y   t          t          j        dgt          j                  d           t	          j        t                    5  t          t          j        dgt          j                  d           d d d            n# 1 swxY w Y   t	          j        t                    5  t          t          j        dgt          j                  d           d d d            n# 1 swxY w Y   t          t          j        dgt          j                  dd	
           d S )Ng㈵ ?r6  r   gX ?gc^  ?g55  ?gh㈵>g        gh㈵>)atol)r   r(   r&  float32r,   r   r-   float64r;   r   r   "test_float32_aware_assert_allcloserK  ;  sE   BHj\<<<cBBB	~	&	& G G*RZ@@@#FFFG G G G G G G G G G G G G G G
 BHj\<<<cBBB	~	&	& G G*RZ@@@#FFFG G G G G G G G G G G G G G G 
~	&	& A A$rz:::C@@@A A A A A A A A A A A A A A ABHdV2:666$GGGGGGs6   	0BB	B	0DDD80E44E8;E8)r   )LrM   unittestr  r  numpyr(   scipyr   r,   sklearn.utils.deprecationr   sklearn.utils.metaestimatorsr   r   %sklearn.utils._readonly_array_wrapperr   sklearn.utils._testingr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   sklearn.treer   sklearn.discriminant_analysisr   r   r9   r<   rH   r{   TestCaser}   r   r   r   r   r   r   r   r   r   r   markfilterwarningsparametrizer   r   r   r  r  rI  rJ  int32int64r#  r$  r%  ndarrayr2   r+   r4  integerfloatingr?  rF  rK  r;   r   r   <module>r^     s>     				             0 0 0 0 0 0 M M M M M M M M ; ; ; ; ; ;                               " 0 / / / / / D D D D D D" " "+ + +&  $ $ $Nj j jZ7 7 7 7 7! 7 7 7  &  &  &  *  "  &       ,       ".; .; .; .; .; .; .; .;b.; .; .; .; .; .; .; .;b JKK7799-----wwyyAAA rM rM  LKrMj7 7 7 7 7 7 7 7: : : :. . .* UDM22"O "O 32"OJ 2:rz28RX"NOO< < PO<& &		%	"*	6$%	v()	v()	EEF	??@	==>	%  	2:	2:	R[!	R[!	 6 6  06<C C CLH H H H Hr   