
    Pivo                     
   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                            dddgddg          d             Zej                            dddgddg          ej                            d edd           ej        g d           ej        ddg          gg d          ej                            d edd           ej        g d          ddggg d          d                                     Zej                            dddgddg          ej                            d edd           ej        g d           ej        ddg          gg d          ej                            d edd           ej        g d          ddggg d          d                                     Ze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                            dddgddg          d#             Zd$ Zej                            dddgddg          d%             Zej                            d ed&d           ej        g d          d&dggg d          d'             Z ej                            d(d) d* d+ d, d- d. gg d/          ej                            dddgddg          d0                         Z!ej                            dddgddg          d1             Z"ej                            d(d2 d3 d4 d5 gg d6          d7             Z#d8 Z$ej                            d(d9 d: d; d< d= gg d>          d?             Z%ej                            d(d@ dA dB gg dC          dD             Z&dE Z'dF Z(e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                            d(dL dM dN gg dC          dO             Z.dP Z/ej                            dQdRd&g          ej                            dSej0        dTfej1        dUfej0        d gd&ffej1        d gd ffej0         ed          d&ffej1         ed          d ffg          ej                            dVg dWg dXgddg          dY                                     Z2dZ Z3d[ Z4d\ Z5d] Z6d^ Z7dS )_    N)is_float_dtype)	DataFrameSeries)	get_arraynumpynullable)paramsc                 \    | 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     x/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/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        D ]T}t          ||         j                  r8t          ||         j                  s||                             d          ||<   U|                                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 z J J!"S'-00 J$*: : J (33'7'>'>y'I'IK$##%%%r   c                  f    t          | i |}|                                                                S r   )r   r   r   )r   r   sers      r   r   zbackend.<locals>.make_series(   s2    $)&))C%%'',,...r   )param)requestr   r   s      r   backendr#      sp    }	. 	. 	.	+ 	+ 	+ 	+ 
*	$	$	& 	& 	&	/ 	/ 	/ =.+55r   c                    | \  }}} |g dg dg dd          }|                                 }|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        ||           d S )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I	J	JBggiiGc
^F<rx'''' Ifc22Ib#4F4FGGGGGFK	&# 6 6	"c8J8JKKKKKyyyy??@@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        ||           d S )
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I	J	JBc
^F Ifc22Ib#4F4FGGGGGBGDM	&# 6 6	"c8J8JKKKKKIfc22Ib#4F4FGGGGGyyyy??@@H&(+++++r   c                 z   | \  }}} |g dg dg dd          }|                                 }|dd         }|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                                          |ddgd
dgddgdt          dd                    }t          j
        ||           t          j
        ||           d S )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   _   sQ    OAy!	II	J	JBggiiG!WF
K!!###>++++Ifc22Ib#4F4FGGGGGFK	&# 6 6	"c8J8JKKKKK
K!!###y1vQF#sDDERSUVKKXXXH&(+++"g&&&&&r   r   int64float64zsingle-blockzmixed-block)idsc                    | \  }}} |g dg dt          j        g d|          d          }|                                }|j        d d dd f         }|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
        ||           d S )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   sZ    #*M9a	iiiiibhyyy.N.N.NOO
 
B ggiiGWQQQU^F
K!!###<rx''''Ifc22Ib#4F4FGGGGGFK	&# 6 6	"c8J8JKKKKKyyyyrx			/O/O/OPPQQH&(+++ "g&&&&&r   row_indexerr&   r'   )FTT)slicemaskrV   column_indexerr3   r4   c                    | \  }}} |g dg dt          j        g d|          d          }|                                }|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	        ||           d S 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	iiiiibhyyy.N.N.NOO
 
B ggiiGVK/0F<rx''''>++++ FKy!f28QF%88899q!  H &(+++"g&&&&&r   r(   c                    | \  }}} |g dg dt          j        g d|          d          }|                                }|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        ||           d S r^   )	r9   rV   r   r;   r8   r   rJ   r<   r=   r`   s              r   test_subset_iloc_rows_columnsrc      s   2 #*M9a	iiiiibhyyy.N.N.NOO
 
B ggiiGW[.01F<rx''''>++++ FKy!f28QF%88899q!  H &(+++"g&&&&&r   indexer)TTFc                    | \  }}} |g dg dg dd          }|                                 }|dd         }|t          j        u r9t          |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
        ||           d S )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!	LLL?S?S?STT	U	UBggiiG!WF 	bj  w
++ 	!MU""<==="#JJvwyiiiiiooo>>eAqkk  H &(+++"g&&&&&r   c                 ,   | \  }}} |g dg dg dd          }|                                 }|dd         }|dk    }d||<    |g d	g d
g ddt          dd                    }t          j        ||           t          j        ||           d S )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!	LLL?S?S?STT	U	UBggiiG!WFA:DF4Lyiiiii.>.>.>??uQPQ{{  H &(+++"g&&&&&r   c                    | \  }}} |g dg dg dd          }|                                 }|dd         }|dk    rt          j        dd	gd
          }nt          j        dd	gd          }||d<   |j                                          |dd	gddgddgdt          dd                    }t          j        ||           t          j        ||           d S )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I	J	JBggiiG!WFhBxw///hBxw///F3K
K!!###y2haV3*55U1a[[  H &(+++"g&&&&&r   c                    | \  }}} |g dg dt          j        g d|          d          }|                                }|dd         }t          j        dd	gd
          |j        d d df<   |j                                          |dd	gddgt          j        ddg|          dt          dd                    }t          j        ||           t          j        ||           d S )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!	iiiiibhyyy.N.N.NOO
 
B ggiiG!WF2r(':::FJqqq#v
K!!###y2haV"(Aq6*G*G*GHHAqkk  H &(+++"g&&&&&r   c                 L   | \  }}} |dg di          }|                                 }|dd         }d|j        d d df<   |j                                          |dddgit	          dd                    }t          j        ||           t          j        ||           d S )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ggiiG!WFFJqqq#v
K!!###y#1veAqkk:::H&(+++"g&&&&&r   c                 >   | \  }}} |g dg dt          j        g d|          d          }|                                }|dd         dd	d
g<   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	                             d          |d	<   |d
                             d          |d
<   t          j	        |           t          j	        ||           d S )Nr%   r)   rP   rT   r1   r&   r(   r   r2   r4   c              3   L   K   | ]}j                             |          V  d S r   )rH   _has_no_reference).0irA   s     r   	<genexpr>z*test_subset_set_columns.<locals>.<genexpr>q  s3      @@Av{,,Q//@@@@@@r   )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   `  sS    #*M9a	iiiiibhyyy.N.N.NOO
 
B ggiiG!WFFC:
K!!###@@@@@@@@@@@@y1vQF!Q@@aQRTTTH
"" !,,W55 ,,W55&(+++"g&&&&&r   r2   c                 d   | \  }}} |g dg dg dd          }|                                 }|dd         }d|j        d d |f<   |j                                          |ddgddgd	d
gdt	          dd                    }t          j        ||           t          j        ||           d S )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!	yyyII	J	JBggiiG!WFFJqqq'z
K!!###y1vS#JaVDDERSUVKKXX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c7C:& r   c                 0    | ddg         j         dd         S r   r;   r   s    r   r   r     s    2sCj>&qs+ r   c                 0    | ddg         j         dd         S )Nr2   r3   r   r&   r_   r   s    r   r   r     s    2sCj>%ac* r   c                 8    | dd         j         d d ddf         S )Nr   r'   r   r   s    r   r   r     s!    2ac7<1Q3' r   c                 8    | dd         j         d d ddf         S r   r   r   s    r   r   r     s!    2ac7;qqq#c'z* r   )zrow-getitem-slicezcolumn-getitemzrow-iloc-slicezrow-loc-slicezcolumn-iloc-slicezcolumn-loc-slicec                 X   |\  }}} |g dg dt          j        g d|          d          }|                                } ||          }d|j        d<   t	          j        ||            ||          }d|j        d<    |dd	gd
dgd          }	t	          j        ||	           d S )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!	iiiiibhyyy.N.N.NOO
 
B ggiiG VBZZFFK"g&&& VBZZFBGDMy1vQF3344H&(+++++r   c                    | \  }}} |g dg dt          j        g d|          d          }|                                }|d d          d         dd         }d|j        d<   t	          j        ||           |d d          d         dd         }d|j        d	<    |d
dgd          }t	          j        ||           d S )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	iiiiibhyyy.N.N.NOO
 
B ggiiG U3Z!_FFKN"g&&& U3Z!_FBGDMvq!f3'''H68,,,,,r   c                 &    | dd         dd         S Nr2   r4   r3   r   ss    r   r   r     s    !CG*SW% r   c                 :    | j         dd         j         dd         S )Nr   r(   r'   r   r   s    r   r   r     s    !&1+"1Q3' r   c                 :    | j         dd         j         dd         S r   r   r   s    r   r   r     s    !%C.$SW- 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c	ac 
SW 
ac	 r   )getitemr;   r_   z
long-chainc                 H   | \  }}} |g dg d          }|                                 } ||          }d|j        d<   t          j        ||           |j        dd         j        dd         }d|j        d<    |ddgdd	g          }t          j        ||           d S )
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&yyy000AVVXXF VAYYFFKN1f%%% VAaC[ac"FAF1Ivq!fS#J///H68,,,,,r   c                     t          g dg dg dd          } |                                 }| 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        ||           d S )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C	D	DBggiiG UZ]!$FFKN"g&&& UZ]!$FBGDMq!fS#JQ777H68,,,,,r   c                     | d d          S r   r   r   s    r   r   r     s    2aaa5 r   c                 (    | j         d d d d f         S r   r   r   s    r   r   r     s    26!!!QQQ$< r   c                      | j         d d          S r   r   r   s    r   r   r     s    26!!!9 r   c                 (    | j         d d d d f         S r   r   r   s    r   r   r     s    27111aaa4= r   c                      | j         d d          S r   r   r   s    r   r   r     s    27111: r   )r   r_   zloc-rowsr;   z	iloc-rowsc                    | \  }}} |g dg dg dd          }|                                 } ||          }||usJ |j        |j        usJ |j        |j        usJ d|j        d<   t	          j        ||           d S )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C	D	DBggiiG
&**C b====9BH$$$$;bj(((( CHTN"g&&&&&r   c                     | d d          S r   r   r   s    r   r   r   .  s    !AAA$ 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          }|                                 } ||          }||usJ |j        |j        usJ d|j        d<   t          j        ||           d S )Nr%   r1   rG   r   )r   r8   r;   r<   r   )r#   r   r?   r   r   r   s2s          r   test_null_slice_seriesr   +  s     LAq&yyy000AVVXXF	B Q;;;;817"""" BGAJ1f%%%%%r   c                    | \  }}} |g dg d          }|                                 }|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        ||           d S )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&yyy000AVVXXFqqqTFIf--y||<<<<<<qw&&&&FKN	& 1 19Q<<@@@@@viii777H68,,, 1f%%%%%r   c                     t          g d          } |                                 }| 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        | |           d S )Nr%   .r   r6   )	r   r   r9   r:   r   r8   r;   r<   r   )r   r   rA   rB   s       r   test_series_getitem_ellipsisr   `  s    yyyAVVXXFsVFIf--y||<<<<<<qw&&&&FKN	& 1 19Q<<@@@@@iii  H68,,, 1f%%%%%r   c                    | \  }}} |g dg d          }|                                 }|d d          }|t          j        u rkt          |t          j                  rQ|j        j        dk    rAt          j	        t                    5  d ||          |<   d d d            n# 1 swxY w Y   d S d ||          |<    |g dg d          }t          j        ||           t          j        ||           d S )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  sT    LAq&yyy000AVVXXFqqqTF 	bj  w
++ 	!M#%% ]8$$ 	, 	,*+JJvw'	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,"#JJvwviii777H68,,,1f%%%%%s   B""B&)B&c                    | \  }}} |g dg dg dd          }|                                 }|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                                         d|j        d	<   t          j        t          |d          t          |d                    sJ |                                 }d
|j        d<   t	          j        ||           d S )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I	J	JBggiiG
QQQ%CIb#..	#s0C0CDDDDDCIb#..	#s0C0CDDDDD"g&&&#wSz2333H   BF6NIb#..	#s0C0CDDDDDggiiGCGFO"g&&&&&r   c                    | \  }}} |g dg d          }|                                 }|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 d S )	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&yyy000AVVXXF	
111BIaLL)B--88888
3	!imm<<<<<1f%%%2vsCj1222 YFBF3K!9r   c                    | \  }}} |g dg dg dd          }|                                 }|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                    d S )	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I	J	JBggiiG
3A7"(""""Ia--yS/A/ABBBBBAaDviiic***H1h'''"g&&&2c7GCL11111r   c                    | \  }}} |g dg dg dd          }|                                 }|d         }|dk    rt          j        t          d          5  d	|d
<   d d d            n# 1 swxY w Y    |g dd          }t	          j        ||           t	          j        ||           t	          j        |d         |d                    d S t          j        t          d          5  d	|d
<   d d d            d S # 1 swxY w Y   d S )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I	J	JBggiiG
3A
""]9O<<< 	 	AaD	 	 	 	 	 	 	 	 	 	 	 	 	 	 	6)))#...
q(+++
b'***
r#w55555]9O<<< 	 	AaD	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   A++A/2A/-D  DD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    26!!!S&> r   c                 $    | j         d d df         S )Nr   r   r   s    r   r   r     s    27111a4= r   c                 P   |\  }}} |g dg dg dd          }|                                 } ||          } ||          }	||	usJ |j        |j        usJ |j        |	j        usJ d|j        d<   t          j        |	|d                    t          j        ||           d S )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I	J	JBggiiG	B	BR<<<<828####828####BGAJ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        ||           d S )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9	:	:B|||ABuIIb%00)A,,????? AaDyyyy|||TTUUH"h'''''r   valr   zindexer_func, indexerr   r5   r   r-   rP   c                    t          g dg d|d          }|                                }|d d          }|dk    rDt          j        t          d          5  | | |          |<   d d d            d S # 1 swxY w Y   d S | | |          |<   t          j        t          |d          t          |d                    sJ t          j        t          |d          t          |d                    rJ t          j	        ||           d S )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ggiiGaaa5D
czz]9O<<< 	, 	,(+LLW%	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, %(R!	"c 2 2IdC4H4HIIIII#Ib#$6$6	$8L8LMMMMM
dG,,,,,s   A33A7:A7c                  J   t          g dt          j                            g dg dg                    } |                                 }| d         }t          j        t          |           t          |                    sJ d|j        d<   t          j
        | |           d S )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  s    
"-";";YYY			<R"S"S
T
T
TCxxzzHVFIcNNIf,=,=>>>>>FKN3)))))r   c                  D   t          ddgddd          } |                                 }| d         }|j                            d          rJ t	          j        t          | d          t          |d                    sJ d|j        d	<   t          j	        ||            d S )
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E	F	FBggiiGZF{,,Q/////Ib*55y7M7MNNNNNFK'2&&&&&r   c                  ~   t          g dt          j                            g d                    } | d         }t	          j        t          |           t          |                    sJ d|j        d<   t          g dt          j                            g d                    }t          j	        | |           d S )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    
		m''(O(O(OPP  C [FIcNNIf,=,=>>>>>FKN		m''(O(O(OPP  H 3)))))r   c            	         d } t           j                             | dd           | dd           | dd           | dd          g          }t           j                            g dd	d
g          }t	          d||                                                              d          }|d         dk    }|                                }|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        ||           d S )Nc                 :      fdt          |          D             S )Nc                     g | ]} | 	S r   r   )r   r   prefixs     r   
<listcomp>zCtest_midx_read_only_bool_indexer.<locals>.mklbl.<locals>.<listcomp>j  s!    111161111r   )rJ   )r   ns   ` r   mklblz/test_midx_read_only_bool_indexer.<locals>.mklbli  s#    1111a1111r   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  sb   2 2 2 -
$
$	sAc1uuS!}}eeCmmD C =$$@@@QWHX %  D 
1C	.	.	.	9	9	;	;	F	FA	F	N	NBlq DIIKKMVBM$D$<"78!!!;<FvbmAAAqqq4,$67:;H&(+++4/////r   c                     t          dg di          } t          g dg dd          }|                                }|| j        d d ddgf<   t          j        t          | d          t          |d                    sJ t          j        t          | d          t          |d                    sJ | j                            d          rJ d| j        d	<   t          j
        ||           d S )
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4
5
5CxxzzHBF111sCj=Ib#..	#s0C0CDDDDDIb#..	#s0C0CDDDDDw((+++++BGDM#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     s	        4 4 4 4 4 4                  1 1 1 1 1 1 ,---6 6 .-6F' ' '., , ,*' ' '0 gy!'F   ' ' '2 gy!'F    
U1a[[("(...//1a&1A1AB"""   
 
U3__hbh22233c3Z@"""   
' '   'B gy!'F    
U1a[[("(...//1a&1A1AB"""   
 
U1a[[("(...//!Q8"""   
' '   'B 
U1a[[("(...//1a&1A1AB"""   
' ' 
'2' ' '$' ' '* gy!'F   ' ' ',' ' '& gy!'F   ' ' '4 
U3__hbh22233c3Z@"""   
' ' 
'  &&&&++**''**	 	 	   & gy!'F   , , ' ,,6 gy!'F   - - -* %%''--	 			 	100   - - -&- - -"    	<;;  
 
' '
 
'& 
 	#""   & & &.& & &*& & &( 
U1a[[("(...//1a&1A1AB"""   
& & 
&8' ' '4  02 2 2*  , !!  
 	#""   ' ' '.( ( (  c
++		&	1#s	A3(	%%++s#$	55;;"#
 
 	OOOYYY'm^-L   - - 
 
 ,+-$* * *	' 	' 	'* * *0 0 0*
) 
) 
) 
) 
)r   