
    .i                        d dl Zd dlZd dlmZmZmZmZmZ d dl	m
Z d dlmZ  ej                  d      Ze6 eej                          ed      k  rej"                  j%                  d      Z G d d      Z G d	 d
      Zy)    N)Categorical	DataFrame
MultiIndexSeries
date_range)Versionxarray2025.1.0z6ignore:Converting non-nanosecond precision:UserWarningc                   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    a/var/www/app/trading-bot/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       t        t        j
                        t        d      k  rt        j                  d       |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#        |t        j$                        sJ |j'                         }d |j                  _        t        j(                  |j+                         |       y )
Nr   z'Test doesn't make sense for empty indexz2025.9.0z7Xarray bug https://github.com/pydata/xarray/issues/9661r   foobarr      )lenpytestskipr   r	   __version__indexnamecolumns	to_xarraysizescoords	data_varstmassert_almost_equalr#   keys
isinstanceDatasetcopyassert_frame_equalto_dataframe)r(   
index_flatr*   requestr4   resultexpecteds          r)   test_to_xarray_index_typesz0TestDataFrameToXArray.test_to_xarray_index_types&   s%   u:?KKAB6%%&)<<KKQR!9

||E"a'''6==!Q&&&6##$)))
tFMM$6$6$89E7C&&..111
 779 $
f113X>r+   c                     d|j                   _        |dd j                         }|j                  d   dk(  sJ t	        |t
        j                        sJ y )Nr-   r   )r4   r5   r7   r8   r>   r	   r?   )r(   r*   rE   s      r)   test_to_xarray_emptyz*TestDataFrameToXArray.test_to_xarray_empty?   sL    Aa""$||E"a'''&&..111r+   c                 L   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        |t        j                        sJ |j!                         }|j#                         }|d	   j%                  |st&        nd
      |d	<   t)        t        j*                        t)        d      k  r.|d   j%                  d      |d<   |d   j%                  d      |d<   d |j,                  _        t        j0                  ||       y )Nr   r   onetwonamesr      r/   r    strr
   r!   zM8[ns]r"   zM8[ns, US/Eastern])r   from_productr$   r4   r7   r8   r0   r9   r:   r;   r<   r#   r=   r>   r	   r?   rB   r@   r'   objectr   r3   r6   r5   rA   )r(   r*   using_infer_stringrE   rF   s        r)   test_to_xarray_with_multiindexz4TestDataFrameToXArray.test_to_xarray_with_multiindexE   si   **SE58+<UENS||E"a'''||E"a'''6==!Q&&&6##$)))
tFMM$6$6$89E5>J&&..111$$&779 ,,,F%
 6%%&)<<$SM00:HSM$SM001EFHSM $
fh/r+   N)	__name__
__module____qualname__r1   fixturer*   rG   rI   rT    r+   r)   r   r      s'    ^^
 
?220r+   r   c                       e Zd Zd Zd Zd Zy)TestSeriesToXArrayc                    |}t        t        t        |            |d      }d|j                  _        |j                         }t        |       t        |      t        |      k(  sJ t        |j                        dk(  sJ t        j                  t        |j                  j                               dg       t        |t        j                        sJ t        j                  |j!                         |       y )Nint64)r4   r   r-   r   )r   r$   r0   r4   r5   r7   reprr9   r;   r<   r#   r=   r>   r	   	DataArrayassert_series_equal	to_series)r(   rC   rD   r4   serrE   s         r)   rG   z-TestSeriesToXArray.test_to_xarray_index_types]   s    U3u:&e7C		V6{c%j(((6==!Q&&&
tFMM$6$6$89E7C&&"2"2333 	v//137r+   c                 d   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        |t        j                        sJ y )Nr   r-   r   r   )r   rR   r4   r5   r7   r0   r9   r;   r<   r#   r=   r>   r	   r_   )r(   rb   rE   s      r)   rI   z'TestSeriesToXArray.test_to_xarray_emptym   s    Rv&		6{a6==!Q&&&
tFMM$6$6$89E7C&&"2"2333r+   c                    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        |t        j                        sJ |j                         }t        j                  ||       y )Nr   r   r   rK   rL   rM      r]   )r   r4   rO   )r   rQ   r$   r   r7   r0   r;   r<   r#   r9   r=   r>   r	   r_   ra   r`   )r(   mirb   rE   ress        r)   rT   z1TestSeriesToXArray.test_to_xarray_with_multiindexv   s    $$sCj%(%;E5>RU1XWB76{a
tFMM$6$6$89E5>J&&"2"2333 
sC(r+   N)rU   rV   rW   rG   rI   rT   rY   r+   r)   r[   r[   \   s    8 4)r+   r[   )numpyr%   r1   pandasr   r   r   r   r   pandas._testing_testingr;   pandas.util.versionr   importorskipr	   r3   markfilterwarnings
pytestmarkr   r[   rY   r+   r)   <module>rq      sz        '			X	&	'&"4"45
8KK++@J
C0 C0L") ")r+   