
    zhh                         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j        d          Z G d d          Z G d d          ZdS )	    N)Categorical	DataFrame
MultiIndexSeriesStringDtype
date_range)Versionxarrayc                   @    e Zd Zej        d             Zd Zd Zd ZdS )TestDataFrameToXArrayc                 n   t          t          d          t          t          dd                    t          j        dd                              d          t          j        ddd	
          g dt          t          d                    t          dd          t          ddd          d          S )Nabcd            u1g      @g       @float64dtype)TFTF20130101   )periodsz
US/Eastern)r   tz)abcdefgh)r   listrangenparangeastyper   r   )selfs    Z/var/www/histauto/venv/lib/python3.11/site-packages/pandas/tests/generic/test_to_xarray.pydfzTestDataFrameToXArray.df   s    &\\%1++&&Yq!__++D11YsCy999/// f..
A666
A,GGG	 	
 
 	
    c                    |}t          |          dk    rt          j        d           ddlm} |d d         |_        d|j        _        d|j        _        |                                }|j	        d         dk    sJ t          |j
                  dk    sJ t          |j                  dk    sJ t          j        t          |j
                                                  dg           t!          ||          sJ |                                }|d	                             |st&          nd
          |d	<   d |j        _        t          j        |                                |           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_stringr6   r.   resultexpecteds           r)   test_to_xarray_index_typesz0TestDataFrameToXArray.test_to_xarray_index_types"   sa   u::??KABBB""""""!9
|E"a''''6=!!Q&&&&6#$$))))
tFM$6$6$8$899E7CCC&'*****
 7799 ,,,7FF%
 
 !%
f1133X>>>>>r+   c                     ddl m} d|j        _        |dd                                         }|j        d         dk    sJ t          ||          sJ d S )Nr   r-   r/   )r
   r.   r6   r7   r9   r:   r@   )r(   r*   r.   rG   s       r)   test_to_xarray_emptyz*TestDataFrameToXArray.test_to_xarray_empty>   sj    """"""AaC""$$|E"a''''&'*******r+   c                    ddl m} t          j        dgt	          d          gddg          |_        |                                }|j        d         dk    sJ |j        d         dk    sJ t          |j	                  d	k    sJ t          |j
                  d
k    sJ t          j        t          |j	                                                  ddg           t          ||          sJ |                                }|                                }|d                             |st&          nd          |d<   d |j        _        t          j        ||           d S )Nr   r-   r   r   onetwonamesr      r1   r    r2   )r
   r.   r   from_productr$   r6   r9   r:   r3   r;   r<   r=   r>   r#   r?   r@   rD   rA   r'   rB   r8   r7   rC   )r(   r*   rF   r.   rG   rH   s         r)   test_to_xarray_with_multiindexz4TestDataFrameToXArray.test_to_xarray_with_multiindexF   sb   """""" *SE588+<UENSSS|E"a''''|E"a''''6=!!Q&&&&6#$$))))
tFM$6$6$8$899E5>JJJ&'*****$$&&7799 ,,,7FF%
 
 !%
fh/////r+   N)	__name__
__module____qualname__r4   fixturer*   rI   rK   rS    r+   r)   r   r      s\        ^
 
 ^
? ? ?8+ + +0 0 0 0 0r+   r   c                        e Zd Zd Zd Zd ZdS )TestSeriesToXArrayc                    |}t          |j        t                    r|j        j        dk    rt	          t
          j                  t	          d          k    rct	          t
          j                  t	          d          k     r9|                    t          j	        
                    dt                               ddlm} t          t          t          |                    |d	          }d
|j        _        |                                }t'          |           t          |          t          |          k    sJ t          |j                  dk    sJ t+          j        t/          |j                                                  d
g           t          ||          sJ t+          j        |                                |           d S )Npyarrowz2024.9.0z2025.6.0z-xarray calling reshape of ArrowExtensionArray)reasonraisesr   	DataArrayint64)r6   r   r/   r   )r@   r   r   storager	   r
   __version__applymarkerr4   markxfailNotImplementedErrorr`   r   r$   r3   r6   r7   r9   reprr;   r=   r>   r#   r?   assert_series_equal	to_series)r(   rE   requestr6   r`   serrG   s          r)   rI   z-TestSeriesToXArray.test_to_xarray_index_types]   s   u{K00	#y00*++gj.A.AAA*++gj.A.AAA!!J. "     	%$$$$$U3u::&&e7CCC	V6{{c%jj((((6=!!Q&&&&
tFM$6$6$8$899E7CCC&),,,,, 	v//11377777r+   c                 t   ddl m} t          g t                    }d|j        _        |                                }t          |          dk    sJ t          |j                  dk    sJ t          j
        t          |j                                                  dg           t          ||          sJ d S )Nr   r_   r   r/   r   )r
   r`   r   rB   r6   r7   r9   r3   r;   r=   r>   r#   r?   r@   )r(   r`   rl   rG   s       r)   rK   z'TestSeriesToXArray.test_to_xarray_empty{   s    $$$$$$Rv&&&	6{{a6=!!Q&&&&
tFM$6$6$8$899E7CCC&),,,,,,,r+   c                    ddl m} t          j        ddgt	          d          gddg          }t          t	          d	          d
|          }|                                }t          |          dk    sJ t          j	        t          |j                                                  ddg           t          ||          sJ |                                }t          j        ||           d S )Nr   r_   r   r   r   rM   rN   rO      ra   )r   r6   rQ   )r
   r`   r   rR   r$   r   r9   r3   r=   r>   r#   r;   r?   r@   rj   ri   )r(   r`   mirl   rG   ress         r)   rS   z1TestSeriesToXArray.test_to_xarray_with_multiindex   s    $$$$$$$sCj%((%;E5>RRRU1XXWB7776{{a
tFM$6$6$8$899E5>JJJ&),,,,,  
sC(((((r+   N)rT   rU   rV   rI   rK   rS   rX   r+   r)   rZ   rZ   \   sA        8 8 8<	- 	- 	-
) 
) 
) 
) 
)r+   rZ   )numpyr%   r4   pandasr   r   r   r   r   r   pandas._testing_testingr=   pandas.util.versionr	   importorskipr
   r   rZ   rX   r+   r)   <module>rx      s                             ' ' ' ' ' '		X	&	&G0 G0 G0 G0 G0 G0 G0 G0T4) 4) 4) 4) 4) 4) 4) 4) 4) 4)r+   