
    du                     L    d dl Zd dlZd dlmZmZ d dlmZ  G d d          Z	dS )    N)	DataFrameSeriesc                      e Zd Zd Zd Zd Zd Zej        	                    dddg          d             Z
ej        	                    dddg          ej        	                    d	g d
 ej        g d
          g          ej        	                    ddg dg dg dgfdg dg dg dgfg          d                                     Zej        	                    dg d          d             Zd Zd ZdS )TestDataFrameClipc                 .   |                                                                  }|                                }|                    ||          }|j        |k                                    rJ |j        |j        k                                    sJ d S )Nupperlower)mediancopyclipvaluesanyall)selffloat_framer   originaldoubles        `/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/frame/methods/test_clip.py	test_clipzTestDataFrameClip.test_clip   s    ##%%,,..##%%!!f!==MV+0022222 "ho5::<<<<<<<    c                     |                                                                  }|                                }|                    ||d          }|J |j        |k                                    rJ d S )NT)r	   r
   inplace)r   r   r   r   r   )r   r   r   
frame_copyreturn_values        r   test_inplace_clipz#TestDataFrameClip.test_inplace_clip   sy    ##%%,,.. %%''
!V64PP###%/446666666r   c                 
   t          t          j                            dd                    }dD ]\  }}|                    ||          }t          ||          t          ||          }}|j        |k    }|j        |k    }| | z  }|j        |         |k                                    sJ |j        |         |k                                    sJ |j        |         |j        |         k                                    sJ d S )N     ))   )r!   r    )	r   nprandomrandnr   minmaxr   r   )r   dflbub
clipped_dflb_maskub_maskmasks           r   test_dataframe_clipz%TestDataFrameClip.test_dataframe_clip   s   rytQ//00( 		F 		FFBRJR[[#b"++Bi2oGi2oG8wh&D%g."499;;;;;%g."499;;;;;%d+ry>CCEEEEEE		F 		Fr   c                    t          g ddt          j        dgd          }|                    dd          }t          g ddt          j        dgd          }t	          j        ||           t          g d	g d
gg d          }|j        }|                    d          j        }t	          j        ||           d S )Nr!   r      g      ?      @)ABr!   r   )r!   r   r          @)r!   r   g333333@)r1      gffffff@)foobarbazcolumnsr1   )r	   )r   r"   nanr   tmassert_frame_equaldtypesassert_series_equal)r   r'   resultexpecteds       r   test_clip_mixed_numericz)TestDataFrameClip.test_clip_mixed_numeric.   s     YYYc263-?@@AAA999C3EFFGG
fh///[[[1;P;P;PQQQ9q!!(
vx00000r   r   TFc                    t          t          j                            dd                    }t	          t          j                            d                    }|dz   }|                                }|                    ||d|          }|r|}t          d          D ]}|j        d d |f         |k    }|j        d d |f         |k    }	| |	 z  }
|j	        ||f         }t          j        |||         d           |j        |k    sJ |j	        |	|f         }t          j        |||	         d           |j        |k    sJ t          j        |j	        |
|f         |j	        |
|f                    d S )Nr   r   r!   r   )axisr   F)check_names)r   r"   r#   r$   r   r   r   rangeiloclocr=   r@   name)r   r   r'   r(   r)   r   r*   ir+   r,   r-   rA   s               r   test_clip_against_seriesz*TestDataFrameClip.test_clip_against_series;   s    rytQ//00BIOOD))**!V7799WWR!WW==
 	Jq 	M 	MAmAAAqD)R/GmAAAqD)R/G8wh&D^GQJ/F"62g;EJJJJ;!####^GQJ/F"62g;EJJJJ;!####":>$'#:BF47OLLLL	M 	Mr   r
   )r   r1   r6   zaxis,resr   )r5   r5   r2   )      @      @      @)      @rP   rP   r!   )r5   r2   rM   )rN   rO   rP   c                     |                     d          }|                    |g d||          }t          ||j        |j                  }|r|}t          j        ||d           d S )NT)deep)         )r
   r	   rE   r   )r;   index)check_exact)r   r   r   r;   rV   r=   r>   )	r   simple_framer   r
   rE   resr   rA   rB   s	            r   test_clip_against_list_likez-TestDataFrameClip.test_clip_against_list_likeX   s|      $$$$//U)))$PWXXS(*:(.QQQ 	F
fhDAAAAAAr   rE   )r   r!   Nc                    t          t          j                            dd                    }t          t          j                            dd                    }|dz   }|                    |||          }||k    }||k    }| | z  }t          j        ||         ||                    t          j        ||         ||                    t          j        ||         ||                    d S )Nr   r   r!   )rE   )r   r"   r#   r$   r   r=   r>   )	r   rE   r'   r(   r)   r*   r+   r,   r-   s	            r   test_clip_against_framez)TestDataFrameClip.test_clip_against_framel   s    rytQ//00rytQ//00!VWWR$W//
((x7("
j12g;???
j12g;???
j.499999r   c                    t          t          j                            dd          g d          }t          t          j                            dd          g d          }t          |j        dz
  g d          }|                    d|	          }|                    d||j                 	          }|                    |d
	          }|                    ||j                 d
	          }|                    ||	          }|                    ||j                 ||j                 	          }	t          j        ||           t          j        ||           t          j        ||	           d S )Nr   r6   )r3   r4   CDr:   )r_   r3   r4   r^   r!   )r4   r_   r^   r3   r   )r
   r	   r1   )	r   r"   r#   r$   r   r   r;   r=   r>   )
r   df1df2df3result_upperexpected_upperresult_lowerexpected_lowerresult_lower_upperexpected_lower_uppers
             r   #test_clip_against_unordered_columnsz5TestDataFrameClip.test_clip_against_unordered_columns|   sP   	a00:N:N:NOOO	a00:N:N:NOOO
Q0D0D0DEEExxasx33S[1ABBxxcx33CK(8BB XXCsX;;"xxc#+.>c#+FVxWW
lN;;;
lN;;;
02FGGGGGr   c                 P   t          j        |                    t          j                  |           t          j        |                    t          j        t          j                  |           t          g dg dg dd          }|                    ddt          j        gd	          }t          g d
g dg dd          }t          j        ||           |                    ddt          j        gd	          }t          g dg dg dd          }t          j        ||           g dg dd}t          |          }t          ddt          j        ddg          }|                    |d	          }t          g dg dd          }t          j        ||           dS )z&Should process np.nan argument as Noner   r0   )r6   rS   rT   )rU      	   )col_0col_1col_2r6   rS   r   )r
   rE   )r6   rS   r1   r!   )r6   r6   r6   )rS   rS   rT   )rl   r   r    rS   )irT   rk   )rm   rn   r   rT   r1   )rl   rp   r   rT   rS   )r   rs   rT   rk   r1   N)r=   r>   r   r"   r<   r   r   NaN)r   r   r'   rA   rB   datats          r   test_clip_with_na_argsz(TestDataFrameClip.test_clip_with_na_args   s    	k..rv66DDD
k..RV26.JJKXXX YYYSSTT1bf~A66ii)))iiiHH
 
 	fh///1bf~A66ii)))iiiHH
 
 	fh/// +**5G5G5GHHt__Ar261a())qq))'7'7'7BRBRBRSSTT
fh/////r   N)__name__
__module____qualname__r   r   r.   rC   pytestmarkparametrizerL   r"   asarrayrZ   r\   ri   rw    r   r   r   r      s       = = =7 7 7F F F1 1 1 [Yu66M M 76M8 [Yu66[Wyyy*"*YYY2G2G&HII[///???CD///???CD	
 	B 	B  JI 76	B [V\\\22: : 32:H H H0 0 0 0 0r   r   )
numpyr"   r{   pandasr   r   pandas._testing_testingr=   r   r   r   r   <module>r      s                     [0 [0 [0 [0 [0 [0 [0 [0 [0 [0r   