
    .i&                     h    d dl Zd dlZd dlZd dlmZmZmZmZm	Z	m
Z
mZmZmZ d dlmZ  G d d      Zy)    N)		DataFrameDatetimeIndexIndexIntervalIndexSeries	Timestampbdate_range
date_rangetimedelta_rangec                   ,   e Zd Zd Zd Zd Zd Zd Zej                  j                  dddg      d	        Zd
 Zd Zd Zd Zd Zd Zd Zd Zej                  j                  dddg      ej                  j                  dddg      d               Zy)TestTransposec           
         t        dd      }t        j                  |      }|j                  dt        j
                        }t        |      }|j                  }t        t        t        t        |                        |_        t        t        t        |            D ci c]  }||||dz     c}      }t        j                  ||       y c c}w )Nz0 Daysz3 Days   )r   r   from_breaksinsertnpnanr   Tr   listrangelencolumnstmassert_frame_equal)selftdiiidfresultiexpecteds          g/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/frame/methods/test_transpose.pytest_transpose_td64_intervalsz+TestTranspose.test_transpose_td64_intervals   s    h1&&s+YYr266"r]tE#b'N34c"gG1aAA.GH
fh/ Hs   Cc                 *   t        g d      }t        |      }t        g dd       }|j                  j                         j                  }|j                  d      j                  }t        j                  ||       t        j                  ||       y )NzM8[ns]dtypeindexzdatetime64[ns])r'   freqr   )axis)r   r   r   sumr)   r   assert_index_equal)r   dtir   r"   result1result2s         r#   ,test_transpose_empty_preserves_datetimeindexz:TestTranspose.test_transpose_empty_preserves_datetimeindex    sq    Bh/S! +;$G$$((*""&&a&.&&
gx0
gx0    c                     t        ddd      }t        |      }|j                  |j                  k(  j	                         sJ |j
                  }|j                  |j                  k(  j	                         sJ y )N2016-04-05 04:30   UTCperiodstzr
   r   dtypesr'   allr   )r   r.   r   ress       r#   %test_transpose_tzaware_1col_single_tzz3TestTranspose.test_transpose_tzaware_1col_single_tz-   sa    +Q5As^		SYY&++---dd

cii',,...r2   c                     t        ddd      }t        ||d      }|j                  |j                  k(  j	                         sJ |j
                  }|j                  |j                  k(  j	                         sJ y )Nr4   r5   r6   r7   ABr:   )r   r.   df3res3s       r#   %test_transpose_tzaware_2col_single_tzz3TestTranspose.test_transpose_tzaware_2col_single_tz6   sg    +Q5Ac,-

cii',,...uusyy(--///r2   c                    t        ddd      }|j                  d      }t        ||d      }|j                  |j                  |j                  gk(  j                         sJ |j                  j                  t        k(  j                         sJ t        j                  |j                  j                  |j                  t                     y )Nr4   r5   r6   r7   
US/Pacificr@   )r
   
tz_convertr   r;   r'   r<   r   objectr   r   astype)r   r.   dti2df4s       r#   $test_transpose_tzaware_2col_mixed_tzz2TestTranspose.test_transpose_tzaware_2col_mixed_tz?   s    +Q5A~~l+c-.

syy$**55::<<<&++---
ceeggszz&'9:r2   r9   NzAmerica/New_Yorkc                    t        ddd|      }t        t        t        |            t        t        |            d|      }|j                  |j                  k(  }t        dt        d      |	      }t        j                  ||       y )
N20161101201611304h)r*   r9   abr(   Tab)r)   r   )r
   r   r   r   r   r   r   r   )r   r9   idxr   r    r"   s         r#   2test_transpose_preserves_dtindex_equality_with_dstz@TestTranspose.test_transpose_preserves_dtindex_equality_with_dstI   sh     ZdrBU3s8_5S?C3OTdSA
fh/r2   c                     t        ddd      }|j                  d      }t        ||g      }|j                  t        k(  j                         sJ |j                  }|j                  t        k(  j                         sJ y )Nr4   r5   r6   r7   rG   )r
   rH   r   r;   rI   r<   r   )r   r.   rK   df2res2s        r#   )test_transpose_object_to_tzaware_mixed_tzz7TestTranspose.test_transpose_object_to_tzaware_mixed_tzR   sn    +Q5A~~l+ d$

f$))+++uuv%**,,,r2   c                     t        t        j                  d      g ddt        j                        }|j                  }t        |j
                  j                        }ddg|_        t        j                  ||       y )Nr5   )l            l           l   
        r@   r&   rA   rB   )	r   r   arangeuint64r   valuesr)   r   r   r   r   r    r"   s       r#   test_transpose_uint64z#TestTranspose.test_transpose_uint64]   s\    ))A,%CD))
 RYY[[)s
fh/r2   c                     |}|j                   }|j                         D ]]  \  }}|j                         D ]E  \  }}t        j                  |      rt        j                  ||   |         r7J |||   |   k(  rEJ  _ y )N)r   itemsr   isnan)r   float_frameframedftrV   seriescolvalues           r#   test_transpose_floatz"TestTranspose.test_transpose_floatg   s}    gg99; 	4KC$lln 4
U88E?88E#JsO444 E#JsO333	4	4r2   c           	          t        g dg dg dt        dd      dt        g dt        	      
      }|j                  }|j                         D ]$  \  }}|j                  t        j                  k(  r$J  y )N)              ?g       @g      @g      @)rm   rn   rm   rn   rm   )foo1foo2foo3foo4foo5z1/1/2009   )r8   )rA   rB   CD)rS   rT   cder&   r(   )	r   r	   r   rI   r   rc   r'   r   object_)r   mixedmixed_Tri   ss        r#   test_transpose_mixedz"TestTranspose.test_transpose_mixedq   sk    ..= Q7	 1@
 ''mmo 	)FC77bjj(((	)r2   c                     |j                   }d|j                  d d ddf<   |j                  dd dk7  j                         sJ y )Nrt   
   )r   ilocr_   r<   )r   re   rg   s      r#   test_transpose_get_viewz%TestTranspose.test_transpose_get_view   sE    mmAbD""1R(A-22444r2   c                    t        ddd      }|j                  j                  dd      }t        |      }|j                  j
                  dk(  sJ |j                  }|j                  j
                  dk(  sJ |j                  j                  d   j                  }t        j                  |j                  j                  d   j                  j                  |j                        sJ y )	Nz
2016-01-01   rG   r7   r5      r   r   )r
   _datareshaper   _mgrnblocksr   blocksr_   r   shares_memory_ndarray)r   r.   arrr   r    rtrips         r#   &test_transpose_get_view_dt64tzget_viewz4TestTranspose.test_transpose_get_view_dt64tzget_view   s    q\Bii1%s^ww!###{{""a'''""1%,,q 1 8 8 A A5>>RRRr2   c                     t        dt        d      t        d      git              }|j                  }t        t        d      t        d      ggdgt              }t	        j
                  ||       y )NrS   
2019-12-31r&   r)   r'   )r   r   rI   r   r   r   r`   s       r#   test_transpose_not_inferring_dtz-TestTranspose.test_transpose_not_inferring_dt   sn    i-y/FG 	
 %y'>?@%

 	fh/r2   c                 N   t        t        t        d      t        d      gt              t        d      t        d      gd      }|j                  }t        t        d      t        d      gt        d      t        d      ggddgt              }t        j                  ||       y )Nr   r&   rR   rS   rT   r   )r   r   r   rI   r   r   r   r`   s       r#   ,test_transpose_not_inferring_dt_mixed_blocksz:TestTranspose.test_transpose_not_inferring_dt_mixed_blocks   s    |,i.EFf  -y/FG	
 <()L*AB<()L*AB *
 	fh/r2   dtype1Int64Float64dtype2c                 :   t        t        j                  g d|      t        j                  g d|      d      }|j                  }|j                  j
                  D ]:  }||k(  r|j                  j                  n|j                  }|j                  d   r:J  y )N)r   r   r   r&   )r5      rt   rR   F_CONTIGUOUS)	r   pdarrayr   r   r   r_   r   flags)r   r   r   r   r    blkdatas          r#   test_transposezTestTranspose.test_transpose   s     XXiv6XXiv6
 ;;%% 	.C'-'73::##SZZD::n---	.r2   )__name__
__module____qualname__r$   r1   r>   rE   rM   pytestmarkparametrizerW   r[   ra   rk   r~   r   r   r   r   r    r2   r#   r   r      s    
01/0; [[TD*<#=>0 ?0	-04) 5

S0 0* [[X';<[[X';<. = =.r2   r   )numpyr   r   pandasr   r   r   r   r   r   r   r	   r
   r   pandas._testing_testingr   r   r   r2   r#   <module>r      s.      
 
 
 r. r.r2   