o
    $j                     @   sr   d dl Zd dlZd dlmZmZmZmZmZm	Z	 d dl
mZ d dlmZ edZG dd dZG dd dZdS )	    N)Categorical	DataFrame
MultiIndexSeriesStringDtype
date_range)Versionxarrayc                   @   s2   e Zd Zejdd Zdd Zdd Zdd Zd	S )
TestDataFrameToXArrayc                 C   s`   t tdttddtdddtjddd	d
g dttdtdddtdddddS )Nabcd            u1g      @g       @Zfloat64dtype)TFTFZ20130101   )periodsz
US/Eastern)r   tz)abcdefgh)r   listrangenpZarangeastyper   r   )self r#   d/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/pandas/tests/generic/test_to_xarray.pydf   s   

zTestDataFrameToXArray.dfc                 C   s   |}t |dkrtd ddlm} |d d |_d|j_d|j_| }|j	d dks/J t |j
dks8J t |jdksAJ tt|j
 dg t||sTJ | }|d	 |s`tnd
|d	< d |j_t| | d S )Nr   z'Test doesn't make sense for empty indexDatasetr   foobarr      r   str)lenpytestskipr	   r'   indexnamecolumns	to_xarraysizescoords	data_varstmassert_almost_equalr   keys
isinstancecopyr!   objectassert_frame_equalto_dataframe)r"   
index_flatr%   using_infer_stringr/   r'   resultexpectedr#   r#   r$   test_to_xarray_index_types"   s&   

z0TestDataFrameToXArray.test_to_xarray_index_typesc                 C   sH   ddl m} d|j_|dd  }|jd dksJ t||s"J d S )Nr   r&   r(   )r	   r'   r/   r0   r2   r3   r9   )r"   r%   r'   r@   r#   r#   r$   test_to_xarray_empty>   s
   z*TestDataFrameToXArray.test_to_xarray_emptyc                 C   s   ddl m} tjdgtdgddgd|_| }|jd dks"J |jd dks+J t|j	d	ks4J t|j
d
ks=J tt|j	 ddg t||sQJ | }| }|d |satnd|d< d |j_t|| d S )Nr   r&   r   r   onetwonamesr      r*   r   r+   )r	   r'   r   from_productr   r/   r2   r3   r,   r4   r5   r6   r7   r   r8   r9   r=   r:   r!   r;   r1   r0   r<   )r"   r%   r?   r'   r@   rA   r#   r#   r$   test_to_xarray_with_multiindexF   s    
z4TestDataFrameToXArray.test_to_xarray_with_multiindexN)	__name__
__module____qualname__r-   Zfixturer%   rB   rC   rJ   r#   r#   r#   r$   r
      s    
r
   c                   @   s$   e Zd Zdd Zdd Zdd ZdS )TestSeriesToXArrayc                 C   s   |}t |jtr+|jjdkr+ttjtdkr+ttjtdk r+|tj	j
dtd ddlm} ttt||dd	}d
|j_| }t| t|t|ksRJ t|jdks[J tt|j d
g t ||snJ t| | d S )NZpyarrowz2024.9.0z2025.6.0z-xarray calling reshape of ArrowExtensionArray)reasonZraisesr   	DataArrayint64)r/   r   r(   r   )r9   r   r   Zstorager   r	   __version__Zapplymarkerr-   markZxfailNotImplementedErrorrQ   r   r   r,   r/   r0   r2   reprr4   r6   r7   r   r8   assert_series_equal	to_series)r"   r>   requestr/   rQ   serr@   r#   r#   r$   rB   ]   s,   
z-TestSeriesToXArray.test_to_xarray_index_typesc                 C   st   ddl m} tg td}d|j_| }t|dksJ t|jdks%J t	
t|j dg t||s8J d S )Nr   rP   r   r(   r   )r	   rQ   r   r;   r/   r0   r2   r,   r4   r6   r7   r   r8   r9   )r"   rQ   rZ   r@   r#   r#   r$   rC   {   s   z'TestSeriesToXArray.test_to_xarray_emptyc                 C   s   ddl m} tjddgtdgddgd}ttd	d
|d}| }t|dks*J t	t
|j ddg t||s>J | }t|| d S )Nr   rP   r   r   r   rD   rE   rF      rR   )r   r/   rH   )r	   rQ   r   rI   r   r   r2   r,   r6   r7   r   r4   r8   r9   rX   rW   )r"   rQ   mirZ   r@   resr#   r#   r$   rJ      s   z1TestSeriesToXArray.test_to_xarray_with_multiindexN)rK   rL   rM   rB   rC   rJ   r#   r#   r#   r$   rN   \   s    rN   )numpyr    r-   Zpandasr   r   r   r   r   r   Zpandas._testingZ_testingr6   Zpandas.util.versionr   Zimportorskipr	   r
   rN   r#   r#   r#   r$   <module>   s     
J