
    -i'                     $   S SK rS SKrS SKJr  S SKJr  S SKJr  S SK	J
r
Jr  \R                  S 5       r " S S\5      r " S	 S
\5      r " S S\5      r " S S\5      rS rS rS rS r\R,                  R/                  SSS/5      S 5       rg)    N)_BaseImputer)_assign_where)	_get_mask)_convert_containerassert_allclosec                  r    [         R                  R                  SS5      n [         R                  U S S S2'   U $ )N
      )nprandomrandnnan)Xs    Q/var/www/html/venv/lib/python3.13/site-packages/sklearn/impute/tests/test_base.pydatar   
   s,    
		AAVVAccFH    c                   (    \ rS rSrSS jrSS jrSrg)NoFitIndicatorImputer   Nc                     U $ N selfr   ys      r   fitNoFitIndicatorImputer.fit   s    r   c                 B    U R                  XR                  U5      5      $ r   _concatenate_indicator_transform_indicatorr   s      r   	transformNoFitIndicatorImputer.transform       **1.G.G.JKKr   r   r   __name__
__module____qualname____firstlineno__r   r"   __static_attributes__r   r   r   r   r      s    Lr   r   c                   6   ^  \ rS rSrSU 4S jjrSS jrSrU =r$ )NoTransformIndicatorImputer   c                 V   > [        U[        R                  S9n[        TU ]  U5        U $ N)value_to_mask)r   r   r   super_fit_indicator)r   r   r   mask	__class__s       r   r   NoTransformIndicatorImputer.fit   s%    "&&1t$r   c                 &    U R                  US 5      $ r   )r    r   s      r   r"   %NoTransformIndicatorImputer.transform   s    **1d33r   r   r   )r&   r'   r(   r)   r   r"   r*   __classcell__)r4   s   @r   r,   r,      s    
4 4r   r,   c                   $    \ rS rSrSS jrS rSrg)NoPrecomputedMaskFit#   Nc                 (    U R                  U5        U $ r   )r2   r   s      r   r   NoPrecomputedMaskFit.fit$   s    Ar   c                 B    U R                  XR                  U5      5      $ r   r   r   r   s     r   r"   NoPrecomputedMaskFit.transform(   r$   r   r   r   r%   r   r   r   r:   r:   #   s    Lr   r:   c                   $    \ rS rSrSS jrS rSrg)NoPrecomputedMaskTransform,   Nc                 X    [        U[        R                  S9nU R                  U5        U $ r/   )r   r   r   r2   )r   r   r   r3   s       r   r   NoPrecomputedMaskTransform.fit-   s%    "&&1D!r   c                 B    U R                  XR                  U5      5      $ r   r   r?   s     r   r"   $NoPrecomputedMaskTransform.transform2   r$   r   r   r   r%   r   r   r   rB   rB   ,   s    
Lr   rB   c                 H   [        SS9nSn[        R                  " [        US9   UR	                  U 5      R                  U 5        S S S 5        [        R                  " [        US9   UR                  U 5        S S S 5        g ! , (       d  f       NB= f! , (       d  f       g = f)NTadd_indicatorz<Make sure to call _fit_indicator before _transform_indicatormatch)r   pytestraises
ValueErrorr   r"   fit_transformr   imputererr_msgs      r   test_base_imputer_not_fitrT   6   so    #$7GLG	z	1D##D) 
2	z	1d# 
2	1 
2	1	1	1   !B'B
B
B!c                 H   [        SS9nSn[        R                  " [        US9   UR	                  U 5      R                  U 5        S S S 5        [        R                  " [        US9   UR                  U 5        S S S 5        g ! , (       d  f       NB= f! , (       d  f       g = f)NTrI   zJCall _fit_indicator and _transform_indicator in the imputer implementationrK   )r,   rM   rN   rO   r   r"   rP   rQ   s      r   test_base_imputer_not_transformrW   ?   st    )=GT  
z	1D##D) 
2	z	1d# 
2	1 
2	1	1	1rU   c                 *   [        SS9nSn[        R                  " [        US9   UR	                  U 5        S S S 5        [        R                  " [        US9   UR                  U 5        S S S 5        g ! , (       d  f       NB= f! , (       d  f       g = fNTrI   z4precomputed is True but the input data is not a maskrK   )r:   rM   rN   rO   r   rP   rQ   s      r   !test_base_no_precomputed_mask_fitrZ   J   sd    "6GDG	z	1D 
2	z	1d# 
2	1 
2	1	1	1s   A3B3
B
Bc                 L   [        SS9nSnUR                  U 5        [        R                  " [        US9   UR                  U 5        S S S 5        [        R                  " [        US9   UR                  U 5        S S S 5        g ! , (       d  f       NB= f! , (       d  f       g = frY   )rB   r   rM   rN   rO   r"   rP   rQ   s      r   'test_base_no_precomputed_mask_transformr\   S   sr    (t<GDGKK	z	1$ 
2	z	1d# 
2	1 
2	1	1	1s   B)B
B
B#X1_typearray	dataframec                 L   [         R                  R                  S5      nSu  p#[        UR	                  X#5      U S9nUR	                  X#5      nUR                  SSX#4S9R                  [        5      n[        XEU5        U S:X  a  UR                  5       n[        XF   XV   5        g)z;Check the behaviour of the private helpers `_assign_where`.r   )r	      )constructor_namer
   )sizer_   N)r   r   RandomStater   r   randintastypeboolr   to_numpyr   )r]   rng	n_samples
n_featuresX1X2r3   s          r   test_assign_wherern   ]   s     ))


"C!I	CIIi<w	WB	9	)B;;q!9"9;:AA$GD"$+[[]BHbh'r   )numpyr   rM   sklearn.impute._baser   sklearn.impute._iterativer   sklearn.utils._maskr   sklearn.utils._testingr   r   fixturer   r   r,   r:   rB   rT   rW   rZ   r\   markparametrizern   r   r   r   <module>rw      s      - 3 ) F  LL L4, 4L< LL L$$$$ Wk$:;( <(r   