
    Goh                         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y)	    N)Categorical	DataFrame
MultiIndexSeriesStringDtype
date_range)Versionxarrayc                   B    e Zd Zej                  d        Zd Zd Zd Zy)TestDataFrameToXArrayc                 *   t        t        d      t        t        dd            t        j                  dd      j                  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    /var/www/html/wine-match-dev/backend/winematch-backend/venv/lib/python3.12/site-packages/pandas/tests/generic/test_to_xarray.pydfzTestDataFrameToXArray.df   sv    &\%1+&YYq!_++D1YYsCy9/ f.
A6
A,G	
 	
    c                    |}t        |      dk(  rt        j                  d       ddlm} |d d |_        d|j
                  _        d|j                  _        |j                         }|j                  d   dk(  sJ t        |j                        dk(  sJ t        |j                        dk(  sJ t        j                  t        |j                  j                               dg       t!        ||      sJ |j#                         }|d	   j%                  |st&        nd
      |d	<   d |j                  _        t        j(                  |j+                         |       y )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"   s    u:?KKAB"!9

||E"a'''6==!Q&&&6##$)))
tFMM$6$6$89E7C&'***
 779 ,,,F%
 !%
f113X>r+   c                     ddl m} d|j                  _        |dd j	                         }|j
                  d   dk(  sJ t        ||      sJ y )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>   sK    "Aa""$||E"a'''&'***r+   c                    ddl m} t        j                  dgt	        d      gddg      |_        |j                         }|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                  j                               ddg       t        ||      sJ |j!                         }|j#                         }|d   j%                  |st&        nd      |d<   d |j(                  _        t        j,                  ||       y )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   s!   " **SE58+<UENS||E"a'''||E"a'''6==!Q&&&6##$)))
tFMM$6$6$89E5>J&'***$$&779 ,,,F%
 !%
fh/r+   N)	__name__
__module____qualname__r4   fixturer*   rI   rK   rS    r+   r)   r   r      s'    ^^
 
?8+0r+   r   c                       e Zd Zd Zd Zd Zy)TestSeriesToXArrayc                 H   |}t        |j                  t              r|j                  j                  dk(  r~t	        t
        j                        t	        d      kD  rYt	        t
        j                        t	        d      k  r4|j                  t        j                  j                  dt                     ddlm} t        t        t        |            |d	      }d
|j                   _        |j%                         }t'        |       t        |      t        |      k(  sJ t        |j(                        dk(  sJ t+        j,                  t/        |j(                  j1                               d
g       t        ||      sJ t+        j2                  |j5                         |       y )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]   s7   u{{K0##y0**+gj.AA**+gj.AA!!J. "  	%U3u:&e7C		V6{c%j(((6==!Q&&&
tFMM$6$6$89E7C&),,, 	v//137r+   c                 T   ddl m} t        g t              }d|j                  _        |j                         }t        |      dk(  sJ t        |j                        dk(  sJ t        j                  t        |j                  j                               dg       t        ||      sJ y )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&&&
tFMM$6$6$89E7C&),,,r+   c                    ddl m} t        j                  ddgt	        d      gddg      }t        t	        d	      d
|      }|j                         }t        |      dk(  sJ t        j                  t        |j                  j                               ddg       t        ||      sJ |j                         }t        j                  ||       y )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U1XWB76{a
tFMM$6$6$89E5>J&),,, 
sC(r+   N)rT   rU   rV   rI   rK   rS   rX   r+   r)   rZ   rZ   \   s    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      sF        '			X	&G0 G0T4) 4)r+   