
    Pi                     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 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        x/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/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          }||u sJ |j        |k                                    rJ d S )NT)r	   r
   inplace)r   r   r   r   r   )r   r   r   
frame_copyresults        r   test_inplace_clipz#TestDataFrameClip.test_inplace_clip   s~    ##%%,,.. %%''
vVTJJ####%/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!   )
r   nprandomdefault_rngstandard_normalr   minmaxr   r   )r   dflbub
clipped_dflb_maskub_maskmasks           r   test_dataframe_clipz%TestDataFrameClip.test_dataframe_clip   s   ry,,Q//??	JJKK( 		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            ?      @)ABr"   r   )r"   r   r          @)r"   r   g333333@)r3      gffffff@)foobarbazcolumnsr3   r	   )r   r#   nanr   tmassert_frame_equaldtypesassert_series_equalr   r)   r   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                    }|dz   }|                                }|                    ||d|          }|r||u sJ 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"   r   )axisr   F)check_names)r   r#   r$   r%   r&   r   r   r   rangeiloclocrA   rD   name)r   r   r)   r*   r+   r   r,   ir-   r.   r/   r   s               r   test_clip_against_seriesz*TestDataFrameClip.test_clip_against_series;   s    ry,,Q//??	JJKKBI))!,,<<TBBCC!V7799WWR!WW==
 	$####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   r3   r9   zaxis,resr   )r8   r8   r5         @      @      @)      @rU   rU   r"   )r8   r5   rR   )rS   rT   rU   c                    t          j        g dg dg dg          }t          |g dg d          }|                    |g d||          }t          ||j        |j                  }|r||u sJ t          j        ||d	
           d S )N)r4   r8   r5   rQ   )rU   g       @g      "@)onetwothree)abc)r>   index)         )r
   r	   rI   r   T)check_exact)r#   arrayr   r   r>   r]   rA   rB   )	r   r   r
   rI   resarrr   r   rF   s	            r   test_clip_against_list_likez-TestDataFrameClip.test_clip_against_list_likeX   s     h///JKK000
 
 
 U)))$PWXXS(*:(.QQQ 	&X%%%%
fhDAAAAAAr   rI   )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"   )rI   )r   r#   r$   r%   r&   r   rA   rB   )	r   rI   r)   r*   r+   r,   r-   r.   r/   s	            r   test_clip_against_framez)TestDataFrameClip.test_clip_against_framep   s    ry,,Q//??	JJKKry,,Q//??	JJKK!VWWR$W//
((x7("
j12g;???
j12g;???
j.499999r   c                 2   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   )r    r9   )r6   r7   CDr=   )rj   r6   r7   ri   r"   )r7   rj   ri   r6   r   )r
   r	   r3   )
r   r#   r$   r%   r&   r   r   r>   rA   rB   )
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   s~   I!!!$$44Y??(((
 
 
 I!!!$$44Y??(((
 
 
 
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                 r   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          t          g d
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d          }t          j        ||           dS )z&Should process np.nan argument as Noner   r2   )r9   r^   r_   )r`      	   )col_0col_1col_2r9   r^   r   )r
   rI   )r9   r^   r3   float)dtyper"   )r9   r9   r9   )r^   r^   r_   )rw   r   r!   r^   )ir_   rv   )rx   ry   r   r_   r3   )rw   r}   r   r_   r^   )r   r   r_   rv   r3   N)rA   rB   r   r#   r@   r   r   )r   r   r)   r   rF   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			999"" 
 
 	fh///1bf~A66ii)))iiiHH
 
 	fh/// +**5G5G5GHHt__Ar261a())qq))&&&1A1A1ABB'
 
 
 	fh/////r   c                     t          dg di          }|                    d          }t          dg di          }t          j        ||           d S )NrZ   r2         ?)r
   )r   r8   r5   r   r   rA   rB   rE   s       r   #test_clip_int_data_with_float_boundz5TestDataFrameClip.test_clip_int_data_with_float_bound   sZ    YYY'((s##c???344
fh/////r   c                    t          ddg          }t          ddg          }|                    dg          }t          j        ||           t          ddg          }|                    dg          }t          j        ||           d S )Nr"   r^   r3   r?   r   )r   r)   rF   r   s       r   test_clip_with_list_boundz+TestDataFrameClip.test_clip_with_list_bound   s    1vaV$$!
fh///aV$$s##
fh/////r   N)__name__
__module____qualname__r   r   r0   rG   pytestmarkparametrizerP   r#   asarrayre   rg   rt   r   r   r    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 !0F0 0 0	0 	0 	0 	0 	0r   r   )
numpyr#   r   pandasr   r   pandas._testing_testingrA   r   r   r   r   <module>r      s                     }0 }0 }0 }0 }0 }0 }0 }0 }0 }0r   