
    .ivo                     
   d dl Zd dlZd dlmZ d dlZd dlmZmZ d dl	m
Z d dlmZ  ej                  ddg      d        Zd	 Zd
 Zd Zej&                  j)                  dddgddg      d        Zej&                  j)                  dddgddg      ej&                  j)                  d edd       ej.                  g d       ej.                  ddg      gg d      ej&                  j)                  d edd       ej.                  g d      ddggg d      d                      Zej&                  j)                  dddgddg      ej&                  j)                  d edd       ej.                  g d       ej.                  ddg      gg d      ej&                  j)                  d edd       ej.                  g d      ddggg d      d                      Zej&                  j)                  d ed d       ej.                  g d       ej.                  d dg      gg d      d         Zd! Zd" Zej&                  j)                  dddgddg      d#        Zd$ Zej&                  j)                  dddgddg      d%        Zej&                  j)                  d ed&d       ej.                  g d      d&dggg d      d'        Z ej&                  j)                  d(d) d* d+ d, d- d. gg d/      ej&                  j)                  dddgddg      d0               Z!ej&                  j)                  dddgddg      d1        Z"ej&                  j)                  d(d2 d3 d4 d5 gg d6      d7        Z#d8 Z$ej&                  j)                  d(d9 d: d; d< d= gg d>      d?        Z%ej&                  j)                  d(d@ dA dB gg dC      dD        Z&dE Z'dF Z(ej&                  j)                  d ed d       ej.                  g d       ej.                  d dg      gg d      dG        Z)dH Z*dI Z+dJ Z,dK Z-ej&                  j)                  d(dL dM dN gg dC      dO        Z.dP Z/ej&                  j)                  dQdRd&g      ej&                  j)                  dSej`                  dTfejb                  dUfej`                  d gd&ffejb                  d gd ffej`                   ed      d&ffejb                   ed      d ffg      ej&                  j)                  dVg dWg dXgddg      dY                      Z2dZ Z3d[ Z4d\ Z5d] Z6d^ Z7y)_    N)is_float_dtype)	DataFrameSeries)	get_arraynumpynullable)paramsc                 v    | j                   dk(  rd }d }n| j                   dk(  rd }d }| j                   fS )Nr   c                      t        | i |S N)r   argskwargss     b/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/copy_view/test_indexing.pymake_dataframezbackend.<locals>.make_dataframe   s    d-f--    c                      t        | i |S r   )r   r   s     r   make_serieszbackend.<locals>.make_series   s    4*6**r   r   c                     t        | i |}|j                         }|j                  D ]K  }t        ||   j                        st        ||   j                        r5||   j                  d      ||<   M |j                         S )NFloat64)r   convert_dtypescolumnsr   dtypeastypecopy)r   r   dfdf_nullablecols        r   r   zbackend.<locals>.make_dataframe   s    D+F+B++-K zz J!"S'--0$**: (33'7'>'>y'IK$	J ##%%r   c                  T    t        | i |}|j                         j                         S r   )r   r   r   )r   r   sers      r   r   zbackend.<locals>.make_series(   s)    $)&)C%%',,..r   )param)requestr   r   s      r   backendr#      sC    }}	.	+ 
*	$	&	/ ==.+55r   c                    | \  }}} |g dg dg dd      }|j                         }|ddg   }|j                  |j                  usJ t        j                  t	        |d      t	        |d            sJ d|j
                  d<   t        j                  t	        |d      t	        |d            rJ  |g d	g dd
      }t        j                  ||       t        j                  ||       y )N                  皙?皙?333333?abcr2   r4   r   r   r   r   r'   r(   r2   r4   )r   indexnpshares_memoryr   iloctmassert_frame_equalr#   _r   r   df_origsubsetexpecteds          r   test_subset_column_selectionrC   3   s     OAy!	I	JBggiGc
^F<<rxx''' Ifc2Ib#4FGGGFKK	&# 6	"c8JKKKy?@H&(+"g&r   c                    | \  }}} |g dg dg dd      }|ddg   }t        j                  t        |d      t        |d            sJ d|j                  d<   t        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            sJ  |g dg dd	      }t	        j
                  ||       y )
Nr%   r)   r-   r1   r2   r4   r   r5   r7   )r9   r:   r   r;   r<   r=   )r#   r?   r   r   rA   rB   s         r   *test_subset_column_selection_modify_parentrE   J   s     OAy!	I	JBc
^F Ifc2Ib#4FGGGBGGDM	&# 6	"c8JKKKIfc2Ib#4FGGGy?@H&(+r   c                 \   | \  }}} |g dg dg dd      }|j                         }|dd }|j                  j                          |j                  |j                  usJ t	        j
                  t        |d      t        |d            sJ d|j                  d	<   t	        j
                  t        |d      t        |d            rJ |j                  j                           |ddgd
dgddgdt        dd            }t        j                  ||       t        j                  ||       y )Nr%   r)   r-   r1   r&   r(   r2   r   r5   r+   r,   r/   r0   r8   )r   _mgr_verify_integrityr   r9   r:   r   r;   ranger<   r=   r>   s          r   test_subset_row_slicerK   _   s	    OAy!	I	JBggiG!WF
KK!!#>>+++Ifc2Ib#4FGGGFKK	&# 6	"c8JKKK
KK!!#1vQF#sDERSUVKXH&(+"g&r   r   int64float64zsingle-blockzmixed-block)idsc                 ~   | \  }}} |g dg dt        j                  g d|      d      }|j                         }|j                  d d dd f   }|j                  j                          |j                  |j                  usJ t        j                  t        |d      t        |d            sJ d|j                  d	<   t        j                  t        |d      t        |d            rJ  |g d
t        j                  g d|      d      }t        j                  ||       t        j                  ||       y )Nr%   r)         	   r   r1   r&   r3   r   r5   )r   r+   r,   r3   r4   )r9   arrayr   r;   rH   rI   r8   r:   r   r<   r=   )	r#   r   dtype_backendr   r?   r   r@   rA   rB   s	            r   test_subset_column_slicerX   w   s    #*M9a	ibhhy.NO
B ggiGWWQU^F
KK!!#<<rxx'''Ifc2Ib#4FGGGFKK	&# 6	"c8JKKKyrxx	/OPQH&(+ "g&r   row_indexerr&   r'   )FTT)slicemaskrV   column_indexerr3   r4   c                    | \  }}} |g dg dt        j                  g d|      d      }|j                         }|j                  ||f   }	|	j                  |j                  usJ |	j
                  |j
                  usJ d|	j                  d<    |ddgt        j                  d	d
g|      dt        dd            }
t        j                  |	|
       t        j                  ||       y Nr%   r)   rP   rT   r1   r   r5   r,   rR   rS   rU   r&   r(   rG   )
r9   rV   r   locr8   r   r;   rJ   r<   r=   r#   r   rY   r\   rW   r   r?   r   r@   rA   rB   s              r   test_subset_loc_rows_columnsra      s    2 #*M9a	ibhhy.NO
B ggiGVVK/0F<<rxx'''>>+++ FKK!f288QF%89q!H &(+"g&r   r(   c                    | \  }}} |g dg dt        j                  g d|      d      }|j                         }|j                  ||f   }	|	j                  |j                  usJ |	j
                  |j
                  usJ d|	j                  d<    |ddgt        j                  d	d
g|      dt        dd            }
t        j                  |	|
       t        j                  ||       y r^   )	r9   rV   r   r;   r8   r   rJ   r<   r=   r`   s              r   test_subset_iloc_rows_columnsrc      s    2 #*M9a	ibhhy.NO
B ggiGWW[.01F<<rxx'''>>+++ FKK!f288QF%89q!H &(+"g&r   indexer)TTFc                    | \  }}} |g dg dg dd      }|j                         }|dd }|t        j                  u r>t        |t        j
                        r$|j                  dk(  rt        j                  d       d	 ||      |<    |g d
g dg ddt        dd            }t        j                  ||       t        j                  ||       y )Nr&   r'   r(   r*   r*   r+   r,   rQ   r.   r/   r0   皙?r1   r&   r*   intz&setitem with labels selects on columnsr   )r   r   r*   )r   r   rQ   )        rk   ri   rG   )r   r<   setitem
isinstancer9   ndarrayr   pytestskiprJ   r=   )	r#   
indexer_sird   r?   r   r   r@   rA   rB   s	            r    test_subset_set_with_row_indexerrr      s     OAy!	L?ST	UBggiG!WF 	bjj w

+MMU"<="#Jvwio>eAqkH &(+"g&r   c                    | \  }}} |g dg dg dd      }|j                         }|dd }|dkD  }d||<    |g d	g d
g ddt        dd            }t        j                  ||       t        j                  ||       y )Nrf   rg   rh   r1   r&   r*   r(   r   )r'   r(   r   )r   r   r   )r/   r0   ri   rG   )r   rJ   r<   r=   )r#   r?   r   r   r@   rA   r[   rB   s           r   test_subset_set_with_maskrt     s    OAy!	L?ST	UBggiG!WFA:DF4Li.>?uQPQ{H &(+"g&r   c                    | \  }}} |g dg dg dd      }|j                         }|dd }|dk(  rt        j                  dd	gd
      }nt        j                  dd	gd      }||d<   |j                  j                           |dd	gddgddgdt        dd            }t        j                  ||       t        j                  ||       y )Nr%   r)   r-   r1   r&   r(   r   
      rL   rT   Int64r2   r+   r,   r/   r0   rG   )	r   r9   rV   pdrH   rI   rJ   r<   r=   )	r#   rW   r   r?   r   r@   rA   arrrB   s	            r   test_subset_set_columnr{     s    ")M9a	I	JBggiG!WFhhBxw/hhBxw/F3K
KK!!#2haV3*5U1a[H &(+"g&r   c                    | \  }}} |g dg dt        j                  g d|      d      }|j                         }|dd }t        j                  dd	gd
      |j                  d d df<   |j                  j                           |dd	gddgt        j                  ddg|      dt        dd            }t        j                  ||       t        j                  ||       y )Nr%   r)   rP   rT   r1   r&   r(   rv   rw   rL   r2   r+   r,   rR   rS   rG   )	r9   rV   r   r_   rH   rI   rJ   r<   r=   )r#   r   r?   r   r   r@   rA   rB   s           r   test_subset_set_column_with_locr}   4  s     OAy!	ibhhy.NO
B ggiG!WF2r(':FJJq#v
KK!!#2haV"((Aq6*GHAqkH &(+"g&r   c                 4   | \  }}} |dg di      }|j                         }|dd }d|j                  d d df<   |j                  j                           |dddgit	        dd            }t        j                  ||       t        j                  ||       y )Nr2   r%   r&   r(   r   rG   r   r_   rH   rI   rJ   r<   r=   r>   s          r    test_subset_set_column_with_loc2r   M  s    
 OAy!	C#	$BggiG!WFFJJq#v
KK!!##1veAqk:H&(+"g&r   c                    | \  }}} |g dg dt        j                  g d|      d      }|j                         }|dd dd	d
g<   j                  j	                          t        fddD              sJ  |ddgddgddgdt        dd            }|dk(  r.|d	   j                  d      |d	<   |d
   j                  d      |d
<   t        j                  |       t        j                  ||       y )Nr%   r)   rP   rT   r1   r&   r(   r   r2   r4   c              3   T   K   | ]  }j                   j                  |       ! y wr   )rH   _has_no_reference).0irA   s     r   	<genexpr>z*test_subset_set_columns.<locals>.<genexpr>q  s      @Av{{,,Q/@s   %()r   r'   r+   r,   rG   r   rL   )
r9   rV   r   rH   rI   allrJ   r   r<   r=   )	r#   r   rW   r   r?   r   r@   rB   rA   s	           @r   test_subset_set_columnsr   `  s     #*M9a	ibhhy.NO
B ggiG!WFFC:
KK!!#@@@@@1vQF!Q@aQRTH
" !,,W5 ,,W5&(+"g&r   r2   c                 L   | \  }}} |g dg dg dd      }|j                         }|dd }d|j                  d d |f<   |j                  j                           |ddgddgd	d
gdt	        dd            }t        j                  ||       t        j                  ||       y )Nr%   r-   r)   r1   r&   r(   r   rk   r+   r,   rG   r   )r#   rd   r?   r   r   r@   rA   rB   s           r   #test_subset_set_with_column_indexerr   }  s     OAy!	yI	JBggiG!WFFJJq'z
KK!!#1vS#JaVDERSUVKXH&(+"g&r   methodc                     | ddg   dd S Nr2   r3   r   r'    r   s    r   <lambda>r     s    2sCj>!A& r   c                     | dd ddg   S Nr   r'   r2   r3   r   r   s    r   r   r     s    2a7C:& r   c                 *    | ddg   j                   dd S r   r;   r   s    r   r   r     s    2sCj>&&q+ r   c                 *    | ddg   j                   dd S )Nr2   r3   r   r&   r_   r   s    r   r   r     s    2sCj>%%a* r   c                 2    | dd j                   d d ddf   S )Nr   r'   r   r   s    r   r   r     s    2a7<<1Q3' r   c                 2    | dd j                   d d ddf   S r   r   r   s    r   r   r     s    2a7;;q#c'z* r   )zrow-getitem-slicezcolumn-getitemzrow-iloc-slicezrow-loc-slicezcolumn-iloc-slicezcolumn-loc-slicec                 P   |\  }}} |g dg dt        j                  g d|      d      }|j                         } ||      }d|j                  d<   t	        j
                  ||        ||      }d|j                  d<    |dd	gd
dgd      }	t	        j
                  ||	       y )Nr%   r)   rP   rT   r1   r   r5   r&   r'   r*   r+   r2   r3   )r9   rV   r   r;   r<   r=   )
r"   r#   r   r   r?   r   r   r@   rA   rB   s
             r   test_subset_chained_getitemr     s    < OAy!	ibhhy.NO
B ggiG BZFFKK"g& BZFBGGDM1vQF34H&(+r   c                 V   | \  }}} |g dg dt        j                  g d|      d      }|j                         }|d d  d   dd }d|j                  d<   t	        j
                  ||       |d d  d   dd }d|j                  d	<    |d
dgd      }t	        j                  ||       y )Nr%   r)   rP   rT   r1   r2   r   r'   r5   r&   name)r9   rV   r   r;   r<   r=   assert_series_equal)	r#   r   rW   r   r   r   r@   rA   rB   s	            r   "test_subset_chained_getitem_columnr     s     (/$M9f	ibhhy.NO
B ggiG U3Z!_FFKKN"g& U3Z!_FBGGDMq!f3'H68,r   c                     | dd dd S Nr2   r4   r3   r   ss    r   r   r     s    !C*S% r   c                 :    | j                   dd j                   dd S )Nr   r(   r'   r   r   s    r   r   r     s    !&&1+""1Q' r   c                 :    | j                   dd j                   dd S r   r   r   s    r   r   r     s    !%%C.$$S- r   c                     | j                   dd j                  dd j                  dd j                   dd j                  dd S )Nr2   r4   r   r(   r'   r3   r&   )r_   r;   r   s    r   r   r     sL    !%%C.	a	a 
S 
a	 r   )getitemr;   r_   z
long-chainc                 D   | \  }}} |g dg d      }|j                         } ||      }d|j                  d<   t        j                  ||       |j                  dd j                  dd }d|j                  d<    |ddgdd	g      }t        j                  ||       y )
Nr%   r1   rG   r   r(   r'   r&   r2   r3   )r   r;   r<   r   )r#   r   r?   r   r   s_origrA   rB   s           r   "test_subset_chained_getitem_seriesr     s    " LAq&y0AVVXF AYFFKKN1f% VVAa[a"FAFF1Iq!fS#J/H68,r   c                     t        g dg dg dd      } | j                         }| d d  j                  d   j                  dd }d|j                  d<   t        j                  | |       | d d  j                  d   j                  dd }d| j                  d<   t        dd	gd
dgd      }t        j                  ||       y )Nr%   r)   rP   r1   r   r'   r5   r&   r*   r2   r3   )r8   r   )r   r   r;   r<   r=   r   r   )r   r@   rA   rB   s       r   $test_subset_chained_single_block_rowr     s    	C	DBggiG UZZ]!$FFKKN"g& UZZ]!$FBGGDMq!fS#JQ7H68,r   c                     | d d  S r   r   r   s    r   r   r     s
    2a5 r   c                 ,    | j                   d d d d f   S r   r   r   s    r   r   r     s    266!Q$< r   c                      | j                   d d  S r   r   r   s    r   r   r     s    266!9 r   c                 ,    | j                   d d d d f   S r   r   r   s    r   r   r     s    2771a4= r   c                      | j                   d d  S r   r   r   s    r   r   r     s    2771: r   )r   r_   zloc-rowsr;   z	iloc-rowsc                 "   | \  }}} |g dg dg dd      }|j                         } ||      }||usJ |j                  |j                  usJ |j                  |j                  usJ d|j                  d<   t	        j
                  ||       y )Nr%   r)   rP   r1   r   r5   )r   r8   r   r;   r<   r=   )r#   r   rW   r   r?   r   r@   df2s           r   test_null_slicer     s     #*M9a	C	DBggiG
*C b==99BHH$$$;;bjj((( CHHTN"g&r   c                     | d d  S r   r   r   s    r   r   r   .  s
    !A$ r   c                      | j                   d d  S r   r   r   s    r   r   r   /  s    !%%( r   c                      | j                   d d  S r   r   r   s    r   r   r   0  s    !&&) r   )r   r_   r;   c                     | \  }}} |g dg d      }|j                         } ||      }||usJ |j                  |j                  usJ d|j                  d<   t        j                  ||       y )Nr%   r1   rG   r   )r   r8   r;   r<   r   )r#   r   r?   r   r   r   s2s          r   test_null_slice_seriesr   +  sr     LAq&y0AVVXF	B Q;;88177""" BGGAJ1f%r   c                    | \  }}} |g dg d      }|j                         }|d d  }t        j                  t        |      t        |            sJ |j                  |j                  usJ d|j
                  d<   t        j                  t        |      t        |            rJ  |g dg d      }t        j                  ||       t        j                  ||       y )Nr%   r1   rG   r   r6   )r   r9   r:   r   r8   r;   r<   r   )r#   r?   r   r   r   rA   rB   s          r   test_series_getitem_slicer   K  s    LAq&y0AVVXFqTFIf-y|<<<<<qww&&&FKKN	& 19Q<@@@i7H68, 1f%r   c                     t        g d      } | j                         }| d   }t        j                  t	        |      t	        |             sJ |j
                  | j
                  usJ d|j                  d<   t        j                  t	        |      t	        |             rJ t        g d      }t        j                  ||       t        j                  | |       y )Nr%   .r   r6   )	r   r   r9   r:   r   r8   r;   r<   r   )r   r   rA   rB   s       r   test_series_getitem_ellipsisr   `  s    yAVVXFsVFIf-y|<<<<<qww&&&FKKN	& 19Q<@@@i H68, 1f%r   c                    | \  }}} |g dg d      }|j                         }|d d  }|t        j                  u rat        |t        j
                        rG|j                  j                  dk(  r.t        j                  t              5  d ||      |<   d d d        y d ||      |<    |g dg d      }t        j                  ||       t        j                  ||       y # 1 sw Y   y xY w)Nr%   r1   rG   r   r   )r   r   r(   )r   r<   rl   rm   r9   rn   r   kindro   raisesKeyErrorr   )	r#   rq   rd   r?   r   r   r   rA   rB   s	            r   #test_series_subset_set_with_indexerr   t  s     LAq&y0AVVXFqTF 	bjj w

+MM#% ]]8$ 	,*+Jvw'	,"#Jvwi7H68,1f%	,s   C##C,c                    | \  }}} |g dg dg dd      }|j                         }|d d  }t        j                  t        |d      t        |d            sJ |d= t        j                  t        |d      t        |d            sJ t	        j
                  ||       t	        j
                  ||ddg          |j                  j                          d|j                  d	<   t        j                  t        |d      t        |d            sJ |j                         }d
|j                  d<   t	        j
                  ||       y )Nr%   r)   r-   r1   r2   r3   r4      )r   r3   d   r   r2   )	r   r9   r:   r   r<   r=   rH   rI   r_   )r#   rW   r   r?   r   r@   r   s          r   test_del_framer     s    #*M9a	I	JBggiG
Q%CIb#.	#s0CDDDCIb#.	#s0CDDD"g&#wSz23HH BFF6NIb#.	#s0CDDDggiGCGGFO"g&r   c                    | \  }}} |g dg d      }|j                         }|d d  }t        j                  t        |      t        |            sJ |d= t        j                  t        |      t        |            rJ t	        j
                  ||       t	        j
                  ||ddg          |j                  }d|j                  d<   |d   dk(  sJ y )	Nr%   r1   rG   r2   r3   r4   r   r   )r   r9   r:   r   r<   r   valuesr_   )r#   r?   r   r   r   r   r   s          r   test_del_seriesr     s    LAq&y0AVVXF	
1BIaL)B-888
3	!im<<<1f%2vsCj12 YYFBFF3K!9r   c                    | \  }}} |g dg dg dd      }|j                         }|d   }|j                  |j                  usJ t        j                  t	        |d      t	        |d            sJ d|d<    |g dd      }t        j                  ||       t        j                  ||       t        j                  |d   |d          y )	Nr%   r)   r-   r1   r2   r   r6   r   )r   r8   r9   r:   r   r<   r   r=   r#   rW   r   r   r   r@   r   rB   s           r   test_column_as_seriesr     s    '.$M9f	I	JBggiG
3A77"(("""Ia-yS/ABBBAaDic*H1h'"g&2c7GCL1r   c                    | \  }}} |g dg dg dd      }|j                         }|d   }|dk(  r~t        j                  t        d      5  d	|d
<   d d d         |g dd      }t	        j
                  ||       t	        j                  ||       t	        j
                  |d   |d          y t        j                  t        d      5  d	|d
<   d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr%   r)   r-   r1   r2   r   Invalid valuematchfoor   r   )r   ro   r   	TypeErrorr<   r   r=   r   s           r   %test_column_as_series_set_with_upcastr     s     (/$M9f	I	JBggiG
3A
"]]9O< 	AaD	)#.
q(+
b'*
r#w5]]9O< 	AaD	 		 		 	s   CC'C$'C0c                     | d   S Nr2   r   r   s    r   r   r     s
    2c7 r   c                 (    | j                   d d df   S r   r   r   s    r   r   r     s    266!S&> r   c                 (    | j                   d d df   S )Nr   r   r   s    r   r   r     s    2771a4= r   c                 d   |\  }}} |g dg dg dd      }|j                         } ||      } ||      }	||	usJ |j                  |j                  usJ |j                  |	j                  usJ d|j                  d<   t        j                  |	|d          t        j
                  ||       y )Nr%   r)   r-   r1   r   r2   )r   r8   r;   r<   r   r=   )
r"   r#   r   rW   r   r?   r   r@   s1r   s
             r   #test_column_as_series_no_item_cacher     s     #*M9a	I	JBggiG	B	BR<<88288###88288###BGGAJ2ws|,"g&r   c                     | \  }}} |g dg dd      } |g d      }||d<   t        j                  t        |d      t        |            sJ d|d<    |g dg dg dd      }t        j                  ||       y )Nr%   r-   r   )rv   rw      newr   )r2   r3   r   )r9   r:   r   r<   r=   )r#   r?   r   r   r   r   rB   s          r   %test_dataframe_add_column_from_seriesr     s     #Ay&	9	:B|ABuIIb%0)A,??? AaDy|TUH"h'r   valr   zindexer_func, indexerr   r5   r   r-   rP   c                    t        g dg d|d      }|j                         }|d d  }|dk(  r0t        j                  t        d      5  | | |      |<   d d d        y | | |      |<   t        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            rJ t        j                  ||       y # 1 sw Y   y xY w)Nr%   r)   r1   r2   r   r   r3   )
r   r   ro   r   r   r9   r:   r   r<   r=   )indexer_funcrd   r   r   r   r@   views          r   )test_set_value_copy_only_necessary_columnr   "  s    $ 
=	>BggiGa5D
cz]]9O< 	,(+LW%	, 	, %(R!	"c 2IdC4HIII##Ib#$6	$8LMMM
dG,	, 	,s   	CC!c                  0   t        g dt        j                  j                  g dg dg            } | j	                         }| d   }t        j                  t        |       t        |            sJ d|j                  d<   t        j                  | |       y )Nr%   )r&   r&   r'   )r(   r*   r+   rG   r&   r   r   )r   ry   
MultiIndexfrom_arraysr   r9   r:   r   r;   r<   r   )r    ser_origresults      r   test_series_midx_slicer   C  sr    
"--";";Y	<R"S
TCxxzHVFIcNIf,=>>>FKKN3)r   c                  ,   t        ddgddd      } | j                         }| d   }|j                  j                  d      rJ t	        j
                  t        | d      t        |d            sJ d|j                  d	<   t        j                  ||        y )
Nr&   r'   )r2   x)r2   y)r3   r   )r2   r   r   r   r   r5   )
r   r   rH   r   r9   r:   r   r;   r<   r=   )r   r@   new_dfs      r   test_getitem_midx_slicer   L  s    	AA1E	FBggiGZF{{,,Q///Ib*5y7MNNNFKK'2&r   c                  d   t        g dt        j                  j                  g d            } | d   }t	        j
                  t        |       t        |            sJ d|j                  d<   t        g dt        j                  j                  g d            }t        j                  | |       y )Nr%   ))r&   r'   r(   )r   r*   ))r'   r(   r*   rG   r   r   r   )
r   ry   r   from_tuplesr9   r:   r   r;   r<   r   )r    r   rB   s      r   test_series_midx_tuples_slicer   X  s    
mm''(OPC [FIcNIf,=>>>FKKNmm''(OPH 3)r   c            	      b   d } t         j                  j                   | dd       | dd       | dd       | dd      g      }t         j                  j                  g dd	d
g      }t	        d||      j                         j                  d      }|d   dk(  }|j                         }|j                  t         j                  |d d ddgf   d d f   }|j                  t         j                  d d d d ddgf   d d f   }t        j                  ||       t        j                  ||       y )Nc                 F    t        |      D cg c]  }|  | 
 c}S c c}w r   )rJ   )prefixnr   s      r   mklblz/test_midx_read_only_bool_indexer.<locals>.mklbli  s"    (-a116(1#111s   Ar*   Br'   CD)r2   r   )r2   bar)r3   r   )r3   bahlvl0lvl1)namesr&   )r8   r   )axisr   C1C3)ry   r   from_productr   r   
sort_indexr   r_   
IndexSlicer<   r=   r   )r   idxcolsr   r[   expected_maskr   rB   s           r    test_midx_read_only_bool_indexerr  g  s   2 --
$
$	sAc1uS!}eCmDC ==$$@QWHX % D 
1C	.	9	9	;	F	FA	F	NBlq DIIKMVVBMM$D$<"78!;<FvvbmmAq4,$67:;H&(+4/r   c                     t        dg di      } t        g dg dd      }|j                         }|| j                  d d ddgf<   t        j                  t        | d      t        |d            sJ t        j                  t        | d      t        |d            sJ | j                  j                  d      rJ d| j                  d	<   t        j                  ||       y )
Nr2   r%   r)   rU   r3   r4   r&   r   )r   r&   )r   r   r_   r9   r:   r   rH   r   r;   r<   r=   )r   rhsrhs_origs      r   !test_loc_enlarging_with_dataframer  |  s    	C#	$B
))4
5CxxzHBFF1sCj=Ib#.	#s0CDDDIb#.	#s0CDDDww((+++BGGDM#x(r   )8r   r9   ro   pandas.core.dtypes.commonr   pandasry   r   r   pandas._testing_testingr<   pandas.tests.copy_view.utilr   fixturer#   rC   rE   rK   markparametrizerX   rZ   rV   ra   rc   rr   rt   r{   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r_   r;   r   r   r   r   r  r  r   r   r   <module>r     sv     4   1 ,-6 .6F'.,*'0 gy!'F  ''2 gy!'F   
1a[("((./1a&1AB"  
 
3_hbhh23c3Z@"  
''B gy!'F   
1a[("((./1a&1AB"  
 
1a[("((./!Q8"  
''B 
1a[("((./1a&1AB"  
'
'2'$'* gy!'F  '','& gy!'F  ''4 
3_hbhh23c3Z@"  
'
'  &&+*'*	  & gy!'F  ,',,6 gy!'F  --* %'-			 	1  --&-"   	<  
'
'& 
 	#  &&.&*&( 
1a[("((./1a&1AB"  
&
&8'402*, ! 
 	#  ''.(  c
+		&	1#s	A3(	%+s#$	5;"#
 	OY'm^-L  -
 ,-$*	'*0*
)r   