
    .iU              
          d Z ddlZddlZddlZddlmZ ddlZddl	m
Z ddlmZ ddlmZ ddlm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ej(                  j+                  d ej:                  dd       ej:                  ddd       ej<                  ddd       ej>                  dd      g      d        Z y)z_
Tests for the pseudo-public API implemented in internals/api.py and exposed
in core.internals
    N)Pandas4Warning)create_dataframe_from_blocks)	internals)apic                  H    t         j                  t        j                  u sJ y )N)r   
make_blockr        ]/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/internals/test_api.pytest_internals_apir      s    3>>111r
   c                      g d} g d}t        t              D cg c]  }|j                  d      r| }}t        |      t        || z         k(  sJ t        |      t        || z         z         y c c}w )N)blocksconcatmanagersconstructionr   ops)r   BlockManagerSingleBlockManagerconcatenate_managers__)dirr   
startswithset)modulesexpectedxresults       r   test_namespacer      so    GH YBAq||D/AaBFBv;#h011X3v;XPWEWAX3XX1 Cs
   A1A1nameBlockExtensionBlockc                     |  d}t        j                  t        |      5  t        t        |        d d d        y # 1 sw Y   y xY w)Nz( is deprecated.* Use public APIs insteadmatch)tmassert_produces_warningr   getattrr   )r   msgs     r   test_deprecationsr)   .   s@     F:
;C		#	#N#	> !	4 ! ! !s	   ;Ac                      t        j                  ddd      } d}t        j                  t        |      5  t        j                  | dg      }d d d        j                  d	k(  sJ |j                  j                  d	k(  sJ y # 1 sw Y   6xY w)
N2012   UTCperiodstzzmake_block is deprecatedr#   r   )	placement)   r,   )	pd
date_ranger%   r&   r   r   r   shapevalues)dtir(   blks      r   test_make_block_2d_with_dtir9   <   s|    
--e
4C
$C		#	#N#	> 1nnSQC01 99::v%%%	1 1s   BBc                      d} t        j                  t        |       5  t        j                   d d d        y # 1 sw Y   y xY w)Nzocreate_block_manager_from_blocks is deprecated and will be removed in a future version. Use public APIs insteadr#   )r%   r&   r   r    create_block_manager_from_blocks)r(   s    r   0test_create_block_manager_from_blocks_deprecatedr<   H   s<    
	?  
	#	#N#	> 3223 3 3s	   8Ac                  (   d} t        j                  d      }t        j                  j                  j                  dg      }t        j                  t        |       5  t        j                  j                  ||d       d d d        y # 1 sw Y   y xY w)NzGmaybe_infer_ndim is deprecated and will be removed in a future version.   r2   r#   )nparanger3   _libsr   BlockPlacementr%   r&   DeprecationWarningr   maybe_infer_ndim)r(   arrbps      r    test_maybe_infer_ndim_deprecatedrG   T   sl    
SC
))A,C				*	*A3	/B		#	#$6c	B 3&&sB23 3 3s   "BBc                 (   | j                   j                  d   }| j                  j                         }| j                  j                         }t        |j                  |j                  j                  fg||      }t        j                  ||        y )Nr   indexcolumns)_mgrr   rJ   copyrK   r   r6   mgr_locsas_arrayr%   assert_frame_equal)float_frameblockrJ   rK   r   s        r   !test_create_dataframe_from_blocksrS   ]   sy    ##A&E""$E!!&&(G)
,,//	01F &+.r
   c                  n   t        j                  t        t        dd            t	        j
                  dd      j                  d      dt        j                  dgt	        j                  g d      t        j                  g d	d
      t        d      t        j                  dd      t        j                  dd      j                  d      t        j                  dd      t        j                  ddd      t        j                  g d      t         j                  j                  g d      d      } t!        | j"                  j$                  D cg c]$  }|j&                  |j(                  j*                  f& c}| j,                  | j.                        }t1        j2                  ||        y c c}w )Nr2      r,      uint8g       @g      @)TFT)TFNboolean)dtypeabc20130101r/   zEurope/Brussels1 day
2012-01-01Dr/   freq)abrb   ))r   r2   )r2      )r,   rU   )intuintfloatboolrX   stringdatetime
datetimetz	timedeltaperiodcategoricalintervalrI   )r3   	DataFramelistranger?   r@   astypenanarrayr4   tz_localizetimedelta_rangeperiod_rangeCategoricalIntervalIndexfrom_tuplesr   rL   r   r6   rN   rO   rJ   rK   r%   rP   )dfrR   r   s      r   'test_create_dataframe_from_blocks_typesr}   h   s4   	a$IIaO**732663'HH01xx 39E5kj!<--
A>JJ! ++GQ?oolACH>>/:((445MN	

B& *>@ggnnMU%,,//	0Mhh

F
 &"%	 	Ns   )F2c            
      p   t        j                  d      t        j                  g d      }} t        j                  t        j
                  ddd      t        j
                  ddd      t        j                  d            j                  d      }t        j                  t        j                  d      t        j                  d      t        j                  d            j                  d      }t        |t        j                  dd	g      f|t        j                  ddg      fg| |
      }t        j                  t        j                  ddd      t        j                  ddd      t        j                  ddd      t        j                  ddd      d      }t        j                  ||       y )Nr,   )rb   rc   cdi  r2      )step)rd   r,   r   rd   rI   
2020-01-01us)r/   unitz1 daysz
2020-01-04z4 days)r3   
RangeIndexIndexr?   r@   rj   rl   reshaper   ru   rp   r4   rw   r%   rP   )rJ   rK   block_array1block_array2r   r   s         r   .test_create_dataframe_from_blocks_datetimeliker      s[    ]]1%rxx0D'E7E99$1%$1%" gfo	 
 991x11!48;M;Ma;Pgfo  *
!Q(	)L"((Aq6:J+KLF
 |||QTB##HadC|QTB##HadC		
H &(+r
   ru   r   r,   r\   r-   r.   r^   r_   r`   r]   c                    t        j                  d| i      }|j                  j                  d   }t	        |j
                  d   |j                  j                  fg|j                  |j                        }t        j                  ||       y )Nrb   r   rI   )r3   rp   rL   r   r   r6   rN   rO   rJ   rK   r%   rP   )ru   r|   rR   r   s       r   &test_create_dataframe_from_blocks_1dEAr      sm     
sEl	#BGGNN1E)
,,q/5>>22	34BHHbjjF &"%r
   )!__doc__rj   numpyr?   pytestpandas.errorsr   pandasr3   pandas._testing_testingr%   pandas.api.internalsr   pandas.corer   pandas.core.internalsr   r   r   markparametrizer)   r9   r<   rG   rS   r}   r   r4   rx   rw   r   r	   r
   r   <module>r      s   
    (   = ! %2Y, 
!!	&	33/&8,: lA.lA%8ac:7A.	&&r
   