
    Owg$              
          d dl Zd dlZd dlZd dlmZmZ d dlmZ	 ej                  j                  dd eg d      fd eg d      fd eg d	      fg      d
        Zej                  j                  dd eg d      fd eg d      fd eg d      fg      d        Zej                  j                  dg  e ed            g      d        Z G d d      Zy)    N)CategoricalSerieszkeep, expectedfirstFFFFTTFlastFTTFFFFFFTTFTTFc                    t        g dt        j                  |             }|j                  dk(  rt        j                  d       t        j                  |j                  |      |       t        j                  |j                  |      ||           |j                         }|j                  |d      }|J t        j                  |||           y )N)   r         r   r      dtypeboolz.tested separately in test_drop_duplicates_boolkeepTr   inplace)
r   npr   pytestskiptmassert_series_equal
duplicateddrop_duplicatescopy)any_numpy_dtyper   expectedtcscreturn_values         g/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/series/methods/test_drop_duplicates.pytest_drop_duplicatesr$      s     
%RXXo-F	GB	xx6DE2==d=3X>2--4-8"hY-H	B%%4%>L2r8)}-    FFTTTTFFTTTTc                 @   t        g d      }t        j                  |j                  |       |       t        j                  |j	                  |       ||           |j                         }|j	                  | d      }t        j                  |||           |J y )NTFTFr   Tr   )r   r   r   r   r   r   )r   r   r    r!   r"   s        r#   test_drop_duplicates_boolr+   "   s     
*	+B2==d=3X>2--4-8"hY-H	B%%4%>L2r8)}-r%   valuesr   c                 R   t        |t        j                  |             }t        dgt        |      z  d      }|j                  dk(  r
|d d }|d d }t	        j
                  |j                  |      |       |j                  |      }t	        j
                  ||       ||usJ y )Nr   Fr      r   )r   r   r   lenr   r   r   r   )r   r   r,   r    r   result_droppeds         r#   "test_drop_duplicates_no_duplicatesr1   5   s    	bhh7	8BugB'v6H	xx6 VBQ<2==d=3X>''T'2N>2. ###r%   c                       e Zd Z ej                  g d      d        Zej                  d        Zd Zd Zd Z	ej                  d        Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zy)TestSeriesDropDuplicates)int_uintfloat64str_ztimedelta64[h]zdatetime64[D])paramsc                     |j                   S )N)param)selfrequests     r#   r   zTestSeriesDropDuplicates.dtypeJ   s     }}r%   c                     t        j                  g dt        j                  |            }t        j                  g dt        j                  |            }t        |||      }t	        |      }|S )Nr   r.   r   r   r   r   )r   r.   r   r   
categoriesorderedr   arrayr   r   r   )r;   r   rA   	cat_arrayinput1cattc1s          r#   cat_series_unused_categoryz3TestSeriesDropDuplicates.cat_series_unused_categoryP   sP     HH_BHHUOD	,bhhuo>&YHSk
r%   c                 B   |}t        g d      }|j                         }t        j                  ||       |j	                         }t        j                  |||           |j                         }|j	                  d      }|J t        j                  |||           y )N)FFFTTr   r   r   r   r   r   r   r;   rH   rG   r   resultr!   r"   s          r#   )test_drop_duplicates_categorical_non_boolzBTestSeriesDropDuplicates.test_drop_duplicates_categorical_non_boolZ   s    (56!
vx0$$&
vsH9~6XXZ))$)7###
r3y>2r%   c                 L   |}t        g d      }|j                  d      }t        j                  ||       |j	                  d      }t        j                  |||           |j                         }|j	                  dd      }|J t        j                  |||           y )N)FFTFr   r   Tr   rK   rL   s          r#   2test_drop_duplicates_categorical_non_bool_keeplastzKTestSeriesDropDuplicates.test_drop_duplicates_categorical_non_bool_keeplastj   s     )56V,
vx0$$&$1
vsH9~6XXZ))vt)D###
r3y>2r%   c                 L   |}t        g d      }|j                  d      }t        j                  ||       |j	                  d      }t        j                  |||           |j                         }|j	                  dd      }|J t        j                  |||           y )Nr&   Fr   Tr   rK   rL   s          r#   3test_drop_duplicates_categorical_non_bool_keepfalsezLTestSeriesDropDuplicates.test_drop_duplicates_categorical_non_bool_keepfalse|   s     )45U+
vx0$$%$0
vsH9~6XXZ))ud)C###
r3y>2r%   c                     t        j                  g dt        j                  |            }t        j                  g dt        j                  |            }t        |||      }t	        |      }|S )Nr>   r   )r   r.   r   r   r   r.   r   r?   rB   )r;   r   rA   rD   input2rF   tc2s          r#   
cat_seriesz#TestSeriesDropDuplicates.cat_series   sQ     HH_BHHUOD	/rxxG&YHSk
r%   c                 B   |}t        g d      }|j                         }t        j                  ||       |j	                         }t        j                  |||           |j                         }|j	                  d      }|J t        j                  |||           y )Nr   TrJ   rK   r;   rV   rU   r   rM   r!   r"   s          r#   *test_drop_duplicates_categorical_non_bool2zCTestSeriesDropDuplicates.test_drop_duplicates_categorical_non_bool2   s    IJ!
vx0$$&
vsH9~6XXZ))$)7###
r3y>2r%   c                 L   |}t        g d      }|j                  d      }t        j                  ||       |j	                  d      }t        j                  |||           |j                         }|j	                  dd      }|J t        j                  |||           y )Nr   r   r   Tr   rK   rX   s          r#   3test_drop_duplicates_categorical_non_bool2_keeplastzLTestSeriesDropDuplicates.test_drop_duplicates_categorical_non_bool2_keeplast   s    IJV,
vx0$$&$1
vsH9~6XXZ))vt)D###
r3y>2r%   c                 L   |}t        g d      }|j                  d      }t        j                  ||       |j	                  d      }t        j                  |||           |j                         }|j	                  dd      }|J t        j                  |||           y )Nr	   Fr   Tr   rK   rX   s          r#   4test_drop_duplicates_categorical_non_bool2_keepfalsezMTestSeriesDropDuplicates.test_drop_duplicates_categorical_non_bool2_keepfalse   s    GHU+
vx0$$%$0
vsH9~6XXZ))ud)C###
r3y>2r%   c                    t        t        g dddg|            }t        g d      }t        j                  |j	                         |       t        j                  |j                         ||           |j                         }|j                  d      }|J t        j                  |||           t        g d      }t        j                  |j	                  d	      |       t        j                  |j                  d	      ||           |j                         }|j                  dd
      }|J t        j                  |||           t        g d      }t        j                  |j	                  d	      |       t        j                  |j                  d	      ||           |j                         }|j                  dd
      }|J t        j                  |||           y )Nr*   TFr?   r&   rJ   r'   r   r   r   r(   )r   r   r   r   r   r   r   )r;   rA   r    r   r!   r"   s         r#   %test_drop_duplicates_categorical_boolz>TestSeriesDropDuplicates.test_drop_duplicates_categorical_bool   s   *e}g
 45
r}}9
r113R	]CWWY))$)7###
r2xi=145
r}}&}98D
r11v1>H9NWWY))vt)D###
r2xi=123
r}}%}8(C
r11u1=r8)}MWWY))ud)C###
r2xi=1r%   c           	          t        t        dddd|gddgd            }|j                         }t        t        ddt        j                  gddgd      g d      }t        j                  ||       y )NTFr?   )r   r   r   )index)r   r   r   r   nanr   r   )r;   nulls_fixtureserrM   r   s        r#   (test_drop_duplicates_categorical_bool_nazATestSeriesDropDuplicates.test_drop_duplicates_categorical_bool_na   sw    udE=9 %=
 $$&ubff-4-QUV
 	vx0r%   c                     t        g d      }|j                  d      }t        g d      }t        j                  ||       y )N)r   r.   r.   r   T)ignore_index)r   r.   r   )r   r   r   r   r;   rd   rM   r   s       r#   !test_drop_duplicates_ignore_indexz:TestSeriesDropDuplicates.test_drop_duplicates_ignore_index   s9    \"$$$$7)$
vx0r%   c                     t        j                  d       t        g dd      }|j                         }t        g dd      }t	        j
                  ||       y )Npyarrow)TFNFzbool[pyarrow]r   )TFN)r   importorskipr   r   r   r   rh   s       r#   test_duplicated_arrow_dtypez4TestSeriesDropDuplicates.test_duplicated_arrow_dtype   sH    I&/G$$&-_E
vx0r%   c                 8   t        j                  d      }t        ddgt        j                  |j                                     }|j                         }t        dgt        j                  |j                                     }t        j                  ||       y )Nrk   ar   )	r   rl   r   pd
ArrowDtypestringr   r   r   )r;   pard   rM   expecetds        r#   "test_drop_duplicates_arrow_stringsz;TestSeriesDropDuplicates.test_drop_duplicates_arrow_strings  sl      +c3Zr}}RYY['AB$$&3%r}}RYY['AB
vx0r%   N)__name__
__module____qualname__r   fixturer   rH   rN   rP   rR   rV   rY   r[   r]   r_   re   ri   rm   ru    r%   r#   r3   r3   I   s    V^^U ^^ 3 3$3$ ^^ 3 3 3 2>1 111r%   r3   )numpyr   r   pandasrp   r   r   pandas._testing_testingr   markparametrizer$   r+   listranger1   r3   rz   r%   r#   <module>r      s        	&HIJ	GHI	DEF.. 	&345	234	/01   BU1X#78$ 9$&B1 B1r%   