+
    xȇik                     6   ^ RI HtH t  ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIt^ RIHtHtHtHtHtHtHtHtHt ^ RIHt ^ RIHu Ht  ^ RI!H"t"H#t#H$t$ ^ R	I%H&t&H't'H(t( ^ R
I)H*t*H+t+H,t, ]PZ                  ! ],](.R7      R 4       t.]PZ                  R 4       t/R t0R t1^
t2R^ ],3R lt3R$R lt4R$R lt5]PZ                  R 4       t6 ! R R4      t7 ! R R4      t8R t9 ! R R4      t: ! R R4      t; ! R R4      t< ! R R 4      t=R! t>R" t?R# t@R# )%    )datedatetimeN)BlockPlacement)IS64)Pandas4Warning)	is_scalar)	Categorical	DataFrameDatetimeIndexIndexIntervalIndexSeries	Timedelta	Timestampperiod_range)DatetimeArraySparseArrayTimedeltaArray)BlockManagerSingleBlockManager
make_block)ensure_block_shapemaybe_coerce_values	new_blockparamsc                    V P                   # )zK
Fixture to test both the internal new_block and pseudo-public make_block.
param)requests   &u/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/internals/test_internals.pyblock_makerr"   0   s    
 ==    c                      \        R 4      # )za: f8; b: object; c: f8; d: object; e: f8;f: bool; g: i8; h: complex; i: datetime-1; j: datetime-2;k: M8[ns, US/Eastern]; l: M8[ns, CET];)
create_mgr r#   r!   mgrr'   8   s    	1 r#   c                    \         P                  ! V P                  VP                  4       V P                  VP                  8X  g   Q h\	        V P
                  \        4      '       g   Q h\	        VP
                  \        4      '       g   Q h\         P                  ! V P
                  P                  VP
                  P                  4       R # N)tmassert_numpy_array_equalvaluesdtype
isinstancemgr_locsr   as_array)leftrights   &&r!   assert_block_equalr3   A   s    U\\:::$$$dmm^4444ennn5555 6 68O8OPr#   c           	          \         P                  ! V ^ ,          4      p\         P                  P                  P	                  WVP
                  3R\        V 4      ^,
          ,          ,           R7      P                  4       # )r   )xshapestridesr   )nparangelibstride_tricks
as_strideditemsizelencopy)r6   arrs   & r!   get_numeric_matrB   I   sZ    
))E!H
C66**
S\\Odc%j1n6M$M + 
dfr#   c                   \        V4      p\        V4      pVf   \        3pV.VO5p\        V4      pV R9   d   VP	                  V 4      V,           pEMV R9   d"   RVP	                  V 4      V,           ,          pEMiV R9   dC   \
        P                  ! VP                  4       V,            U	u. uF	  p	RV	R 2NK  	  up	V4      pEM V R9   d)   \
        P                  ! V\
        P                  R7      pEMV R9   d   VR,          P	                  R4      pEMV P                  R4      '       d   \        P                  ! R	V 4      p
V
f   Q R
V  24       hV
P                  4       ^ ,          pV^8X  g   Q R4       h\        \
        P                  ! \        4      R,          VR7      P                   p\#        V\        V4      R7      pEM!V R9   d   V^,          P	                  R4      pEM V R9   d   \%        . R O4      pMV R!9   d   \%        . R"O4      pMV R#9   d   VR$,          ^
8w  d   \&        h\(        ;QJ d    R VRR$  4       F  '       d   K   RM	  RM! R VRR$  4       4      '       g   Q hV P+                  R4      '       d   \
        P,                  pMRp\/        W^^^V^^V^.
VR7      pVP0                  P3                  4       pW^,
          ,          pM\5        RV  R24      h\7        V4      pV! W\        V4      R7      # u up	i )%a^  
Supported typestr:

    * float, f8, f4, f2
    * int, i8, i4, i2, i1
    * uint, u8, u4, u2, u1
    * complex, c16, c8
    * bool
    * object, string, O
    * datetime, dt, M8[ns], M8[ns, tz]
    * timedelta, td, m8[ns]
    * sparse (SparseArray with fill_value=0.0)
    * sparse_na (SparseArray with fill_value=np.nan)
    * category, category2

Ny              ?Adr-   M8[ns]g    eAzM8[nszM8\[ns,\s*(\w+\/?\w*)\]zincompatible typestr -> z)must have only 1 num items for a tz-aware)tzndimm8[ns]c              3   *   "   T F	  q^8H  x  K  	  R# 5i)   Nr&   ).0ss   & r!   	<genexpr>create_block.<locals>.<genexpr>   s     .:a6:s   FT_na        
fill_valuezUnsupported typestr: ""	placementrJ   )floatf8f4f2inti8i4i2i1uintu8u4u2u1)complexc16c8)objectstringO)bbool)r   dtrG   i ʚ;)	timedeltatdrK   )category)
rM   rM      rs      rt   rt   rt      ru   )	category2)
arw   rw   rw   rm   rm   crx   rx   rE   )sparse	sparse_na)r   r?   NrB   astyper9   reshaperavelonesbool_
startswithresearchgroupsr   r:   _datar   r	   NotImplementedErrorallendswithnanr   	sp_valuesview
ValueErrorr   )typestrrX   
item_shape
num_offsetmaker	num_itemsr6   matr,   imrH   rU   rA   s   &&&&&         r!   create_blockr   S   s   " y)IIIT
$$E
%
 C    G$z1	,	,G,z9:	-	-		j0HI0H1q1Y0HI5Q	M	!bhh/	0	0)##H-			G	$	$II0':}B 8	BB}XXZ]A~JJJ~ryy|e3;AA#FU<	1	1'!!(+	M	!;<	N	"OP	+	+9?%%s.5":.sss.5":.....E""JJQ1j!Q
AN!
 ##%A~1'!<== (F3u:>>O Js   ,Lc           	          Vf   \         p\        \        V \        ^ V4      RR7      \	        \
        P                  ! V4      4      4      # )N)rX   r   r&   )r|   r   r   slicer   r9   r:   )r   num_rowss   &&r!   create_single_mgrr      s>    Wa(:rJbii!" r#   c                   Vf   \         3p^ p. p/ pV P                  R4       F  pVP                  4       p\        V4      '       g   K&  VP	                  R4      R,          w  rgVP                  4       pVP                  4       P                  R4      pVP                  V4       \        \        P                  ! \        V4      4      V,           4      p WG,          P                  V4       V\        V4      ,          pK  	  \        V4      p. p	^ p
VP                  4        FK  w  rxVP                  R4      ^ ,          pV	P                  \        WWR7      4       V
\        V4      ,          p
KM  	  \        V	R R7      p\        \!        V4      V.V Uu. uF"  p\        \        P                  ! V4      4      NK$  	  up,           4      #   \         d    YT&    Li ; iu upi )	a!  
Construct BlockManager from string description.

String description syntax looks similar to np.matrix initializer.  It looks
like this::

    a,b,c: f8; d,e,f: i8

Rules are rather simple:

* see list of supported datatypes in `create_block` method
* components are semicolon-separated
* each component is `NAME,NAME,NAME: DTYPE_ID`
* whitespace around colons & semicolons are removed
* components with same DTYPE_ID are combined into single block
* to force multiple blocks with same dtype, use '-SUFFIX'::

    "a:f8-1; b:f8-2; c:f8-foobar"

;::NNrs   ,-)r   r   c                 (    V P                   ^ ,          # r8   )r/   )rm   s   &r!   <lambda>create_mgr.<locals>.<lambda>   s    1::a=r#   )key)r|   splitstripr?   	partitionextendlistr9   r:   KeyErrorr   itemsappendr   sortedr   tuple)descrr   offset	mgr_itemsblock_placementsrE   namesblockstrrX   blocksr   r   sblocksns   &&            r!   r%   r%      s   * T
FI[[GGI1vv++c*3/>>###C(3u:.78		3&--i8 	#e*   i IFJ/557..%a(z	

 	c)n$
  8 V!89Gg	J?JquRYYq\*J?? %  	3)2X&	3( @s   G(GGGc                      \        R . RO4      # )rY   r   rs   ru   )r   r&   r#   r!   fblockr      s    ++r#   c                      a  ] tR t^t o R t]P                  P                  RR. RO.R^..R^^..R^...4      R 4       tR t	R	 t
R
 tR tR tR tRtV tR# )	TestBlockc                b    \        R ^ .4      pVP                  \        P                  8X  g   Q hR# )r_   N)r   r-   r9   int32)self
int32blocks   & r!   test_constructorTestBlock.test_constructor   s(    !$,
288+++r#   z	typ, datarY   rg   rj   rn   c                \    \        W4      p\        \        P                  ! WC4      V4       R # r)   )r   r3   r*   round_trip_pickle)r   typdata	temp_fileblks   &&&& r!   test_pickleTestBlock.test_pickle   s#     3%2//?Er#   c                    \        VP                  \        4      '       g   Q h\        P                  ! VP                  P
                  \        P                  ! . RO\        P                  R7      4       R# )r   rF   Nr   )	r.   r/   r   r*   r+   r0   r9   arrayintpr   r   s   &&r!   test_mgr_locsTestBlock.test_mgr_locs  sE    &//>::::
##OO$$bhhy&H	
r#   c                    VP                   VP                  P                   8X  g   Q hVP                  VP                  P                  8X  g   Q h\        V4      \        VP                  4      8X  g   Q hR # r)   )r6   r,   r-   r?   r   s   &&r!   
test_attrsTestBlock.test_attrs  sU    ||v}}22222||v}}222226{c&--0000r#   c                N    VP                  R R7      pW!Jg   Q h\        W4       R# )TdeepN)r@   r3   )r   r   cops   && r!   	test_copyTestBlock.test_copy  s&    kktk$   6'r#   c                   VP                  R R7      pVP                  pVP                  ^ 4      ^ ,          pVP                  VJ g   Q hWBJg   Q h\        P                  ! VP                  P
                  \        P                  ! ^^.\        P                  R7      4       VP                  ^ ,          ^8H  P                  4       '       d   Q hVP                  ^ ,          ^8H  P                  4       '       g   Q hVP                  R R7      pVP                  pVP                  ^4      p\        V4      ^8X  g   Q hVP                  VJ g   Q h\        P                  ! V^ ,          P                  P
                  \        P                  ! ^ .\        P                  R7      4       \        P                  ! V^,          P                  P
                  \        P                  ! ^.\        P                  R7      4       VP                  ^,          ^8H  P                  4       '       d   Q hV^,          P                  ^ ,          ^8H  P                  4       '       g   Q hVP                  R R7      pVP                  ^4      p\        V4      ^8X  g   Q h\        P                  ! V^ ,          P                  P
                  \        P                  ! ^ ^.\        P                  R7      4       V^ ,          P                  ^,          ^8H  P                  4       '       g   Q hVP                  R R7      p\        P                  ! \        RR7      ;_uu_ 4        VP                  ^4       RRR4       R#   + '       g   i     R# ; i)Tr   rF   Nmatch)r@   r/   deleter*   r+   r0   r9   r   r   r,   r   r?   pytestraises
IndexError)r   r   newblocsnbs   &&   r!   test_deleteTestBlock.test_delete  s{   {{{%}}[[^A}}$$$~~
##KK  "((Aq6"A	
 KKNa',,....		!!&&(((({{{%}}[[^2w!||}}$$$
##qENN##RXXqc%A	
 	##qENN##RXXqc%A	
 KKNa',,....1Q1$))++++{{{%[[^2w!||
##qENN##RXXq!fBGG%D	
 1Q1$))++++{{{%]]:T22KKN 3222s   M++M<	c                   \         P                  ! ^RR7      P                  ^^4      P                  R4      p\	        V4      pVP
                  P                  ^ ,          p\        VP                  \        4      '       g   Q hVP                  ^4      p\        V4      ^8X  g   Q h\        V^ ,          P                  \        4      '       g   Q h\        V^,          P                  \        4      '       g   Q h\	        VP                  R4      4      pVP
                  P                  ^ ,          p\        VP                  \        4      '       g   Q hVP                  ^^.4      p\        V4      ^8X  g   Q h\        V^ ,          P                  \        4      '       g   Q h\        V^,          P                  \        4      '       g   Q hR# )   r^   rF   rK   rG   N)r9   r:   r~   r   r
   _mgrr   r.   r,   r   r   r?   r   )r   rA   dfr   r   s   &    r!   test_delete_datetimelike"TestBlock.test_delete_datetimelikeF  sC   ii$'//15::8Ds^ggnnQ#**n5555ZZ]2w!||"Q%,,7777"Q%,,7777sxx)*ggnnQ#**m4444ZZA2w!||"Q%,,6666"Q%,,6666r#   c                :   \         P                  P                  ^4      P                  R4      p\	        V\        . RO4      ^R7      p\        VP                  4       4      pRVR&   VP                  R8H  P                  4       '       g   Q h\        V4      ^8X  g   Q h\	        V^ .,          \        ^.4      ^R7      \	        V^.,          \        ^.4      ^R7      \	        V^.,          \        ^.4      ^R7      .p\        W44       F  w  rV\        WV4       K  	  R# )rs   rW   :NNNN)rt   ru   )rt   rM      i)r9   randomdefault_rngstandard_normalr   r   r   _splitr,   r   r?   zipr3   )r   r,   r   resultexpectedresexps   &      r!   
test_splitTestBlock.test_split[  s    &&q)99&A.*C!Lcjjl# q	

e#((****6{afaSk^QC-@qIfaSk^QC-@qIfaSk^QC-@qI

 F-HCs( .r#   r&   Nr   )__name__
__module____qualname____firstlineno__r   r   markparametrizer   r   r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r!   r   r      s     , [[i 1vaSM		
FF
1
(
(T7*) )r#   r   c                   f  a  ] tR tRt o R tR tR t]P                  P                  RRR.4      R 4       t
R	 tR
 tR tR tR tR tR t]P                  P                  RR]P&                  3R]P(                  3.4      R 4       t]P                  P                  RR]P,                  3R]P.                  3R]P0                  3.4      R 4       tR tR t]P                  P                  R. R1O4      R 4       tR tR t]P                  P                  R. R2O4      R 4       tR t R  t!R! t"R" t#R# t$]P                  P                  RR$R%.4      R& 4       t%]P                  P                  R. R3O4      R' 4       t&R( t']P                  P                  R)^R*. R4OR+.4      R, 4       t(R- t)R. t*R/t+V t,R0# )5TestBlockManagerio  c                f    \        R 4      pVP                  ^8X  g   Q h\        V4      ^8X  g   Q hR# )za,b,c: f8-1; d,e,f: f8-2N)r%   nblocksr?   r   r'   s   & r!   r   TestBlockManager.test_attrsp  s/    34{{a3x1}}r#   c                   \        R 4      pVP                  VP                  r2\        \        P
                  ! ^ .4      4      V^ ,          n        \        \        P
                  ! ^ .4      4      V^,          n        Rp\        W24      p\        P                  ! \        VR7      ;_uu_ 4        VP                  4        RRR4       \        \        P
                  ! ^ .4      4      V^ ,          n        \        \        P
                  ! ^.4      4      V^,          n        \        W24      pVP                  ^4       R#   + '       g   i     L; i)za:bool; a: f8zGaps in blk ref_locsr   N)r%   axesr   r   r9   r   r/   r   r   r   AssertionError_rebuild_blknos_and_blklocsiget)r   tmp_mgrr	  r   msgr'   s   &     r!   test_duplicate_ref_loc_failure/TestBlockManager.test_duplicate_ref_loc_failureu  s    _-||W^^f+BHHaSM:q	+BHHaSM:q	 %6(]]>55++- 6 ,BHHaSM:q	+BHHaSM:q	6( 65s   ,D;;E	c                |   \         P                  ! W4      p\         P                  ! \        P                  ! WP
                  R 7      \        P                  ! W3P
                  R 7      4       \        VR4      '       g   Q h\        VR4      '       g   Q hVP                  '       d   Q hVP                  '       d   Q hR# )r	  _is_consolidated_known_consolidatedN)	r*   r   assert_frame_equalr
   	_from_mgrr	  hasattrr  r  )r   r'   r   mgr2s   &&& r!   r   TestBlockManager.test_pickle  s    ##C3
((3995	
 t/0000t23333 (((((++++++r#   
mgr_stringza,a,a:f8za: f8; a: i8c                    \        V4      p\        P                  ! W24      p\        P                  ! \        P
                  ! W3P                  R 7      \        P
                  ! WDP                  R 7      4       R# )r  N)r%   r*   r   r  r
   r  r	  )r   r  r   r'   r  s   &&&  r!   test_non_unique_pickle'TestBlockManager.test_non_unique_pickle  sN    $##C3
((3995	
r#   c                   \        R 4      p\        P                  ! W!4      p\        P                  ! \        P
                  ! W"P                  R7      \        P
                  ! W3P                  R7      4       \        R4      p\        P                  ! WA4      p\        P                  ! \        4       P                  WDP                  R7      \        4       P                  WUP                  R7      4       R# )a: categoryr  rr   N)r%   r*   r   r  r
   r  r	  r   assert_series_equalr   _constructor_from_mgr)r   r   r'   r  smgrsmgr2s   &&    r!   test_categorical_block_pickle.TestBlockManager.test_categorical_block_pickle  s    '##C3
((3995	

 !,$$T5
H**4ii*@H**5zz*B	
r#   c           
        \        \        R 4      4      p\        P                  P	                  ^4      P                  R4      p\        VP                  4       \        \        P                  ! ^\        P                  R7      4      VP                  R7      p\        V3V\        \        P                  ! ^4      4      .R7      p\        P                  ! VP                  ^ 4      P                  4       V^ ,          4       \        P                  ! VP                  ^4      P                  4       V^,          4       \        P                  ! VP                  ^4      P                  4       V^,          4       R# )abcrF   )r,   rX   rJ   r   r	  N)rt   rt   )r   r   r9   r   r   r   r@   r   r:   r   rJ   r   r*   assert_almost_equalr  internal_values)r   colsr,   blockr'   s   &    r!   	test_igetTestBlockManager.test_iget  s    T%[!&&q)008;;=$RYYq%@A

 5($biil8K1LM
sxx{::<fQiH
sxx{::<fQiH
sxx{::<fQiHr#   c                   \        R RR7      pVP                  \        VP                  4      R\        P
                  ! R.^,          4      4       VP                  ^\        P
                  ! R.^,          4      4       \        P                  ! VP                  ^ 4      P                  4       \        P
                  ! ^ .^,          4      4       \        P                  ! VP                  ^4      P                  4       \        P
                  ! R.^,          \        P                  R7      4       \        P                  ! VP                  ^4      P                  4       \        P
                  ! ^.^,          4      4       \        P                  ! VP                  ^4      P                  4       \        P
                  ! R.^,          \        P                  R7      4       R# )z
a,b,c: intr   rE   foobarrF   Nrt   )r%   insertr?   r   r9   r   isetr*   r+   r  r*  object_r  s   & r!   test_setTestBlockManager.test_set  s(   $7

3syy>3%1(=>BHHeWq[)*
##CHHQK$?$?$A288QCRSGCTU
##HHQK'')288UGaKrzz+R	
 	##CHHQK$?$?$A288QCRSGCTU
##HHQK'')288UGaKrzz+R	
r#   c           	     |   VP                  \        VP                  4      R \        P                  ! \
        \        R7      4       VP                  VP                  P                  R 4      \        P                  ! R\
        4      4       VP                  P                  R 4      pVP                  V4      P                  \        P                  8X  g   Q hVP                  4       pVP                  VP                  P                  R 4      \        P                  ! R\
        4      4       VP                  P                  R 4      pVP                  V4      P                  \        P                  8X  g   Q hVP                  \        VP                  4      R\        P                  P                  ^4      P!                  \
        4      P#                  \$        4      4       VP                  P                  R4      pVP                  V4      P                  \        P                  ! \$        4      8X  g   Q hVP                  VP                  P                  R4      \        P                  P                  ^4      P!                  \
        4      4       VP                  V4      P                  \        P&                  8X  g   Q hR# )bazrF   r1  quuxN)r4  r?   r   r9   zerosr|   rn   r5  get_locrepeatr  r-   r6  consolidater   r   r   r}   r]   float64)r   r'   idxr  s   &&  r!   test_set_change_dtype&TestBlockManager.test_set_change_dtype  s   

3syy>5"((1D*AB""5)299UA+>?ii&xx}""bjj000 		$**$$U+RYYua-@Ajj  'yy~##rzz111

OII!!!$44Q7>>sC	

 jj  (yy~##rxx}444		JJv&		(=(=a(@(P(PQR(S	
 yy~##rzz111r#   c                   VP                  R R7      p\        VP                  VP                  4       F  w  r4\        P                  ! VP
                  VP
                  4       \        VP
                  \        P                  4      '       d=   VP
                  P                  P                  VP
                  P                  J g   Q hK  VP
                  P                  P                  VP
                  P                  P                  J d   K  Q h	  VP                  4        VP                  RR7      p\        VP                  VP                  4       F  w  r4VP
                  pVP
                  p\        P                  ! We4       \        V\        P                  4      '       d   VP                  pVP                  pM,VP                  P                  pVP                  P                  p\        V\        4      '       d   Vf   Ve
   WxJg   Q hK  K  \        V\        P                  4      '       g
   WxJg   Q hK  Vf   Vf   K  Q h	  R# )Fr   TN)r@   r   r   r*   assert_equalr,   r.   r9   ndarraybase_ndarray_consolidate_inplacer   )	r   r'   cpr   cp_blkbvalscpvalslbaserbases	   &&       r!   r   TestBlockManager.test_copy  s   XX5X!szz2995KCOOFMM3::6#**bjj11}}))..#**//AAA }}--22cjj6I6I6N6NNNN 6 	  "XX4X szz2995KCJJE]]FOOF*&"**--

,,++ &-00%-U=OPP=O-

33)))}66) 6r#   c                z    \        R 4      pVP                  4       P                  \        P                  8X  g   Q hR# )za: sparse-1; b: sparse-2N)r%   r0   r-   r9   r@  r  s   & r!   test_sparseTestBlockManager.test_sparse  s+    34||~##rzz111r#   c                    \        R 4      p\        VP                  4      ^8X  g   Q h\        V\        4      '       g   Q hR# )za: sparse-1; b: sparse-2; c: f8N)r%   r?   r   r.   r   r  s   & r!   test_sparse_mixed"TestBlockManager.test_sparse_mixed  s6    :;3::!####|,,,,r#   zmgr_string, dtypezc: f4; d: f2c: f4; d: f2; e: f8c                ^    \        V4      pVP                  4       P                  V8X  g   Q hR # r)   r%   r0   r-   r   r  r-   r'   s   &&& r!   test_as_array_float$TestBlockManager.test_as_array_float  s(    
 $||~##u,,,r#   za: bool-1; b: bool-2z%a: i8-1; b: i8-2; c: i4; d: i2; e: u1zc: i4; d: i2; e: u1c                ^    \        V4      pVP                  4       P                  V8X  g   Q hR # r)   rY  rZ  s   &&& r!   test_as_array_int_bool'TestBlockManager.test_as_array_int_bool  s(     $||~##u,,,r#   c                ^    \        R 4      pVP                  4       P                  R8X  g   Q hR# )zh: datetime-1; g: datetime-2rG   NrY  r  s   & r!   test_as_array_datetime'TestBlockManager.test_as_array_datetime(  s'    78||~##x///r#   c                    \        R 4      pVP                  ^ 4      P                  R8X  g   Q hVP                  ^4      P                  R8X  g   Q hVP                  4       P                  R8X  g   Q hR# )z%h: M8[ns, US/Eastern]; g: M8[ns, CET]zdatetime64[ns, US/Eastern]zdatetime64[ns, CET]rj   N)r%   r  r-   r0   r  s   & r!   test_as_array_datetime_tz*TestBlockManager.test_as_array_datetime_tz,  sa    @Axx{  $@@@@xx{  $9999||~##x///r#   tc                   \        R 4      p\        P                  ! V4      pVP                  V4      pVP	                  ^ 4      P                  P
                  V8X  g   Q hVP	                  ^4      P                  P
                  V8X  g   Q hVP	                  ^4      P                  P
                  V8X  g   Q h\        R4      p\        P                  ! V4      pVP                  VRR7      pVP	                  ^4      P                  P
                  V8X  g   Q hVP	                  ^4      P                  P
                  V8X  g   Q hVP	                  ^4      P                  P
                  V8X  g   Q hVP	                  ^4      P                  P
                  V8X  g   Q hVP	                  ^ 4      P                  P
                  \        P                  8X  g   Q hVP	                  ^4      P                  P
                  \        P                  8X  g   Q hV\        P                  8w  d=   VP	                  ^4      P                  P
                  \        P                  8X  g   Q hR# VP	                  ^4      P                  P
                  V8X  g   Q hR# )rW  z6a,b: object; c: bool; d: datetime; e: f4; f: f2; g: f8ignore)errorsN)	r%   r9   r-   r}   r  typer6  int64
datetime64)r   rf  r'   tmgrs   &&  r!   test_astypeTestBlockManager.test_astype2  s    ./HHQKzz!}yy|!!&&!+++yy|!!&&!+++yy|!!&&!+++ QRHHQKzz!Hz-yy|!!&&!+++yy|!!&&!+++yy|!!&&!+++yy|!!&&!+++yy|!!&&"**444yy|!!&&"**444=99Q<%%**bmm;;;99Q<%%**a///r#   c                   R  p\        R4      pVP                  4       pV! W44       \        R4      pVP                  ^ \        P                  ! R.\
        ,          \        P                  R7      4       VP                  ^\        P                  ! R.\
        ,          \        P                  R7      4       VP                  ^\        P                  ! R.\
        ,          \        P                  R7      4       VP                  4       pV'       d   RM\        P                  pVP                  ^ 4      P                  V8X  g   Q hVP                  ^4      P                  V8X  g   Q hVP                  ^4      P                  V8X  g   Q hVP                  ^4      P                  \        P                  8X  g   Q hVP                  ^4      P                  \        P                  8X  g   Q h\        R4      pVP                  ^ \        P                  ! R.\
        ,          \        P                  R7      4       VP                  ^\        P                  ! R.\
        ,          \        P                  R7      4       VP                  ^\        P                  ! R.\
        ,          \        P                  R7      4       VP                  4       pVP                  ^ 4      P                  V8X  g   Q hVP                  ^4      P                  V8X  g   Q hVP                  ^4      P                  V8X  g   Q hVP                  ^4      P                  \        P                  8X  g   Q hVP                  ^4      P                  \        P                  8X  g   Q hVP                  ^4      P                  P                  '       g   Q \        P                  4       hVP                  ^4      P                  \        P                  8X  g   Q hVP                  ^4      P                  \        P                  8X  g   Q hVP                  ^4      P                  \        P                  8X  g   Q hR	# )
c                   \        V P                  4      p\        VP                  4      p\        V4      \        V4      8X  g   Q hV FI  pRpV F4  pVP                  VP                  8H  P	                  4       '       g   K2  Rp M	  V'       d   KI  Q h	  V FI  pRpV F4  pVP                  VP                  8H  P	                  4       '       g   K2  Rp M	  V'       d   KI  Q h	  R# )z4compare the blocks, numeric compare ==, object don'tFTN)setr   r?   r,   r   )old_mgrnew_mgr
old_blocks
new_blocksrm   foundr   obs   &&      r!   _compare/TestBlockManager.test_convert.<locals>._compareO  s    W^^,JW^^,Jz?c*o555  $BBII-2244 $ % uu    $BBII-2244 $ % uu  r#   zf: i8; g: f8za,b,foo: object; f: i8; g: f81rF   z2.zfoo.strzEa,b,foo: object; f: i4; bool: bool; dt: datetime; i: i8; g: f8; h: f2N)r%   convertr5  r9   r   r|   r6  r  r-   rk  r@  r   r   rj  rl  float16)r   using_infer_stringry  r'   rt  r-   s   &&    r!   test_convertTestBlockManager.test_convertN  s   	0 (++- 89BHHcUQYbjj9:BHHdVaZrzz:;BHHfX\<=++-+||A$$---||A$$---||A$$---||A$$000||A$$

222S
 	BHHcUQYbjj9:BHHdVaZrzz:;BHHfX\<=++-||A$$---||A$$---||A$$---||A$$000||A$$000||A$$)))82==8)||A$$000||A$$

222||A$$

222r#   c                    R Fd  p\        RV 24      pVP                  4       P                  V8X  g   Q h\        RV RV 24      pVP                  4       P                  V8X  d   Kd  Q h	  R# )rZ   za: z; b: N)rZ   r^   rj   rn   rg   rG   rK   rY  )r   r-   r'   s   &  r!   test_interleave TestBlockManager.test_interleave  sh    REs5']+C<<>''5000s5'ug67C<<>''5000	 Sr#   c                   \        R 4      pVP                  4       P                  R8X  g   Q h\        R4      pVP                  4       P                  R8X  g   Q h\        R4      pVP                  4       P                  R8X  g   Q h\        R4      pVP                  4       P                  R8X  g   Q h\        R4      pVP                  4       P                  R8X  g   Q h\        R4      pVP                  4       P                  R8X  g   Q h\        R	4      pVP                  4       P                  R8X  g   Q h\        R
4      pVP                  4       P                  R8X  g   Q h\        R4      pVP                  4       P                  R8X  g   Q h\        R4      pVP                  4       P                  R8X  g   Q h\        R4      pVP                  4       P                  R8X  g   Q h\        R4      pVP                  4       P                  R8X  g   Q h\        R4      pVP                  4       P                  R8X  g   Q h\        R4      pVP                  4       P                  R8X  g   Q h\        R4      pVP                  4       P                  R8X  g   Q h\        R4      pVP                  4       P                  R8X  g   Q hR# )r  r^   a: category; b: category2rj   a: category2a: f8rZ   a: f8; b: i8a: f4; b: i8a: f4; b: i8; d: objecta: bool; b: i8
a: complexrg   a: f8; b: categorya: M8[ns]; b: categorya: M8[ns]; b: boola: M8[ns]; b: i8a: m8[ns]; b: boola: m8[ns]; b: i8a: M8[ns]; b: m8[ns]NrY  rZ  s   &&& r!   test_interleave_dtype&TestBlockManager.test_interleave_dtype  sP   2 '||~##t+++45||~##x///(||~##x/// !||~##t+++(||~##t+++(||~##t+++23||~##x///)*||~##x///&||~##y000-.||~##t+++12||~##x///-.||~##x///+,||~##x///-.||~##x///+,||~##x////0||~##x///r#   c                   VP                  VP                  P                  R 4      \        P                  P                  ^4      P                  \        4      4       VP                  VP                  P                  R4      \        P                  P                  ^4      P                  \        4      4       VP                  VP                  P                  R4      \        P                  P                  ^4      P                  \        4      4       VP                  VP                  P                  R4      \        P                  P                  ^4      P                  \        4      4       VP                  VP                  P                  R4      \        P                  P                  ^4      P                  \        4      4       VP                  4       pVP                  ^8X  g   Q hVP                  4       P                  4       pVP                  ^8X  g   Q h\        VP                  ^ ,          P                  \        4      '       g   Q h\        P                   ! VP                  ^ ,          P                  P"                  \        P$                  ! \'        VP                  4      \        P(                  R7      4       R# )frE   rm   ghrF   N)r5  r   r=  r9   r   r   r   r|   r?  r  get_numeric_datar.   r   r/   r   r*   r+   r0   r:   r?   r   )r   r'   conss   && r!    test_consolidate_ordering_issues1TestBlockManager.test_consolidate_ordering_issues  s   ""3')>)>q)A)Q)QRS)TU""3')>)>q)A)Q)QRS)TU""3')>)>q)A)Q)QRS)TU""3')>)>q)A)Q)QRS)TU""3')>)>q)A)Q)QRS)TU  ||q    113||q   $++a.11>BBBB
##KKN##,,biiDJJrww.W	
r#   c                V   \        R 4      pVP                  . RO^ R7      pVP                  4       '       d   Q h\        P                  ! VP
                  \        . RO4      4       \        P                  ! VP                  ^4      P                  4       VP                  ^ 4      P                  4       4       \        P                  ! VP                  ^4      P                  4       VP                  ^4      P                  4       4       \        P                  ! VP                  ^ 4      P                  4       VP                  ^4      P                  4       4       \        P                  ! VP                  ^4      P                  4       VP                  ^4      P                  4       4       R# )z3a: f8; b: i8; c: f8; d: i8; e: f8; f: bool; g: f8-2axisN)r  rx   rw   rE   )
r%   reindex_axisis_consolidatedr*   assert_index_equalr   r   r)  r  r*  )r   r'   	reindexeds   &  r!   test_reindex_items#TestBlockManager.test_reindex_items  s0   NO$$%9$B	,,....
ioou5I/JK
HHQK'')9>>!+<+L+L+N	
 	HHQK'')9>>!+<+L+L+N	
 	HHQK'')9>>!+<+L+L+N	
 	HHQK'')9>>!+<+L+L+N	
r#   c                Z   \        R RR7      pVP                  ^\        P                  ! . RO\        P                  R7      4       VP                  4       p\        P                  ! VP                  \        . R	O4      4       \        P                  ! VP                  VP                  P                  R4      4      P                  4       VP                  VP                  P                  R4      4      P                  4       4       VP                  VP                  P                  R4      \        P                  ! . R
O4      RR7       \        P                  ! VP                  VP                  P                  R4      4      P                  4       \        P                  ! . RO4      4       R# )[int: int; float: float; complex: complex;str: object; bool: bool; obj: object; dt: datetimer0  rF   rY   TinplaceNr3  rM   rs   rt   )r]   rY   rg   rn   )      Y@g      i@g     r@)      ?r  r  )r%   r5  r9   r   r6  r  r*   r  r   r   r)  r  r=  r*  )r   r'   numerics   &  r!   test_get_numeric_data&TestBlockManager.test_get_numeric_data  s'   A

 	BHHYbjj9:&&(
gmmU3V-WX
HHSYY&&w/0@@BLL..w78HHJ	
 	MM!!'*HH*+ 	 	

 	HHSYY&&w/0@@BHH_%	
r#   c                &   \        R RR7      pVP                  ^\        P                  ! . RO\        P                  R7      4       VP                  4       p\        P                  ! VP                  \        R.4      4       \        P                  ! VP                  VP                  P                  R4      4      P                  4       VP                  VP                  P                  R4      4      P                  4       4       VP                  ^ \        P                  ! . RO4      RR7       \        P                  ! VP                  VP                  P                  R4      4      P                  4       \        P                  ! . R	O4      4       R# )
r  r0  TrF   rn   r  Nr3  )TFT)TTT)r%   r5  r9   r   r6  get_bool_datar*   r  r   r   r)  r  r=  r*  r+   )r   r'   boolss   &  r!   test_get_bool_data#TestBlockManager.test_get_bool_data  s   A

 	BHH0

CD!!#
ekk5&?;
HHSYY&&v./??AJJu{{**623CCE	

 	

1bhh23T
B
##HHSYY&&v./??AHH'(	
r#   c                .    \        \        R 4      4       R# )u   b,א: objectN)reprr%   )r   s   &r!   test_unicode_repr_doesnt_raise/TestBlockManager.test_unicode_repr_doesnt_raise"  s    Z*+,r#   a,b,c: i8-1; d,e,f: i8-2za,a,a: i8-1; b,b,b: i8-2c                    \        V4      p\        VP                  R R R1,          VP                  4      pVP	                  V4      '       g   Q hR # )Nr{   )r%   r   r   r	  equals)r   r  bm1bm2s   &&  r!   test_equalsTestBlockManager.test_equals%  s=    
 $3::dd+SXX6zz#r#   c                   \        V4      p\        P                  ! VP                  4      pV FT  p\	        \        V4      VP                  4      pVP                  V4      '       g   Q hVP                  V4      '       d   KT  Q h	  R # r)   )r%   	itertoolspermutationsr   r   r   r	  r  )r   r  bmblock_permsbm_permbm_thiss   &&    r!   (test_equals_block_order_different_dtypes9TestBlockManager.test_equals_block_order_different_dtypes.  sj     
#,,RYY7"G"5>277;G99W%%%%>>"%%%% #r#   c                n    \        R ^R7      pVP                  4       P                  4       . RO8X  g   Q hR# )rZ   )r   N)rS   r         @g      @g      @)r   external_valuestolistr  s   & r!   test_single_mgr_ctor%TestBlockManager.test_single_mgr_ctorA  s/    q1""$++-1JJJJr#   valueTrueg      @c                    \        R 4      pR\        V4      P                   R2p\        P                  ! \
        VR7      ;_uu_ 4        VP                  ^.^.VR7       RRR4       R#   + '       g   i     R# ; i)r  z9For argument "inplace" expected type bool, received type .r   r  N)r%   rj  r   r   r   r   replace_list)r   r  r  r  s   &&  r!   test_validate_bool_args(TestBlockManager.test_validate_bool_argsE  si    34!%[112!5 	 ]]:S11aS1#u5 2111s   	A**A;	c                   \        R 4      pVP                  ^ \        P                  ! ^ .4      4       \        P
                  ! VP                  \        P                  ! . RO\        '       d   RMRR7      4       \        P
                  ! VP                  \        P                  ! . RO\        '       d   RMRR7      4       \        VP                  4      ^8X  g   Q hR# )a,b,c: i8; d: f8rk  r   rF   Nr   r   rM   r   )r   r   r   rM   )r%   _iset_split_blockr9   r   r*   r+   blklocsr   blknosr?   r   r   r  s   & r!   test_iset_split_block&TestBlockManager.test_iset_split_blockP  s    *+
Q!.
##JJW'R	
 	##IIrxxttGQ	
 299~"""r#   c                   \        R 4      pVP                  ^ \        P                  ! ^ .4      \        P                  ! \	        \        ^
4      4      .4      4       \        P                  ! VP                  \        P                  ! . RO\        '       d   RMRR7      4       \        P                  ! VP                  \        P                  ! . RO\        '       d   RMRR7      4       \        VP                  4      ^8X  g   Q hR# )r  rk  r   rF   Nr  )r   rs   rs   rM   )r%   r  r9   r   r   ranger*   r+   r  r   r  r?   r   r  s   & r!   test_iset_split_block_values-TestBlockManager.test_iset_split_block_values\  s    *+
Q!rxxeBi8I/JK
##JJW'R	
 	##IIrxxttGQ	
 299~"""r#   r&   N)r~  float32r@  r   rk  ))r  r^   )za: category; b: categoryr^   )r  rj   )r  rj   )za: category2; b: category2rj   )r  rZ   )r  rZ   )r  rZ   )r  rj   )r  rj   )r  rg   )r  rj   )r  rj   )r  rj   )r  rj   )r  rj   )r  rj   )r  rj   )z	a:i8;b:f8za:i8;b:f8;c:c8;d:bza:i8;e:dt;f:td;g:stringza:i8;b:category;c:category2zc:sparse;d:sparse_na;b:f8r  )-r   r   r   r   r   r  r   r   r   r   r  r$  r-  r7  rB  r   rR  rU  r9   r  r@  r[  r   rk  r   r^  ra  rd  rn  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   s   @r!   r  r  o  s    
*, [[\J+GH
 I

I
22#7J2-
 [[
"**	%(=rzz'JK-	- [[#RXX.4bhh?"BHH-	
--00 [[S"UV0 W0693v1 [[	
.#0/.#0J
"
*
4
*- [[13MN [[	
	&	&K [[Wq&)S&AB6 C6
#
# 
#r#   r  c                 x    V P                   ^8X  d   V P                  4       # V P                  4       P                  # )rM   )rJ   r  r0   T)r'   s   &r!   	_as_arrayr  i  s.    
xx1}""$$<<>r#   c            
       T  a  ] tR tRt o ]! R]4      ]! R]4      ]! R]3R7      ]! R]3R7      ]! R]3R7      ]! R]3R7      .t]P                  P                  R	]4      R
 4       t]P                  P                  R	]4      R 4       t]P                  P                  R	]4      ]P                  P                  RR]P                  R.4      R 4       4       t]P                  P                  R	]4      ]P                  P                  RR]P                  R.4      R 4       4       tRtV tR# )TestIndexingio  rZ   r^   za,b,c,d,e,f: f8r0  za,b,c,d,e,f: i8za,b: f8; c,d: i8; e,f: stringza,b: f8; c,d: i8; e,f: f8r'   c           
     h   R  pVP                   ^8:  g   Q VP                   4       h\        VP                   4       EFr  pV! W\        R4      4       V! W\        ^4      4       V! W\        ^d4      4       V! W\        ^^4      4       V! W\        ^^ R4      4       VP                   ^8  g   Kt  V! W\        P                  ! VP
                  V,          \        P                  R7      4       V! W\        P                  ! VP
                  V,          \        P                  R7      4       VP
                  V,          ^8  g   EK  V! W\        P                  ! VP
                  V,          4      ^,          ^ 8H  4       V! W\        P                  ! . RO\        P                  R7      4       EKu  	  R# )c           	         \        V 4      p\        V\        P                  4      '       d   V P                  V,          p\        V4      '       dv   \        V4      '       de   \        V4      \        V4      8w  dL   \        P                  ! V\        P                  ! \        V4      \        V4      ,
          \        R 7      .4      p\        V\        4      '       d   V P                  W!R7      pMjV P                  ^8X  dO   V^ 8X  dH   \        V\        P                  4      '       d(   VP                  \        8X  d   V P                  V4      pM\        V4      h\        R4      3V,          V3,           p\        P                   ! W6,          \        V4      RR7       \        P"                  ! V P                  V,          V,          VP                  V,          4       R# )rF   r  NFcheck_dtype)r  r.   r9   rF  r	  r?   concatenater<  rn   r   	get_slicerJ   r-   get_rows_with_mask	TypeErrorr*   r+   r  )r'   r  slobjr   axsliced	mat_slobjs   &&&    r!   assert_slice_ok4TestIndexing.test_get_slice.<locals>.assert_slice_ok  s?   C.C %,,XXd^r77s5zzc%jCG.CNNR3u:)=T JKE %''u8AAIubjj11KK4'//6  &&t-8I''	& 1u !!#((4."7T9JKr#   NrF   )TTF)
rJ   r  r   r9   r   r6   r   r<  r:   r   )r   r'   r  r  s   &&  r!   test_get_sliceTestIndexing.test_get_slice  s#   	L@ xx1}&chh&}/BCU4[1CU1X.CU3Z0CU1a[1CU1a_5xx!|  2bhh)OP#))B-rxx)PQ99R=A%#CRYYsyy}-E-IQ-NO#*=RXX!N# "r#   c                   R  p\        VP                  4       EF-  pV! W\        P                  ! . \        P                  R7      R7       V! W\        P                  ! . RO\        P                  R7      R7       V! W\        P                  ! \        \        VP                  V,          4      4      \        P                  R7      R7       VP                  V,          ^8  g   K  V! W\        P                  ! . RO\        P                  R7      R7       V! W\        P                  ! . RO\        P                  R7      R7       EK0  	  R# )c                 <   \        V 4      pV P                  W!4      p\        P                  ! \        P                  ! W2V4      \        V4      R R7       \        P
                  ! V P                  V,          P                  V4      VP                  V,          4       R# )Fr  N)r  taker*   r+   r9   r  r	  )r'   r  indexerr   takens   &&&  r!   assert_take_ok.TestIndexing.test_take.<locals>.assert_take_ok  sl    C.CHHW+E''d+Yu-=5 !!#((4."5"5g">

4@PQr#   rF   )r  Nr   r   r   r   rM   rs   r{   r  )r  rJ   r9   r   r   r   r6   )r   r'   r  r  s   &&  r!   	test_takeTestIndexing.test_take  s    	R /B3BHHRrww,GH3BHHYbgg,NO$uSYYr]/C*DBGG!T yy}!s"''0RSsRWW0UVV "r#   rU   Nr  c           
     t   R  p\        VP                  4       EF  pV! W$\        . 4      V4       V! W$VP                  V,          V4       V! W$VP                  V,          . RO,          V4       V! W$\        . RO4      V4       V! W$\        RVP                  V,          ^ ,          R.4      V4       VP                  V,          ^8  g   K  V! W$VP                  V,          RR V4       V! W$VP                  V,          RRR1,          V4       V! W$VP                  V,          . RO,          V4       EK  	  R# )	c           	      F   \        V 4      pV P                  V,          P                  V4      pV P                  W!VR 7      p\        P
                  ! \        P                  ! WEWR 7      \        V4      RR7       \        P                  ! VP                  V,          V4       R# rT   Fr  N)	r  r	  get_indexer_forr  r*   r+   algostake_ndr  )r'   r  
new_labelsrU   r   r  r  s   &&&&   r!   assert_reindex_axis_is_okATestIndexing.test_reindex_axis.<locals>.assert_reindex_axis_is_ok  sz    C.Chhtn44Z@G((j(QI''cDH)$!
 !!).."6
Cr#   r1  r:  Nr  r1  r2  r:  r  r{   )r   rM   rs   r   rM   rs   )r  rJ   r   r	  r6   )r   rU   r'   r  r  s   &&&  r!   test_reindex_axisTestIndexing.test_reindex_axis  s    
	D /B%cuRy*E%csxx|ZH%csxx|I/F
S%cu5J/KZX%sxx|A>? yy}!)#388B<3DjQ)#388B<B3GT)SXXb\*<=z "r#   c                   R  p\        VP                  4       EFL  pV! W$\        . 4      \        P                  ! . \        P
                  R7      V4       V! W$VP                  V,          \        P                  ! VP                  V,          4      V4       V! VV\        R.VP                  V,          ,          4      \        P                  ! VP                  V,          4      V4       V! W$VP                  V,          RRR1,          \        P                  ! VP                  V,          4      V4       V! W$VP                  V,          \        P                  ! VP                  V,          4      RRR1,          V4       V! W$\        . RO4      \        P                  ! . RO4      V4       V! W$\        . RO4      \        P                  ! . RO4      V4       V! VV\        RVP                  V,          ^ ,          R.4      \        P                  ! . R	O4      V4       VP                  V,          ^8  g   EK  V! VV\        . RO4      \        P                  ! . R
O4      V4       EKO  	  R# )c                    \        V 4      p\        P                  ! WSWR 7      pV P                  W#WR 7      p\        P
                  ! V\        V4      RR7       \        P                  ! VP                  V,          V4       R# r  )r  r  r  reindex_indexerr*   r+   r  r	  )r'   r  r  r  rU   r   reindexed_matr  s   &&&&&   r!   assert_reindex_indexer_is_okGTestIndexing.test_reindex_indexer.<locals>.assert_reindex_indexer_is_ok  sl    C.C!MM#TM++T , I ''y3 !!).."6
Cr#   rF   r1  Nr:  r{   r  r  )r{   r   r{   )r{   r{   r{   r  )	r  rJ   r   r9   r   r   r	  r:   r6   )r   rU   r'   r  r  s   &&&  r!   test_reindex_indexer!TestIndexing.test_reindex_indexer  s   		D /B(rBHHRrww$? )"ryy2'? )ug		"-.		#))B-( )"dd+RYYsyy}-Ez )"ryy2'?"'Ez )45rxx	7JJ )45rxx7Lj )uchhrl1ou56& yy}!,/0HHY'G "r#   r&   )r   r   r   r   r   r|   r%   MANAGERSr   r   r   r  r  r9   r   r  r  r   r   r   s   @r!   r  r  o  s7     	$"$"$!6$!62tD.A4@H [[UH-5 .5n [[UH-W .W* [[UH-[[\D"&&%+@A B .: [[UH-[[\D"&&%+@A5 B .5r#   r  c                     a  ] tR tRt o ]P
                  P                  R]! ^ ^4      ^3]! ^ ^^4      ^3]! ^ ^^4      ^3]! ^ ^^4      ^3]! ^^ R4      ^3.4      R 4       t]P
                  P                  R]! ^^^ 4      ]! ^^^ 4      .4      R 4       t	R t
]P
                  P                  R]! RR4      ]! ^
R4      ]! RRR4      ]! R^
R4      ]! RR4      ]! RR4      ]! RR4      ]! RRR4      ]! RRR4      ]! RRR4      .
4      R 4       t]P
                  P                  R]! ^ ^ 4      ]! ^d^ 4      ]! ^d^d4      ]! ^d^dR4      ]! ^ ^dR4      .4      R	 4       t]P
                  P                  R
^ .]! ^ ^^4      3^d.]! ^d^e^4      3. RO]! ^ ^^4      3. RO]! ^ ^^4      3^ ^d.]! ^ ^^d4      3^^.]! ^^ R4      3.4      R 4       t]P
                  P                  R. R.. ROR.. RO. RO. RO. RO.4      R 4       t]P
                  P                  R]! ^ ^4      . RO3]! ^ ^ 4      . 3]! ^^ 4      . 3.4      R 4       t]P
                  P                  R]! ^ ^4      . RO3]! ^ ^ 4      . 3]! ^^ 4      . 3]! ^^ R4      . R O3.4      R 4       tR t]P
                  P                  R]! ^ ^ 4      ^ . 3]! ^^4      ^ . R!O3]! ^^ R4      ^ . R O3. R"O^ . R"O3]! ^ ^ 4      ^
. 3]! ^^4      ^
. R#O3]! ^^ R4      ^
. R$O3. R"O^
. R%O3]! ^ ^ 4      R. 3]! ^^4      R. RO3. R"OR. R&O3.4      R 4       t]P
                  P                  R]! ^^4      . R"O.4      R 4       tRtV tR# )'TestBlockPlacementi)  zslc, expectedc                <    \        \        V4      4      V8X  g   Q hR # r)   )r?   r   r   slcr   s   &&&r!   test_slice_len!TestBlockPlacement.test_slice_len*  s     >#&'8333r#   r"  c                    R p\         P                  ! \        VR7      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; i)zslice step cannot be zeror   Nr   r   r   r   r   r"  r  s   && r!   test_zero_step_raises(TestBlockPlacement.test_zero_step_raises7  s/    )]]:S113 2111	   =A	c                r    \        ^RR4      p\        V4      pVP                  \        ^RR4      8X  g   Q hR# )rt   Nr{   r  )r   r   r  )r   r"  bps   &  r!   !test_slice_canonize_negative_stop4TestBlockPlacement.test_slice_canonize_negative_stop=  s5    Ar2C zzU1dB////r#   Nc                    R p\         P                  ! \        VR7      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; i)zunbounded slicer   Nr&  r'  s   && r!   test_unbounded_slice_raises.TestBlockPlacement.test_unbounded_slice_raisesD  s1    $  ]]:S113 2111r*  c                @    \        V4      P                  '       d   Q hR # r)   r   is_slice_like)r   r"  s   &&r!   test_not_slice_like_slices-TestBlockPlacement.test_not_slice_like_slicesZ  s     "#&444444r#   zarr, slcc                >    \        V4      P                  V8X  g   Q hR # r)   )r   as_slice)r   rA   r"  s   &&&r!   test_array_to_slice_conversion1TestBlockPlacement.test_array_to_slice_conversiong  s     c"++s222r#   rA   c                @    \        V4      P                  '       d   Q hR # r)   r3  )r   rA   s   &&r!   test_not_slice_like_arrays-TestBlockPlacement.test_not_slice_like_arraysu  s     "#&444444r#   c                <    \        \        V4      4      V8X  g   Q hR # r)   )r   r   r!  s   &&&r!   test_slice_iter"TestBlockPlacement.test_slice_iter  s    
 N3'(H444r#   zslc, arrc                    \         P                  ! \        V4      P                  \        P
                  ! V\        P                  R 7      4       R# )rF   N)r*   r+   r   r0   r9   asarrayr   )r   r"  rA   s   &&&r!   test_slice_to_array_conversion1TestBlockPlacement.test_slice_to_array_conversion  s1     	##3(("**S*H	
r#   c           	     ~   \        \        ^ ^4      4      pVP                  ^4      P                  \        ^^^4      8X  g   Q hVP                  \        P
                  ! ^4      4      P                  \        ^ ^
^4      8X  g   Q h\        VP                  \        P
                  ! ^^ R4      4      4      . RO8X  g   Q hR# )r   Nr{   )   rF  rF  rF  rF  )r   r   addr8  r9   r:   r   )r   bpls   & r!   test_blockplacement_add*TestBlockPlacement.test_blockplacement_add  s    U1a[)wwqz""eAq!n444wwryy|$--q"a@@@CGGBIIaB/01_DDDr#   zval, inc, expectedc                Z    \        \        V4      P                  V4      4      V8X  g   Q hR # r)   )r   r   rG  )r   valincr   s   &&&&r!   test_blockplacement_add_int.TestBlockPlacement.test_blockplacement_add_int  s'    " N3'++C01X===r#   rL  c                    R p\         P                  ! \        VR7      ;_uu_ 4        \        V4      P	                  R4       RRR4       R#   + '       g   i     R# ; i)ziadd causes length changer   N)r   r   r   r   rG  )r   rL  r  s   && r!   "test_blockplacement_add_int_raises5TestBlockPlacement.test_blockplacement_add_int_raises  s:    )]]:S113##C( 2111s   AA	r&   r{   r  )r   rF  
   r  rQ  )r{   r   rM   rs   )r  r   rs   ru   )rM   r   r{   )rM   rM   rM   )rt   rs   rM   r  )rM   rs   ru   )         )rW  rV  rU  )rU  rV     )r   rM   rt   )r   r   r   r   r   r   r   r   r#  r(  r-  r0  r5  r9  r<  r?  rC  rI  rN  rR  r   r   r   s   @r!   r  r  )  sJ    [[1a[!1a^Q1a^Q1a^Q1a_a 	
	4	4 [[UU1a^U1a^$DE  F 
0 [[$"dO$b!$B "dO$O"bM"dB$B"b"	
" #" 
 [[!QK#qM#sO#sB!S"	
	5	5 [[S%1a.!UE#sA&'aA'q"a)XuQS)*VU1a_%	

3
3 [[DE		
55 [[
1+y	!E!QK#4uQ{B6GH5	5 [[1a[)$1a["1a["1a_i(		



E [[1a[!R 1a[!Y'1a_a+9%1a["b!1a["l+1a_b,/L)1a["b!1a["i(I&	
 >! > [[UU1a[)$<=) >)r#   r  c            
         a  ] tR tRt o ]P
                  ! R R R R R R R R	 .R
7      R 4       tR t]P                  P                  R]
P                  ]
P                  ]
P                  .4      R 4       t]P                  P                  R]
P                  ]
P                  ]
P                  .4      R 4       tR tR tR tV 3R lR ltV 3R lR ltRtV tR# )TestCanHoldElementi  c                    V # r)   r&   r5   s   &r!   r   TestCanHoldElement.<lambda>  s    ar#   c                "    V P                  4       # r)   )	to_seriesr\  s   &r!   r   r]    s
    akkmr#   c                    V P                   # r)   )r   r\  s   &r!   r   r]    s    aggr#   c                    \        V 4      # r)   )r   r\  s   &r!   r   r]    s    d1gr#   c                ,    V P                  \        4      # r)   )r}   rj   r\  s   &r!   r   r]    s    ahhv&r#   c                .    \         P                  ! V 4      # r)   )r9   rB  r\  s   &r!   r   r]    s    bjjmr#   c                    V ^ ,          # r8   r&   r\  s   &r!   r   r]    s    adr#   c                    V R ,          # ):Nr   Nr&   r\  s   &r!   r   r]    s    aer#   r   c                    VP                   # )z
Functions that take an Index and return an element that should have
blk._can_hold_element(element) for a Block with this index's dtype.
r   )r   r    s   &&r!   elementTestCanHoldElement.element  s    " }}r#   c                   \        R ^ .4      pVP                  . 4      '       g   Q h\        P                  ! VP                  P                  4       4      pVP                  R4      '       g   Q hRV^ &   V^ ,          \        P                  J g   Q h\        P                  ! R4      \        R^
^
4      .pV F   pVP                  V4      '       g   Q hWB^ &   K"  	  \        R^
^
4      pVP                  V4      '       d   Q hRp\        P                  ! \        VR7      ;_uu_ 4        WB^ &   RRR4       R#   + '       g   i     R# ; i)r   Nz
2010-10-10i  zLvalue should be a 'Timestamp', 'NaT', or array of those. Got 'date' instead.r   )r   _can_hold_elementpdr   r,   r   NaTr9   rl  r   r   r   r   r  )r   r,  rA   valsrL  r  s   &     r!   $test_datetime_block_can_hold_element7TestCanHoldElement.test_datetime_block_can_hold_element  s   Z!-&&r**** hhu||))+, &&t,,,,A1v l+XdB-CDC**3////F  4R **3////5 	 ]]9C00F 1000s   %D44E	r-   c                    \         P                  ! . ROVR7      p\        P                  ! V4      p\	        VP
                  \        ^.4      ^R7      pVP                  . 4      '       g   Q hR# )rM   rF   rI   N)rM   rt   ru   )r9   r   r   from_breaksr   r   r   rj  )r   r-   rg  rA   iir   s   &&&   r!   (test_interval_can_hold_element_emptylist;TestCanHoldElement.test_interval_can_hold_element_emptylist  sR    hhy.&&s+.!"5A>$$R((((r#   c                   \         P                  ! . R
OVR7      p\        P                  ! V4      p\	        VP
                  \        ^.4      ^R7      pV! V4      pV P                  WdR4       VP                  V4      '       g   Q h\        P                  ! VRR RR7      pV! V4      p\        P                  ! \        RR7      ;_uu_ 4        V P                  WdR	4       RRR4       VP                  V4      '       d   Q h\        P                  ! \        ^4      \        ^4      \        ^4      .4      pV! V4      p\        P                  ! \        RR7      ;_uu_ 4        V P                  WdR	4       RRR4       VP                  V4      '       d   Q h\        P                  ! \        ^4      \        ^4      \        ^4      .4      p	V! V	4      p\        P                  ! \        RR7      ;_uu_ 4        V P                  WdR	4       RRR4       VP                  V4      '       d   Q hR#   + '       g   i     ELT; i  + '       g   i     L; i  + '       g   i     LR; i)rM   rF   rI   TNneither)closedInvalid valuer   F)rM   rt   ru   	   r{   )r9   r   r   rq  r   r   r   check_series_setitemrj  r   r   r  r   r   )
r   r-   rg  rA   rr  r   elemii2ii3ii4s
   &&&       r!   test_interval_can_hold_element1TestCanHoldElement.test_interval_can_hold_element  s   hh|51&&s+.!"5A>r{!!$D1$$T**** ''CRCs|]]9O<<%%d6 =((....''1y|Yq\(RSs|]]9O<<%%d6 =((....''1y|Yq\(RSs|]]9O<<%%d6 =((..... =<< =< =<s$   H+!H?5I+H<	?I	I"	c                    \        R ^RR7      p\        VP                  P                  ^^4      \	        ^.4      ^R7      pVP                  . 4      '       g   Q hR# )2016YperiodsfreqrI   N)r   r   r   r~   r   rj  )r   pir   s   &  r!   &test_period_can_hold_element_emptylist9TestCanHoldElement.test_period_can_hold_element_emptylist  sM    &!#6((A.s0C!L$$R((((r#   c                   \        R ^RR7      pV! V4      pV P                  W2R4       VP                  R4      RR
 pV! V4      p\        P                  ! \
        RR7      ;_uu_ 4        V P                  W2R4       RRR4       VP                  R	4      RR
 pV! V4      p\        P                  ! \
        RR7      ;_uu_ 4        V P                  W2R4       RRR4       R#   + '       g   i     Lm; i  + '       g   i     R# ; i)r  r  r  TDNrx  r   FrO   r{   )r   rz  asfreqr   r   r  to_timestamp)r   rg  r  r{  pi2dtis   &&    r!   test_period_can_hold_element/TestCanHoldElement.test_period_can_hold_element  s    &!#6r{!!$D1 iinSb!s|]]9O<<%%d6 = ooc"3B's|]]9O<<%%d6 =< =<
 =<<s   )C!C4!C1	4D	c                   \        R ^RR7      p\        VP                  P                  ^^4      \	        \        ^4      4      ^R7      p\        V3\        \        P                  ! ^4      4      \        R.4      .R7      pVP                  \        . R
O4      ^ R7      p\        P                  ! WDP                  R7      p\        V^ ,          V^,          V^,          ... R
OR.R7      p\        P                  ! WV4       R	# )2020r  r  rI   rw   r(  r  r  )columnsindexNr   )r   r   r   r~   r   r   r   r   r9   r:   r  r
   r  r	  r*   r  )r   r  r   r'   r  r   r   s   &      r!   test_period_reindex_axis+TestCanHoldElement.test_period_reindex_axis*  s    &!#6((A.uQx0HqQ3&biil0CUC5\/RS$$U9%5A$>	$$Y^^Dr!ubeRU34iPSuU
f/r#   c                    < V ^8  d   QhRS[ /# )rs   r  )rn   )formatr  s   "r!   __annotate__TestCanHoldElement.__annotate__4  s     3 3 3r#   c                    VP                   P                  ^ ,          pV'       d   VP                  V4      '       g   Q hR# VP                  V4      '       d   Q hR# )r   N)r   r   rj  )r   objr{  r  r   s   &&&& r!   check_can_hold_element)TestCanHoldElement.check_can_hold_element4  sH    hhooa ((....,,T22222r#   c                &   < V ^8  d   QhRS[ RS[/# )rs   r  r  )r   rn   )r  r  s   "r!   r  r  ;  s     ' ' ' 'r#   c                $   VP                   P                  4       p\        VR R7      pV P                  WQV4       \	        V4      '       d   W^ &   MWR\        V4      % V'       d   VP                  VJ g   Q hR# VP                  \        8X  g   Q hR# )F)r@   N)	r   r@   r   r  r   r?   _valuesr-   rj   )r   r{  r  r  rA   sers   &&&&  r!   rz  'TestCanHoldElement.check_series_setitem;  su    kk Su%##Cw7T??F##d);;#%%%99&&&r#   r&   N)r   r   r   r   r   fixturerg  rn  r   r   r9   rk  uint64r@  rs  r  r  r  r  r  rz  r   r   r   s   @r!   rZ  rZ    s     ^^#&#	
: [[WrxxBJJ&GH) I) [[WrxxBJJ&GH/ I/:)7$03 3' 'r#   rZ  c                   &   a  ] tR tRt o R tRtV tR# )TestShouldStoreiL  c                   \        . RO4      p\        V4      pVP                  P                  ^ ,          pVP	                  V4      '       g   Q hVP	                  VRR 4      '       g   Q hVP	                  VP                  4       4      '       d   Q hVP	                  \        P                  ! V4      4      '       d   Q hR# )rD   N)rD   BCr{   )r	   r
   r   r   should_store
as_orderedr9   rB  )r   catr   r   s   &   r!   test_should_store_categorical-TestShouldStore.test_should_store_categoricalM  s    /*s^ggnnQ $$$$CR)))) ##CNN$45555 ##BJJsO44444r#   r&   N)r   r   r   r   r  r   r   r   s   @r!   r  r  L  s     5 5r#   r  c            
         \         P                  ! R R.4      p \        \        ^4      4      pRpRp\        P
                  ! \        VR7      ;_uu_ 4        \        P                  ! \        VR7      ;_uu_ 4        \        W^R7       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r  r  z:Wrong number of dimensions. values.ndim != ndim \[1 != 2\]make_block is deprecatedr   rI   N)r9   r   r   r   r   r   r   r*   assert_produces_warningr   r   )r,   rX   r  depr_msgs       r!   test_validate_ndimr  ]  s{    XXsCj!FuQx(I
GC)H	z	-	-''hGGvq1 H 
.	-GG 
.	-	-s$   %B-:B	B-B*%B--B>	c                  p   \        . RO4      p \        . RO4      P                  V 4      p\        \        . RO4      4      P                  V 4      pVP                  P
                  ^ ,          P                  P                  VP                  P
                  ^ ,          P                  P                  8X  g   Q hR# )r   N)r   rM   rs   rt   ru   r  )r   r   reindexr	   r   r   r/   r  )rA  rw   rm   s      r!   test_block_shaper  h  s{    

 Cy!!#&A{9%&..s3A66==$$,,a0@0I0I0Q0QQQQr#   c                 t   \         P                  P                  \        P                  ! ^^.4      4      pRpV \
        J d   \        MRp\        P                  ! W2R7      ;_uu_ 4        V ! V\        \        \        V4      4      4      VP                  R7      pRRR4       XP                  P                  R9   g   Q hV \
        J Ed5   VP                  RJ g   Q h\        P                  ! W2R7      ;_uu_ 4        V ! V\        \        V4      4      VP                  VP                  R7      pRRR4       VP                  P                  R9   g   Q hVP                  RJ g   Q h\        P                  ! W2R7      ;_uu_ 4        V ! VP!                  4       \        \        V4      4      VP                  VP                  R7      pRRR4       VP                  P                  R9   g   Q hVP                  RJ g   Q hR# R#   + '       g   i     ELo; i  + '       g   i     L; i  + '       g   i     Lj; i)rM   r  Nr   rI   F)r-   rJ   )r   u)rk  arraysNumpyExtensionArrayr9   r   r   DeprecationWarningr*   r  r   r   r?   rJ   r-   kindis_extensionto_numpy)r"   rA   r  warnr   s   &    r!   test_make_block_no_pandas_arrayr  p  s   
))
'
'!Q(8
9C)H!,
!:D 
	#	#D	9	9S.s3x"AQ 
:<<
***j ""e+++ ''== eCHoSYYSXXVF >||  J...""e+++ ''== c#hsyysxxF > ||  J...""e+++# !	 
:	9	9 >= >=s%   )1H ;3HAH' H	H$	'H7	r)   )Ar   r   r  r   numpyr9   r   pandas._libs.internalsr   pandas.compatr   pandas.errorsr   pandas.core.dtypes.commonr   pandasrk  r	   r
   r   r   r   r   r   r   r   pandas._testing_testingr*   pandas.core.algorithmscore
algorithmsr  pandas.core.arraysr   r   r   pandas.core.internalsr   r   r   pandas.core.internals.blocksr   r   r   r  r"   r'   r3   rB   r|   r   r   r%   r   r   r  r  r  r  rZ  r  r  r  r  r&   r#   r!   <module>r     s>    	   1  ( / 
 
 
  & & 
 
  	:./ 0  Q  15) V?r<~ , ,r) r)jw# w#tw wtN) N)bO' O'd5 5"2R,r#   