o
    թZh                  
   @   s,  d dl Z d dlZd dlZd dlZd dlmZmZmZ d dl	m
Z ejdddgddggdd Zdd	 Zejd
deg dfdeg dfdeg dfgdd Zejjddejd
deg dfdeg dfdeg dfgdd Zejddddgdgdd Zdd Zdd ZdS )    N)	DataFrameSeries
date_rangesubsetaBc                 C   sd   t g dg dg dd}td}tjt|d ||  W d    d S 1 s+w   Y  d S )N)r   r      Ar   CzIndex(['a'], dtype=)match)r   reescapepytestZraisesKeyError
duplicated)r   dfmsg r   a/var/www/html/lang_env/lib/python3.10/site-packages/pandas/tests/frame/methods/test_duplicated.py+test_duplicated_with_misspelled_column_name   s
   
"r   c               	   C   sr   t tjdddd} t }ztd |  }W t| nt| w t	|t
s/J |jtjks7J d S )N   r     )
   r   d   )r   nprandomZdefault_rngZintegerssysgetrecursionlimitsetrecursionlimitr   
isinstancer   dtypeZbool_)r   Z	rec_limitresultr   r   r   (test_duplicated_implemented_no_recursion   s   

r#   zkeep, expectedfirst)FFTFTlast)TTFFFF)TTTFTc                 C   s2   t g dg dd}|j| d}t|| d S )Nr   r   r   r   r   r   br(   cr   )r
   r   keep)r   r   tmassert_series_equalr+   expectedr   r"   r   r   r   test_duplicated_keep,   s   	r0   z+GH#21720; nan/None falsely considered equal)reasonc                 C   s<   t tjddd tjgddtd}|j| d}t|| d S )N   r   )r   x)r!   r*   )r   r   nanobjectr   r,   r-   r.   r   r   r   test_duplicated_nan_none;   s    
r6   r
   c                 C   sx   t g dg dtjddd tjgd}| d u rt|j} nt| tr%| g} ||  j|d}|j|| d}t	|| d S )Nr&   r'   r2   r	   r*   )r+   r   )
r   r   r4   listcolumnsr    strr   r,   r-   )r   r+   r   r/   r"   r   r   r   test_duplicated_subsetK   s   
r:   c                  C   s8   t ddgd} | d}| | }|  }t|| d S )Nr   r(   )r8   )r   r   copyr,   Zassert_frame_equal)r   Zdupesr"   r/   r   r   r   test_duplicated_on_empty_framea   s
   
r<   c                  C   s^   t ddd} td| d}|ddg}|  sJ td| i}|j }|  s-J d S )Nz
2010-07-01z
2010-08-05)endZAAA)symboldater?   r>   )r   r   r   allr?   )datesZtstr"   r   r   r    test_frame_datetime64_duplicatedl   s   
rB   )r   r   numpyr   r   Zpandasr   r   r   Zpandas._testingZ_testingr,   markZparametrizer   r#   r0   Zxfailr6   r:   r<   rB   r   r   r   r   <module>   s<    
	

