
    Pi                        d dl Z d dlmZmZ d dlmZ d dlZd dlZd dlm	Z	 d dl
mZ d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z" d dl#m$Z% d dl&m'Z'  G d	 d
          Z( G d d          Z) G d d          Z* G d d          Z+ G d d          Z, G d d          Z- G d d          Z.d Z/d Z0d Z1d Z2 G d d          Z3 G d d          Z4ej5        6                    d ej7         e e d d!                     e ed d"          ej8         ed#d$           ed$d!          gd%&          d d'd()           ej7         eg d*           eej8        d#ej8        d!ej8        d+ej8        d,ej8        g	           e9ddd"          d-d.)           ej7         eg d/           eej8        d'ej8        d-ge:&           e9ddd"          d'd0)           ej7         e ej;        d1                     eej8        ej8        ej8        ej8        ej8        d!d2d+d3d,g
           e9dd!          d-d4)           ej7         eg d5           eej8        d"d#g          d d-d6)           ej7         ed-g           eej8        ge:&          d d'd7)           ej7         ed-d'g           eej8        d'ge:&          d d'd8)          g           G d9 d:e4                      Z< G d; d<e4          Z= G d= d>e4          Z> G d? d@e4          Z? G dA dBe4          Z@ G dC dDe4          ZAej5        6                    dE eg d5           eej8        d"d#g          f eg dF           eej8        dGdHg          f e edId d            edId d"           edId d#          g           ee edId d"           edId d#          g          f eg dJ           eg dK          fg           G dL dMe4                      ZB G dN dOe4          ZC G dP dQe4          ZDej5        6                    dR ej        dGdHg          d-f ej        dSdTg          d'f ej        d"dUz  d"dUz  d z   gejE        &          d'fg           G dV dWe4                      ZFej5        6                    dXdY ejG        dY          g           G dZ d[e4                      ZHej5        6                    dXg d\           G d] d^e4                      ZI G d_ d`e4          ZJej5        6                    da ejK        d           ejL        df ejG        dY          ejG        d'fg           G db dceJ                      ZMej5        6                    dXg dd          ej5        6                    dee:g           G df dgeJ                                  ZNej5        6                    dad e:d'fdh eej8        i          d-fg           G dj dkeJ                      ZOej5        6                    dad ejP        d-fdlejP        d-fdmejP        d-fd'e:d'fg           G dn doeJ                      ZQej5        6                    dad e:d'fdpe:d'fd#e:d'fdle:d'fdme:d'fd'eRd-fg           G dq dreJ                      ZSej5        6                    dad ejT        d-fdlejE        d'fdmejP        d'fd'e:d'fg           G ds dteJ                      ZUej5        6                    dad ejE        d-fdlejE        d-fdmejP        d'fd'e:d'fg           G du dveJ                      ZVej5        6                    dad ejW        d-f ej7        dlejW        d-ej5        X                    e	 dwx          y          dmejP        d'fd'e:d'f ejY        d"          ejW        d-f ejZ        d"          ejW        d-f ejZ         ej[        ejZ                  j\                  ejE        d'f ej]        d"          ejW        d-f ejT        d"          ejW        d-fg	           G dz d{eJ                      Z^ej5        6                    deg d|           G d} d~eJ                      Z_ej5        6                    da ed          dd-fd e:d'fde:d'fg           G d deJ                      Z`ej5        6                    da edd          dd-f edd          dd-f ed          e:d'fd e:d'fg           G d deJ                      Zaej5        6                    da ed          dd-fd e:d'fde:d'fg           G d deJ                      Zbej5        6                    dXd edd           ed d"d          g          ej5        6                    dee:g           G d deJ                                  Zcd Zdd Zed Zfd Zgd Zhd Zid Zjd Zkd Zld Zmd Znej5        6                    d eod"d2                    ej5        6                    dg dd'd-gd-gg          ej5        6                    ddGej8         ejp        eq          j\         ejp        eq          jr        g          ej5        6                    dej        esetg          d                                                 Zud Zvd ZwdS )    N)datedatetime)Decimal)np_version_gt2)IndexingError)is_list_like)NACategorical	DataFrameDatetimeIndexIndexIntervalIntervalIndex
MultiIndexNaTPeriodSeriesStringDtype	Timedelta	Timestamparrayconcat
date_rangeinterval_rangeperiod_rangetimedelta_range)BDayc                   ~    e Zd Zd Zd Zd Zd Zej        	                    dg d          d             Z
d Zd	 Zd
S )TestSetitemDT64Valuesc                 $   t          t          ddd                    }d |d<   |d         t          u sJ d |dd<   |d         t          u sJ t          j        |d<   |d         t          u sJ t          j        |dd<   |d	         t          u sJ d S )
Nz1/1/2000
   ns)periodsunit               )r   r   r   npnanselfseriess     }/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/series/indexing/test_setitem.pytest_setitem_none_nanz+TestSetitemDT64Values.test_setitem_none_nan,   s    
:rEEEFFq	ayCqsayCFq	ayCfqsayC    c                     t          j        ddg          }t          ddg|          }|                                }d|j        g <   t          j        ||           d S )N)a   )b   r4   r6   indexr   )r   from_tuplesr   copyloctmassert_series_equal)r-   idxresultexpecteds       r/   #test_setitem_multiindex_empty_slicez9TestSetitemDT64Values.test_setitem_multiindex_empty_slice:   s^    $h%9::Ac***;;==
2
vx00000r1   c                     t          g dg dt                    }t          j                    |d<   |j        t          j                    k    sJ |d         t          j                    k    sJ d S )Nr4   r6   r%   )Dater5   otherr8   dtyperD   )r   objectr   todayrD   r-   sers     r/   test_setitem_with_string_indexz4TestSetitemDT64Values.test_setitem_with_string_indexB   sl     YYY&<&<&<FKKKjllFx4:<<''''6{djll******r1   c                     t          dddd          }g d}t          ||          }|                                }t          j        |d<   t          j        |j        d	<   t          j        ||           d S )
N2017r'   
US/Easternr"   )r#   tzr$   )r   r4   )r   r6   )r   r%   )r   r'   r7   rQ   r   )r   r   r:   r*   r+   ilocr<   r=   )r-   arrr8   r?   r@   s        r/   )test_setitem_tuple_with_datetimetz_valuesz?TestSetitemDT64Values.test_setitem_tuple_with_datetimetz_valuesJ   st    |$GGG0005)));;==v6a
vx00000r1   rP   )rO   UTCz
Asia/Tokyoc           	         t          t          ddd|d                    }|j        d| dk    sJ t          t          d|	          t          d
|	          t          d|	          g|j                  }|                                }t          d|	           ||          d<   t          j        ||           t          t          d|	          t          d|	          gddg|j                  }|j        d| dk    sJ t          t          d|	          t          d
|	          t          d|	          g|j                  }|                                }| ||          ddg<   t          j        ||           d S )N
2016-01-01hr%   r"   freqr#   rP   r$   datetime64[ns, ]z2016-01-01 00:00rP   2011-01-01 00:00z2016-01-01 02:00rG   
2011-01-01r4   
2012-01-01r6   rF   2012-01-01 00:00r   r   rG   r   r:   r<   r=   )r-   rP   indexer_sliorigexprK   valss          r/   test_setitem_with_tzz*TestSetitemDT64Values.test_setitem_with_tzT   s   jCrPTUUUVVz4r4444444,444,444,444
 *
 
 
 iikk'<<<C
sC((( |+++Y|-K-K-KLa&*
 
 

 z4r4444444,444,444,444
 *
 
 
 iikk#'C!Q 
sC(((((r1   c           	         d}t          t          ddd|d                    }|j        d| dk    sJ t          t          d	|
          t          d|
          t          d|
          g|j                  }|                                }t          d|
           ||          d<   t          j        ||           t          t          d|
          t          d|
          gddg|j                  }|j        d| dk    sJ t          t          d|
          t          d|
          t          d|
          g|j                  }|                                }| ||          ddg<   t          j        ||           d S )NrO   z
2016-11-06rX   r%   r"   rY   r[   r\   z2016-11-06 00:00-04:00r]   z2011-01-01 00:00-05:00z2016-11-06 01:00-05:00r_   r`   r4   ra   r6   rF   z2016-11-06 00:00r^   rb   rc   )r-   rd   rP   re   rf   rK   rg   s          r/   test_setitem_with_tz_dstz.TestSetitemDT64Values.test_setitem_with_tz_dst|   s   jCrPTUUUVVz4r44444442r:::2r:::2r:::
 *
 
 
 iikk'<<<C
sC((( |+++Y|-K-K-KLa&*
 
 

 z4r4444444,444,444,444
 *
 
 
 iikk#'C!Q 
sC(((((r1   c                 :   t          dt          j        it                    }dg}t          j        dgd          }||j        |<   t          |d         gdgt                    }t          d |j        D                       sJ t          j	        ||           d S )	NXr_   Tr'   M8[ns]r   rF   c              3   J   K   | ]}t          |t          j                  V  d S N)
isinstancer*   
datetime64.0xs     r/   	<genexpr>zYTestSetitemDT64Values.test_object_series_setitem_dt64array_exact_match.<locals>.<genexpr>   s.      IIA:a//IIIIIIr1   )
r   r*   r+   rH   r   rR   allvaluesr<   r=   )r-   rK   indexervaluer@   s        r/   0test_object_series_setitem_dt64array_exact_matchzFTestSetitemDT64Values.test_object_series_setitem_dt64array_exact_match   s     c26]&111& !H---!58*SE@@@IIIIIIIIII
sH-----r1   N)__name__
__module____qualname__r0   rA   rL   rT   pytestmarkparametrizerh   rj   rz    r1   r/   r   r   +   s             1 1 1+ + +1 1 1 [T#F#F#FGG%) %) HG%)N') ') ')R. . . . .r1   r   c                      e Zd Zd Zej                            dej        ej	        g          ej                            dddg          d                         Z
ej                            dddej        fg          d	             Zd
S )TestSetitemScalarIndexerc                     t          dgdz  dgdz            }d|d<   t          dgdz  dgz   dgdz  dgz             }t          j        ||           d S )Nr3   r!   r7   fooir   r<   r=   )r-   rK   rf   s      r/   #test_setitem_negative_out_of_boundsz<TestSetitemScalarIndexer.test_setitem_negative_out_of_bounds   sp     cURZurz222CcURZ5')#se1CDDD
sC(((((r1   rx   	ser_indexr   r4   c                     t          ddgd          } ||          }t          dg|g          |d<   t          t          dg|g          dgd          }t          j        ||           d S )Nr   rH   r_   *   r7   r   )r-   rx   r   rK   idxrr@   s         r/    test_setitem_series_object_dtypez9TestSetitemScalarIndexer.test_setitem_series_object_dtype   s     aV8,,,ws||"i[111Q62$yk:::A>hOOO
sH-----r1   zindex, exp_value)r   r   c                     t          ddg          }t          dg|g          |j        d<   t          |dg          }t          j        ||           d S )Nr   r   r7   )r   r;   r<   r=   )r-   r8   	exp_valuerK   r@   s        r/   test_setitem_seriesz,TestSetitemScalarIndexer.test_setitem_series   sY     aVnnRD000
9a.))
sH-----r1   N)r{   r|   r}   r   r~   r   r   r<   r;   atr   r*   r+   r   r   r1   r/   r   r      s        ) ) ) [Y88[[1a&11. . 21 98. [/'Arv;1GHH. . IH. . .r1   r   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )TestSetitemSlicesc                 D   d}t          j        t          |                    d                    5  d|dd<   d d d            n# 1 swxY w Y   t          j        t          |                    d                    5  d|d	d<   d d d            d S # 1 swxY w Y   d S )
NzUcannot do slice indexing on DatetimeIndex with these indexers \[{key}\] of type floatz4\.0)keymatchr   g      @g      $@z4\.5g      @)r~   raises	TypeErrorformat)r-   datetime_seriesmsgs      r/   test_setitem_slice_float_raisesz1TestSetitemSlices.test_setitem_slice_float_raises   s+   ' 	 ]9CJJ7J,C,CDDD 	* 	*()OCH%	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ]9CJJ7J,C,CDDD 	* 	*()OCH%	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s#   AA
A
 BBBc                     t          t          d          t          t          d                              }d|dd <   |dk                                    sJ d|d d<   |dk                                    sJ d S )Nr!   r7   r   ir&   )r   rangelistrv   rJ   s     r/   test_setitem_slicez$TestSetitemSlices.test_setitem_slice   sz    U2YYd599oo666CDD	q~~DSD	q~~r1   c                 "   t          t          j                            d                              d          g d          }d|d d<   |d d         dk                                    sJ |dd          dk                                    rJ d S )Nr6      )r6   r'   r)   r   r!            r7   r   r'   )r   r*   randomdefault_rngstandard_normalrv   anyrJ   s     r/   test_setitem_slice_integersz-TestSetitemSlices.test_setitem_slice_integers   s    I!!!$$44Q77...
 
 

 BQBBQB1!!#####GqL%%'''''''r1   c                     t          t          j        dt          j                  t          j        dt          j                            }d|d d d<   |d d d         dk                                    sJ d S )N   r_   r7   r   r6   )r   r*   arangefloat64int64rv   r,   s     r/   test_setitem_slicestepz(TestSetitemSlices.test_setitem_slicestep   s{    Ib
+++29Rrx3P3P3P
 
 
 ssssssq %%'''''''r1   c                    t          j        ddgt          d          f          }t          t	          j        dt          j                  |          }d ||          d d d<   t          g d|          }t          j        ||           d S )	Nr   r4   abcder!   r_   d   r'   )
r   r4   r6   r%   r   r&   r)   r(   r   	   )	r   from_productr   r   r*   r   r   r<   r=   )r-   rd   mir?   r@   s        r/   test_setitem_multiindex_slicez/TestSetitemSlices.test_setitem_multiindex_slice   s    $q!fd7mm%<==	"BH555r::#&FCCaC >>>CC
vx00000r1   N)r{   r|   r}   r   r   r   r   r   r   r1   r/   r   r      s_        	* 	* 	*     ( ( (( ( (1 1 1 1 1r1   r   c                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j                            deej        eg          d	             Zd
 Zd Zd Zd Zd ZdS )TestSetitemBooleanMaskc                     t          ddgddgd          }t          dgdgd          |ddg<   t          ddgddgd          }t          j        ||           d S )Nr4   r6   r   rF   r   TFr   r-   rK   r@   s      r/   test_setitem_mask_castz-TestSetitemBooleanMask.test_setitem_mask_cast  sv     aVAq6999#QCs'BBBT5M1a&Ag>>>
sH-----r1   c                    t          t          j                            d                              d          t          j        ddd                                        d          }|dk    }|                                }||                                                             t                    }t          j        t          d          5  |||<   d d d            d S # 1 swxY w Y   d S )	Nr6   r   r   r7   r&   Invalid valuer   )r   r*   r   r   r   r   roundr:   mapstrr~   r   r   )r-   tsmaskleftrights        r/   #test_setitem_mask_align_and_promotez:TestSetitemBooleanMask.test_setitem_mask_align_and_promote  s   I!!!$$44S993PQSUAVAV
 
 

%(( 	 Avwwyy4##C((]9O<<< 	 	DJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   C##C'*C'c                     t          g d          }|dk    }||                             t                    }t          j        t
          d          5  |||<   d d d            d S # 1 swxY w Y   d S )N)r   r4   r6   r   r   r   r   )r   r   r   r~   r   r   )r-   rK   r   ser2s       r/   test_setitem_mask_promote_strsz5TestSetitemBooleanMask.test_setitem_mask_promote_strs  s    \\\""Qw4y}}S!!]9O<<< 	 	CI	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A&&A*-A*c                     t          g d          }t          g d          }||         }|||<   t          g d          }t          j        ||           d S )N)r   r   barr   )FTTFr   )r-   rK   r   r   r@   s        r/   test_setitem_mask_promotez0TestSetitemBooleanMask.test_setitem_mask_promote   si    )))**000114yD	...//
sH-----r1   c                    ||                                 k    }|                                }|dz  ||<   |dz  }t          j        ||         ||                    |                                }|dz  dd         ||<   |dz  dd                             |          }||         || <   t          j        ||         ||                    d S )Nr6   r   r&   )medianr:   r<   r=   reindex_like)r-   string_seriesr   r?   r@   s        r/   test_setitem_booleanz+TestSetitemBooleanMask.test_setitem_boolean)  s    }33555 ##%%$q(t 1$
vd|Xd^<<< ##%%%)1Q3/t!A%qs+88GG'-$
vd|Xd^<<<<<r1   c                 l   |}|                     dt                                |                                k    }d}t          j        t
          |          5  d||<   d d d            n# 1 swxY w Y   t          j        t
          |          5  d|j        |<   d d d            d S # 1 swxY w Y   d S )Nr4   rZ   zsUnalignable boolean Series provided as indexer \(index of the boolean Series and of the indexed object do not matchr   )shiftr   r   r~   r   r   r;   )r-   r   r   mask_shiftedr   s        r/   test_setitem_boolean_cornerz2TestSetitemBooleanMask.test_setitem_boolean_corner9  s5   xxx//"))++=I 	 ]=444 	! 	! B|	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! ]=444 	% 	%#$BF< 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s$   A++A/2A/B))B-0B-c                     |                                 }|                                }d||dk    <   |                                }d||dk    <   t          j        ||           d S Nr   )sort_valuesr:   r<   r=   )r-   r   orderedr:   r@   s        r/   $test_setitem_boolean_different_orderz;TestSetitemBooleanMask.test_setitem_boolean_different_orderG  sj    ++--!!##Wq[ %%''!"A
tX.....r1   funcc                     t          g d          } |g d          }ddg||<   t          g d          }t          j        ||           d S )N)Nr5   NTFTr3   cr3   r5   r   r   )r-   r   rK   r   r@   s        r/    test_setitem_boolean_python_listz7TestSetitemBooleanMask.test_setitem_boolean_python_listR  se     &&&''t'''((#JD	///**
sH-----r1   c                 0   t          g d|          }t          t          d          |          ||dk    <   t          g d|          }t          j        ||           t          g d|          }t          t          d          |          |j        |dk    <   t          j        ||           t          g d|          }t          t          d          |          }|j        |dk             |j        |dk    <   t          j        ||           d S )N)r&   r)   r(   r   r_   r'   r)   )r&   r)   r6   r%   r4   )r   r   r<   r=   r;   )r-   any_numeric_ea_dtyperK   r@   loc_sers        r/   'test_setitem_boolean_nullable_int_typesz>TestSetitemBooleanMask.test_setitem_boolean_nullable_int_types[  s   \\\)=>>>eAhh.BCCCC!G,,,.BCCC
sH---\\\)=>>>!%((2FGGGa
sH---\\\)=>>>q)=>>>";w{3a
sH-----r1   c                 "   t          d gdz            }dgdz  dgdz  z   dgdz  z   }t          d          ||<   |}t          d gdz  t          t          d                    z   d gdz  z   t                    }t	          j        ||           d S )Nr!   Fr%   Tr&   r6   r_   )r   r   r   rH   r<   r=   )r-   rK   r   r?   r@   s        r/   Atest_setitem_with_bool_mask_and_values_matching_n_trues_in_lengthzXTestSetitemBooleanMask.test_setitem_with_bool_mask_and_values_matching_n_trues_in_lengthk  s    dVb[!!w{dVaZ'5'A+5!HHD	4&1*tE!HH~~5
B&QQQ
vx00000r1   c                     t          g d          }t          j        t          d          5  t          j        |d<   d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   )r   r~   r   r   r*   r+   )r-   r?   s     r/   test_setitem_nan_with_boolz1TestSetitemBooleanMask.test_setitem_nan_with_boolt  s    +++,,]9O<<< 	 	F1I	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A

AAc                 x   t          g dd          }t          j        g dt          j                  }t          j        g d          }|                                }t          j        t          d          5  t          |          ||<   d d d            n# 1 swxY w Y   t          j        t          d          5  |                    ||d	           d d d            n# 1 swxY w Y   |	                    | t          |                    }t          g d
          }t          j        ||           d S )NrC   int8r_   )      r   r   r   Tinplace)r   r6   r   )r   r*   r   r   r:   r~   r   r   r   wherer<   r=   )r-   re   altr   rK   resr@   s          r/   !test_setitem_mask_smallint_upcastz8TestSetitemBooleanMask.test_setitem_mask_smallint_upcastz  s   iiiv...h(((999x+++,,iikk]9O<<< 	$ 	$sCI	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ ]9O<<< 	. 	.HHT3H---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. iivc{{++...))
sH-----s$   ;BB!B C%%C),C)c                    t          g dd          }t          g dt          j                  }t          j        g d          }|                                }|||<   t          g dd          }t          j        ||           |                                }|                    ||d           t          j        ||           |                                }|                    | |          }t          j        ||d	
           d S )NrC   uint8r_   )   r      r   )r   r6   r   Tr   F)check_dtype)	r   r*   r   r   r:   r<   r=   r   r   )	r-   re   r   r   rK   r@   r   ser3r   s	            r/   $test_setitem_mask_smallint_no_upcastz;TestSetitemBooleanMask.test_setitem_mask_smallint_no_upcast  s    iiiw///%%%RX666x+++,,iikkD	---w777
sH---yy{{		$T	***
tX... yy{{jj$$$
sH%@@@@@@r1   N)r{   r|   r}   r   r   r   r   r   r   r   r~   r   r   r   r*   r   r   r   r   r   r   r   r   r   r1   r/   r   r     s       . . .	 	 	  . . .= = = % % %	/ 	/ 	/ [VdBHf%=>>. . ?>.. . . 1 1 1  . . ."A A A A Ar1   r   c                       e Zd Zd Zd ZdS )TestSetitemViewCopySemanticsc                    t          ddd          }|d         }t          |          }|j        |usJ |j        j        j        |j        j        j        u sJ |j        dk    sJ t          |j        d<   |j        j        J |j        |usJ |j        j        j        |j        j        j        usJ |d         |k    sJ |j        dk    sJ d S )N20130101r%   rO   r#   rP   r4   D)	r   r   _values_ndarraybase_datarZ   r   rR   r-   dtir   rK   s       r/   ,test_setitem_invalidates_datetime_index_freqzITestSetitemViewCopySemantics.test_setitem_invalidates_datetime_index_freq  s     Q<@@@VSkk{#%%%%{#(CI,>,CCCCCx3{''' {#%%%%{#(	0B0GGGGG1v||||x3r1   c                    t          ddd          }|d         }t          |          }|j        |usJ |j        j        j        |j        j        j        u sJ |j        j        d         j        j        j        |j        j        j        u sJ |j        j        d         j        |usJ t          |d d d<   |d         t          u sJ |d         |k    sJ d S )NrW   r!   
US/Pacificr  r   r%   )
r   r   r  r  r  r  _mgrblocksrw   r   r  s       r/   'test_dt64tz_setitem_does_not_mutate_dtizDTestSetitemViewCopySemantics.test_dt64tz_setitem_does_not_mutate_dti  s    rlCCCVSkk{#%%%%{#(CI,>,CCCCCxq!(16#):L:QQQQQxq!(3333CCaC1v}}}}1v||||||r1   N)r{   r|   r}   r	  r  r   r1   r/   r   r     s2          &    r1   r   c                       e Zd Zd Zd ZdS )TestSetitemCallablec                     t          g dt          d                    }d|d <   t          g dt          d                    }t          j        ||           d S )Nr4   r6   r%   r'   ABCDr7   r   c                     dS )NAr   rt   s    r/   <lambda>z?TestSetitemCallable.test_setitem_callable_key.<locals>.<lambda>  s    c r1   )r   r6   r%   r'   )r   r   r<   r=   r   s      r/   test_setitem_callable_keyz-TestSetitemCallable.test_setitem_callable_key  s_    \\\f666MM---tF||<<<
sH-----r1   c                     d }t          g dt                    }|||dk     <   t          dd|dg          }t          j        ||           d S )Nc                     | dz   S Nr4   r   r  s    r/   r  zATestSetitemCallable.test_setitem_callable_other.<locals>.<lambda>  s
    A r1   )r4   r6   r   r'   r_   r   r4   r6   r'   r   rH   r<   r=   )r-   incrK   r@   s       r/   test_setitem_callable_otherz/TestSetitemCallable.test_setitem_callable_other  s\    o ]]]&111C!G1aa.))
sH-----r1   N)r{   r|   r}   r  r  r   r1   r/   r  r    s2        . . .	. 	. 	. 	. 	.r1   r  c                   X   e Zd Zd Zd Zd Zej                            d e	d           e	d          
                                 e	d                                          g          d             Zd Zd Zd	 Zej                            d
eeddddfeeddddfeej        ddddfeej        ddddfeeddddfeeddddfej        eddddfej        eddddfej        eddddfej        eddddfej        ej        ddddfej        ej        ddddfg          d             Zd ZdS )TestSetitemWithExpansionc                     t          d          }t          t                    }d||<   t          d|r|gnt          |gt                              }t	          j        ||           d S )Nra   r_   /   r7   )r   r   rH   r   r<   r=   )r-   using_infer_stringr   r.   r@   s        r/   test_setitem_empty_seriesz2TestSetitemWithExpansion.test_setitem_empty_series  sw    %%f%%%s1QseeucU&7Q7Q7Q
 
 
 	vx00000r1   c                 H   t          g dd          }t          g |t                    }t          d          }d||<   t          dt          |gd                              d                    }t          j        ||           |j        j        |j        j        k    sJ d S )	Nr  rm   )rZ   rG   rF   ra   r"  r   r"   )	r   r   rH   r   as_unitr<   r=   r8   rZ   )r-   r  r.   r   r@   s        r/   6test_setitem_empty_series_datetimeindex_preserves_freqzOTestSetitemWithExpansion.test_setitem_empty_series_datetimeindex_preserves_freq  s    BS999#V444%%s"mSE<<<DDTJJKK
vx000| HN$7777777r1   c                     t          d          }t          |gdgt                    }|d         }t          g t                    }d|d<   ||d<   |d         }||k    sJ d S )Nl    Pi5 	timestamprF   r_   g     r@anything)r   r   rH   )r-   r)  r.   r@   r?   s        r/   3test_setitem_empty_series_timestamp_preserves_dtypezLTestSetitemWithExpansion.test_setitem_empty_series_timestamp_preserves_dtype  sy    122	K=GGG+&&)))"z'{$!!!!!!r1   td9 daysc                    |rHt          |t                    s3|                    t          j                            d                     t          d|gddgt                    }t          dg          }||d<   t          j	        ||           t          |d         t                    sJ t          dg          }t          d          |j
        d<   t          j	        ||           t          |d         t                    sJ d S )Nzinferred as stringreasonrt   r   r,  rF   r-  )rp   r   applymarkerr~   r   xfailr   rH   r<   r=   r;   )r-   r,  r#  requestr@   rK   s         r/   #test_append_timedelta_does_not_castz<TestSetitemWithExpansion.test_append_timedelta_does_not_cast  s      	PjY&?&? 	P 1 19M 1 N NOOO3)At9FCCCcUmmD	
sH---#d)Y/////cUmm!(++
sH---#d)Y///////r1   c                     t          t                    }t          d          |d<   d|d<   d|d<   t          t          d          ddgg d	          }t          j        ||           d S )
Nr_   rW   r3         @r5   r   r   r   r7   )r   rH   r   r<   r=   r   s      r/   *test_setitem_with_expansion_type_promotionzCTestSetitemWithExpansion.test_setitem_with_expansion_type_promotion  ss    6"""\**CCC9\22C?WWW
sH-----r1   c                     |                                 }d|j        vsJ d|d<   t          dgdgd          }t          ||g          }t	          j        ||           d S )Nfoobarr4   r.   )r8   name)r:   r8   r   r   r<   r=   )r-   r   rK   appr@   s        r/   test_setitem_not_containedz3TestSetitemWithExpansion.test_setitem_not_contained  sr      ""sy((((HaS
:::=#.//
sH-----r1   c                     t          ddg|          }d|d<   t          g d|          }t          j        ||           d S )Nr4   r6   r_   r!   )r4   r6   r!   r   )r-   r   rK   r@   s       r/   test_setitem_keep_precisionz4TestSetitemWithExpansion.test_setitem_keep_precision)  sR    aV#7888A***,@AAA
sH-----r1   z3na, target_na, dtype, target_dtype, indexer, raisesInt64r4   Fr6   r   r   rH   TFloat64c                    t          ddg|          }|r;t          j        t          d          5  |||<   d d d            d S # 1 swxY w Y   d S |||<   |dk    rd|gndd|g}t          ||          }	t	          j        ||	           d S )Nr4   r6   r_   r   r   )r   r~   r   r   r<   r=   )
r-   na	target_narG   target_dtyperx   r   rK   expected_valuesr@   s
             r/   test_setitem_enlarge_with_naz5TestSetitemWithExpansion.test_setitem_enlarge_with_na0  s    * aV5))) 	2y@@@ " "!G" " " " " " " " " " " " " " " " " " CL071q)nn1aBSOo\BBBH"311111s   AAAc                    t          ddg          }||d<   |rt          |t                    sdnt          }t          dd|gg d|          }t	          j        ||           |r|d         t          j        u  d S |d         |u sJ d S )Nr3   r5   r%   r   )r   r4   r%   rF   )r   rp   r   rH   r<   r=   r*   r+   )r-   nulls_fixturer#  rK   rG   r@   s         r/   $test_setitem_enlargement_object_nonez=TestSetitemWithExpansion.test_setitem_enlargement_object_noneO  s    c3Z  A "*4]G*L*LEE 	
 3]3999ERRR
sH--- 	+Fbfq6]******r1   N)r{   r|   r}   r$  r'  r+  r~   r   r   r   to_timedelta64to_pytimedeltar4  r7  r<  r>  r	   r*   r+   r   rF  rI  r   r1   r/   r   r     s        1 1 18 8 8
" 
" 
" [IhIh..00Ih..00	
 0 0 0$. . .. . .. . . [=Wgq%0Wgq%0)Q6)Q6#w!T2#w!U3VR'1e4VR'1e4VRIq%8VRIq%8VRVWiE:VRVWiE:	
 "2 2# "2+ + + + +r1   r   c                     t          j        d          } d| j        _        t	          | d          }|j        D ]J}d}t          j        t          |          5  d||<   d d d            n# 1 swxY w Y   | |         dk    sJ Kd S )Nr&   Fr:   #assignment destination is read-onlyr   r4   r   )	r*   zerosflags	writeabler   r8   r~   r   
ValueError)r   r.   nr   s       r/   .test_setitem_scalar_into_readonly_backing_datarT  `  s     HQKKE!EKE&&&F\  3]:S111 	 	F1I	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 Qx1}}}}} s   A**A.	1A.	c                     t          j        d          } d| j        _        t	          | d          }d}t          j        t          |          5  d|dd<   d d d            n# 1 swxY w Y    | j                    rJ d S )Nr&   FrM  rN  r   r4   r%   )	r*   rO  rP  rQ  r   r~   r   rR  r   )r   r.   r   s      r/   -test_setitem_slice_into_readonly_backing_datarV  o  s     HQKKE!EKE&&&F
/C	z	-	-	-  qs               uy{{?s   A##A'*A'c                     t          t          ddgddg                    } |                                 }d|d d <   t          t          ddgddg                    }t          j        ||           |                                 }d|d<   t          t          ddgddg                    }t          j        ||           |                                 }d||j        dk    <   t          t          ddgddg                    }t          j        ||           |                                 }d|ddg<   t          t          ddgddg                    }t          j        ||           |                                 }dd	g|_        d|d	<   t          t          ddgddg          dd	g
          }t          j        ||           d S )Nr5   r3   
categoriesr4   r   FTrt   yr7   )r   r
   r:   r<   r=   r8   )re   rK   rf   s      r/   &test_setitem_categorical_assigning_opsr[  }  s   +sCjc3Z@@@AAD
))++CCF
c3ZS#J???
@
@C3$$$
))++CCF
c3ZS#J???
@
@C3$$$
))++CC	A
c3ZS#J???
@
@C3$$$
))++CC
c3ZS#J???
@
@C3$$$
))++Cc
CICH
c3ZS#J???Sz
R
R
RC3$$$$$r1   c                      t          t          g d                    } t          t          dt          j        dgg d                    }t          j        | d<   t	          j        | |           d S )NrC   r4   r%   rX  )r   r
   r*   r+   r<   r=   )rK   rf   s     r/   !test_setitem_nan_into_categoricalr]    se    
YYY''
(
(C
a^			BBB
C
CCVCF3$$$$$r1   c                       e Zd Zej                            dddg          ej                            dg de          d                         Zd Zd	S )
TestSetitemCastinguniqueTFval)r%   r6  3)idsc                     t          ddg          }|s	ddg|_        t          j        t          d          5  | ||          d<   d d d            d S # 1 swxY w Y   d S )NTFr4   r   r   )r   r8   r~   r   r   )r-   ra  rd   r`  rK   s        r/   test_setitem_non_bool_into_boolz2TestSetitemCasting.test_setitem_non_bool_into_bool  s     dE]## 	ACI]9O<<< 	& 	&"%KKQ	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s   AAAc                    t          g d          }|j        }t          g d          }|d d         |d d<   |j        |u sJ t          j        t
          d          5  |dd          |dd <   d d d            d S # 1 swxY w Y   d S )Nr   )TFNr6   r   r   r4   )r   r  r   r~   r   r   )r-   rK   rw   rS   s       r/   &test_setitem_boolean_array_into_npboolz9TestSetitemCasting.test_setitem_boolean_array_into_npbool  s    ((())'''((bqb'BQB{f$$$$]9O<<< 	 	!""gCG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A<<B B N)	r{   r|   r}   r~   r   r   typere  rg  r   r1   r/   r_  r_    sy        [Xe}55[UMMMt<<& & =< 65&
 
 
 
 
r1   r_  c                   b    e Zd ZdZej        d             Zd Zd Zd Z	d Z
d Zd Zd	 Zd
 ZdS )SetitemCastingEquivalentsz
    Check each of several methods that _should_ be equivalent to `obj[key] = val`

    We assume that
        - obj.index is the default Index(range(len(obj)))
        - the setitem does not expand the obj
    c                 "    |j         |j         k    S )zF
        Whether we expect the setting to be in-place or not.
        r_   )r-   objr@   s      r/   
is_inplacez$SetitemCastingEquivalents.is_inplace  s    
 ~**r1   c                     |}|                                 }|j        }| ||          |<   t          j        ||           |                     ||||           d S ro   )r:   r  r<   r=   _check_inplace)	r-   rl  r   r@   ra  rx   rm  re   rS   s	            r/   check_indexerz'SetitemCastingEquivalents.check_indexer  s`    hhjjkS
sH---Jc377777r1   c                     |d S |r2|j         j        dv r|j        |j        j        u sJ d S |j        |u sJ d S t	          j        ||j                   d S )N)mM)rG   kindr  r  r<   assert_equal)r-   rm  re   rS   rl  s        r/   ro  z(SetitemCastingEquivalents._check_inplace  sy    D 		/y~++ |s{';;;;;;;{c)))))) OC.....r1   c           	         t          |t                    st          j        d           |rt          j        t
          d          }nt          j                    }|5  |                     ||||||           d d d            n# 1 swxY w Y   |t          j
        u r?|5  |                     ||||t          j        |           d d d            n# 1 swxY w Y   nL|t          j        u r>|5  |                     ||||t          j        |           d d d            n# 1 swxY w Y   t          ||dz             }	|5  |                     ||	||||           d d d            n# 1 swxY w Y   |t          j
        urGt          ||dz             }
|5  |                     ||
||||           d d d            n# 1 swxY w Y   |g}|5  |                     ||||||           d d d            n# 1 swxY w Y   t!          j        |          }|5  |                     ||||||           d d d            n# 1 swxY w Y   d |fD             }|5  |                     ||||||           d d d            d S # 1 swxY w Y   d S )NzNot relevant for int keyr   r   r4   c              3      K   | ]}|V  d S ro   r   rr   s     r/   ru   z9SetitemCastingEquivalents.test_int_key.<locals>.<genexpr>  s"      ##!######r1   )rp   intr~   skipr   r   
contextlibnullcontextrp  r<   r;   r   rR   iatr   slicer*   r   )r-   rl  r   r@   r   ra  rd   rm  ctxrngslcilkeyindkeygenkeys                 r/   test_int_keyz&SetitemCastingEquivalents.test_int_key  s:   #s## 	4K2333 	+-	AAACC(**C 	Q 	QsC3ZPPP	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q "&   O O""3XsBE:NNNO O O O O O O O O O O O O O OBG## P P""3XsBFJOOOP P P P P P P P P P P P P P P Cq!! 	Q 	QsC3ZPPP	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q bf$$S1W%%C U U""3XsKTTTU U U U U U U U U U U U U U U  	S 	SsE8S+zRRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S % 	T 	TsFHc;
SSS	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T $#cU### 	T 	TsFHc;
SSS	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	Ts   BBB%CCC,%DD!$D!=E$$E(+E(F99F= F=	G00G47G4H88H<?H<I::I>I>c           	         t          |t                    st          j        d           |rt          j        t
          d          }nt          j                    }|t          j	        ur4|5  | 
                    ||||||           d d d            n# 1 swxY w Y   t          t          t          |                              |         }	|5  | 
                    ||	||||           d d d            n# 1 swxY w Y   t          j        |	          }
|5  | 
                    ||
||||           d d d            n# 1 swxY w Y   d |
D             }|5  | 
                    ||||||           d d d            d S # 1 swxY w Y   d S )NzNot relevant for slice keyr   r   c              3      K   | ]}|V  d S ro   r   rr   s     r/   ru   z;SetitemCastingEquivalents.test_slice_key.<locals>.<genexpr>!  s"      $$!$$$$$$r1   )rp   r}  r~   ry  r   r   rz  r{  r<   r;   rp  r   r   lenr*   r   )r-   rl  r   r@   r   ra  rd   rm  r~  r  r  r  s               r/   test_slice_keyz(SetitemCastingEquivalents.test_slice_key  s   #u%% 	6K4555 	+-	AAACC(**Cbf$$ U U""3XsKTTTU U U U U U U U U U U U U U U U3s88__%%c* 	S 	SsE8S+zRRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S % 	T 	TsFHc;
SSS	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T %$V$$$ 	T 	TsFHc;
SSS	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	TsH   +BBBC55C9<C9D==EEE>>FFc                    t          j        |j        t                    }d||<   |                                }t          |          rjt          |          |                                k     rEd}t          j	        t          |          5  | ||          |<   d d d            n# 1 swxY w Y   d S |rDt          j	        t          d          5  | ||          |<   d d d            d S # 1 swxY w Y   d S | ||          |<   d S )Nr_   Tz9boolean index did not match indexed array along dimensionr   r   )r*   rO  shapeboolr:   r   r  sumr~   r   
IndexErrorr   )	r-   rl  r   r@   r   ra  rd   r   r   s	            r/   test_mask_keyz'SetitemCastingEquivalents.test_mask_key%  s   x	...S	hhjj 	SDHHJJ!6!6MCz555 - -),C  &- - - - - - - - - - - - - - -F 	)y@@@ - -),C  &- - - - - - - - - - - - - - - - - - &)KKT"""s$   B&&B*-B*C,,C03C0c                    t          j        |j        t                    }d||<   t	          |          rnt          |          t          |          k     rNd}t          j        t          |          5  |	                    | |           d d d            n# 1 swxY w Y   d S |}	|
                                }|j        }
|	                    | |          }|t          u r+|j        t          k    r|                    t                    }nO|M|j        t          k    r=|j        t          k    sJ |
                                }d ||                                <   t#          j        ||           |                     ||	|
|           d S )Nr_   Tz4operands could not be broadcast together with shapesr   )r*   rO  r  r  r   r  r~   r   rR  r   r:   r  r	   rG   rH   fillnaisnar<   r=   ro  )r-   rl  r   r@   r   ra  rm  r   r   re   rS   r   s               r/   test_series_wherez+SetitemCastingEquivalents.test_series_where8  s   x	...S	 	SCHH!4!4HCz555 & &		4%%%%& & & & & & & & & & & & & & &Fhhjjkiis##"99f,,r**HH[SY&00>V++++}}H(,HX]]__%
sH---Jc377777s   2BBBc                     t          j        |j        t                    }d||<   t	          |                              | |          }t	          ||j                  }t          j        ||           d S Nr_   T)	r*   rO  r  r  r   r   rG   r<   assert_index_equal)	r-   rl  r   r@   r   ra  r   r   expected_idxs	            r/   test_index_wherez*SetitemCastingEquivalents.test_index_whereS  sk    x	...S	Cjjuc**XX^<<<
c<00000r1   c                     t          j        |j        t                    }d||<   t	          |                              ||          }t          j        |t	          ||j                             d S r  )	r*   rO  r  r  r   putmaskr<   r  rG   )r-   rl  r   r@   r   ra  r   r   s           r/   test_index_putmaskz,SetitemCastingEquivalents.test_index_putmask[  sd    x	...S	Cjj  s++
c5#H#H#HIIIIIr1   N)r{   r|   r}   __doc__r~   fixturerm  rp  ro  r  r  r  r  r  r  r   r1   r/   rj  rj    s          ^+ + ^+8 8 8/ / /&T &T &TPT T T2) ) )&8 8 861 1 1J J J J Jr1   rj  zobj,expected,key,raisesr4   r&   r6   r%   r'   zinterval[float64]r_   Tinterval_int_na_value)id)	r6   r%   r'   r&   r)   r(   r   r   r!   r(   r   Fint_series_slice_key_step)TTFFbool_series_slice_key_stepr!   r)   r   int_series_slice_keyrC   int_series_int_keybool_series_int_key_change_allbool_series_int_keyc                   p    e Zd Z ej        ej         ej        d          deg          d             Z	dS )TestSetitemCastingEquivalentsNaNNparamsc                     |j         S )z
        NA values that should generally be valid_na for *all* dtypes.

        Include both python float NaN and np.float64; only np.float64 has a
        `dtype` attribute.
        paramr-   r3  s     r/   ra  z!TestSetitemCastingEquivalents.val  s     }r1   )
r{   r|   r}   r~   r  r*   r+   r   r	   ra  r   r1   r/   r  r  c  sX        D V^BFJBJu$5$5tR@AAA  BA  r1   r  c                       e Zd Zej        d             Z ej        eeeg          d             Z	ej        d             Z
ej        d             Zej        d             Zej        d             ZdS )	!TestSetitemTimedelta64IntoNumericc                 0    t          j        dd          }|S )Nr'   r"   )r*   timedelta64)r-   r,  s     r/   ra  z%TestSetitemTimedelta64IntoNumeric.val  s    ^At$$	r1   r  c                     |j         S ro   r  r  s     r/   rG   z'TestSetitemTimedelta64IntoNumeric.dtype  
    }r1   c                 r    t          j        d                              |          }t          |          }|S )Nr&   )r*   r   astyper   r-   rG   rS   rK   s       r/   rl  z%TestSetitemTimedelta64IntoNumeric.obj  s-    ill!!%((Skk
r1   c                     t          j        d                              |          }t          |          }|                    t                    }t          j        dd          |j        d<   |S )Nr&   r'   r"   r   )r*   r   r  r   rH   r  rR   r  s       r/   r@   z*TestSetitemTimedelta64IntoNumeric.expected  sU    ill!!%((Skkjj  nQ--
r1   c                     dS r   r   r-   s    r/   r   z%TestSetitemTimedelta64IntoNumeric.key      qr1   c                     dS NTr   r  s    r/   r   z(TestSetitemTimedelta64IntoNumeric.raises      tr1   N)r{   r|   r}   r~   r  ra  complexrx  floatrG   rl  r@   r   r   r   r1   r/   r  r    s         ^  ^
 V^GS%0111  21 ^  ^
 ^  ^ ^  ^ ^  ^  r1   r  c                   *   e Zd Z ej        ddg          d             Zej        d             Zej        d             Zej        d             Zej        d             Z	 ej        d	e
ej        g          d
             Zej        d             Zd	S )TestSetitemDT64IntoIntrm   m8[ns]r  c                     |j         S ro   r  r  s     r/   rG   zTestSetitemDT64IntoInt.dtype  r  r1   c                 F    t          j        dd          }|dk    r||z
  }|S )Nz2021-01-18 13:25:00r"   r  )r*   rq   )r-   rG   ra  s      r/   scalarzTestSetitemDT64IntoInt.scalar  s-    m1488H)C
r1   c                     t          ||dgt                    }t          |d         t          |                    sJ |S )Nr%   r_   r   )r   rH   rp   rh  )r-   r  r@   s      r/   r@   zTestSetitemDT64IntoInt.expected  s@    661-V<<<(1+tF||44444r1   c                 $    t          g d          S )NrC   r   r  s    r/   rl  zTestSetitemDT64IntoInt.obj  s    iii   r1   c                 "    t          d d          S )Nr   r}  r  s    r/   r   zTestSetitemDT64IntoInt.key  s    T2r1   Nc                 2    |j         }||S  |||g          S ro   r  )r-   r  r3  boxs       r/   ra  zTestSetitemDT64IntoInt.val  s(    m;MsFF#$$$r1   c                     dS r  r   r  s    r/   r   zTestSetitemDT64IntoInt.raises  r  r1   )r{   r|   r}   r~   r  rG   r  r@   rl  r   r   r*   r   ra  r   r   r1   r/   r  r    s	        V^Hh/000  10 ^  ^ ^  ^
 ^! ! ^! ^  ^ V^D$1222% % 32% ^  ^  r1   r  c                       e Zd Zej        d             Zej        d             Z ej        d edd          g          d             Z ej        de	j
        g          d             Zej        d	             ZdS )
TestSetitemNAPeriodDtypec                     t          t          ddd                    }t          j        |j                            d          |<   ||         t          u s!t          d ||         D                       sJ |S )N
2000-01-01r!   r  r#   rZ   i8c              3   (   K   | ]}|t           u V  d S ro   )r   rr   s     r/   ru   z4TestSetitemNAPeriodDtype.expected.<locals>.<genexpr>  s&      %A%A1a3h%A%A%A%A%A%Ar1   )r   r   r   _valuer  viewrv   )r-   r   rf   s      r/   r@   z!TestSetitemNAPeriodDtype.expected   sp    \,EEEFF&)js#3x3#%A%AC%A%A%A"A"AA
r1   c                 @    t          t          ddd                    S )Nr  r!   r  r  )r   r   r  s    r/   rl  zTestSetitemNAPeriodDtype.obj  s    l<#FFFGGGr1   r%   r&   r  c                     |j         S ro   r  r  s     r/   r   zTestSetitemNAPeriodDtype.key  r  r1   Nc                     |j         S ro   r  r  s     r/   ra  zTestSetitemNAPeriodDtype.val  r  r1   c                     dS NFr   r  s    r/   r   zTestSetitemNAPeriodDtype.raises      ur1   )r{   r|   r}   r~   r  r@   rl  r}  r   r*   r+   ra  r   r   r1   r/   r  r    s         ^  ^ ^H H ^H V^AuuQ{{+,,,  -, V^D"&>***  +* ^  ^  r1   r  c            
       j   e Zd Z ej        g d          d             Zej        d             Z ej        dej        e	 ej
        dd           ej        dd          g          d             Zej        d	             Zej        d
             Zej        d             Zej        d             ZdS )TestSetitemNADatetimeLikeDtype)r  rm   zdatetime64[ns, UTC]zdatetime64[ns, US/Central]r  c                     |j         S ro   r  r  s     r/   rG   z$TestSetitemNADatetimeLikeDtype.dtype  s     }r1   c                     t          dd          j        }t          ||          }|j        |k    sJ t	          |          S )NrW   r%   r#   r_   )r   asi8r   rG   r   )r-   rG   i8valsr>   s       r/   rl  z"TestSetitemNADatetimeLikeDtype.obj$  sH    L!4449F%(((yE!!!!c{{r1   Nr   r"   c                     |j         S ro   r  r  s     r/   ra  z"TestSetitemNADatetimeLikeDtype.val+  s     }r1   c                 X    |t           u p!|d u p|t          j        u p|j        |j        k    S ro   )r   r*   r+   rG   )r-   ra  rl  s      r/   rm  z)TestSetitemNADatetimeLikeDtype.is_inplace7  s0    
 czSSD[SC26MSSY#)=SSr1   c                 x    |r|j         nt          }t          |gt          |dd                    |          }|S )Nr4   r_   )rG   rH   r   r   )r-   rl  ra  rm  rG   r@   s         r/   r@   z'TestSetitemNADatetimeLikeDtype.expected>  s?    '3		V3/c!""g/u===r1   c                     dS r   r   r  s    r/   r   z"TestSetitemNADatetimeLikeDtype.keyD  r  r1   c                     |rdndS )NFTr   )r-   rm  s     r/   r   z%TestSetitemNADatetimeLikeDtype.raisesH  s    ",uu,r1   )r{   r|   r}   r~   r  rG   rl  r*   r+   r   r  rq   ra  rm  r@   r   r   r   r1   r/   r  r    sE        V^XXX     ^  ^ V^FBN5$''BM%&&
     ^T T ^T ^  ^
 ^  ^ ^- - ^- - -r1   r  c                       e Zd Zej        d             Zej        d             Zej        d             Zej        d             Zej        d             Z	dS )$TestSetitemMismatchedTZCastsToObjectc                 @    t          t          ddd                    S )N2000r6   
US/Centralr  r   r   r  s    r/   rl  z(TestSetitemMismatchedTZCastsToObject.objO  s    j|DDDEEEr1   c                 $    t          dd          S )Nr  rO   r]   )r   r  s    r/   ra  z(TestSetitemMismatchedTZCastsToObject.valS  s    L1111r1   c                     dS r   r   r  s    r/   r   z(TestSetitemMismatchedTZCastsToObject.keyW  r  r1   c                 z    t          |                    d          t          dd          g|j                  }|S )Nr  z2000-01-02 00:00:00-06:00r]   r_   )r   
tz_convertr   rG   )r-   rl  ra  r@   s       r/   r@   z-TestSetitemMismatchedTZCastsToObject.expected[  sK     |,,5,GGG )
 
 
 r1   c                     dS r  r   r  s    r/   r   z+TestSetitemMismatchedTZCastsToObject.raisesh  r  r1   N
r{   r|   r}   r~   r  rl  ra  r   r@   r   r   r1   r/   r  r  M  s        ^F F ^F ^2 2 ^2 ^  ^ ^
 
 ^
 ^  ^  r1   r  zobj,expected)      ?       @r6  r  r6  i  )r   r   baz)Nr   r  c                   n    e Zd Zej        d             Zej        d             Zej        d             ZdS )TestSeriesNoneCoercionc                     dS r   r   r  s    r/   r   zTestSeriesNoneCoercion.key}  r  r1   c                     d S ro   r   r  s    r/   ra  zTestSeriesNoneCoercion.val  r  r1   c                     dS r  r   r  s    r/   r   zTestSeriesNoneCoercion.raises  r  r1   N)r{   r|   r}   r~   r  r   ra  r   r   r1   r/   r  r  m  sk          ^  ^ ^  ^ ^  ^  r1   r  c                       e Zd Zd Zej        d             Zej        d             Zej        d             Zej        d             Z	ej        d             Z
dS )-TestSetitemFloatIntervalWithIntIntervalValuesc                     t          j        t          d                    }t          |          }t	          dd          }t          j        t          d          5  ||d<   d d d            d S # 1 swxY w Y   d S )Nr'         ?      ?r   r   r   )r   from_breaksr   r   r   r~   r   r   )r-   r>   rl  ra  s       r/   test_setitem_examplezBTestSetitemFloatIntervalWithIntIntervalValues.test_setitem_example  s    'a11SkksC  ]9O<<< 	 	CF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A//A36A3c                 b    t          j        t          d                    }t          |          S )zE
        Fixture to create a Series [(0, 1], (1, 2], (2, 3]]
        r'   )r   r  r   r   )r-   r>   s     r/   rl  z1TestSetitemFloatIntervalWithIntIntervalValues.obj  s&    
 'a11c{{r1   c                 "    t          dd          S )z7
        Fixture to get an interval (0.5, 1.5]
        r   r  )r   r  s    r/   ra  z1TestSetitemFloatIntervalWithIntIntervalValues.val  s    
 S!!!r1   c                     dS )z(
        Fixture to get a key 0
        r   r   r  s    r/   r   z1TestSetitemFloatIntervalWithIntIntervalValues.key  s	    
 qr1   c                 v    |gt          |dd                   }t          |d          }t          |          S )zN
        Fixture to get a Series [(0.5, 1.5], (1.0, 2.0], (2.0, 3.0]]
        r4   NzInterval[float64]r_   )r   r   r   )r-   rl  ra  datar>   s        r/   r@   z6TestSetitemFloatIntervalWithIntIntervalValues.expected  s>    
 $d3qrr7mm$D(;<<<c{{r1   c                     dS )z=
        Fixture to enable raising pytest exceptions
        Tr   r  s    r/   r   z4TestSetitemFloatIntervalWithIntIntervalValues.raises  s	    
 tr1   N)r{   r|   r}   r  r~   r  rl  ra  r   r@   r   r   r1   r/   r  r    s           ^  ^ ^" " ^" ^  ^ ^  ^ ^  ^  r1   r  c                       e Zd Zej        d             Zej        d             Zej        d             Zej        d             Zej        d             Z	dS )!TestSetitemRangeIntoIntegerSeriesc                 j    t          j        |          }t          t          d          |          }|S Nr&   r_   )r*   rG   r   r   )r-   any_int_numpy_dtyperG   rK   s       r/   rl  z%TestSetitemRangeIntoIntegerSeries.obj  s/    ,--U1XXU+++
r1   c                 "    t          dd          S )Nr6   r'   )r   r  s    r/   ra  z%TestSetitemRangeIntoIntegerSeries.val      Q{{r1   c                 "    t          dd          S Nr   r6   r  r  s    r/   r   z%TestSetitemRangeIntoIntegerSeries.key  r  r1   c                 T    t          j        |          }t          g d|          }|S )N)r6   r%   r6   r%   r'   r_   )r*   rG   r   )r-   r  rG   rf   s       r/   r@   z*TestSetitemRangeIntoIntegerSeries.expected  s-    ,--___E222
r1   c                     dS r  r   r  s    r/   r   z(TestSetitemRangeIntoIntegerSeries.raises  r  r1   Nr  r   r1   r/   r  r    s         ^  ^
 ^  ^ ^  ^ ^  ^
 ^  ^  r1   r  zval, raisesg      @g      @A   c                   n    e Zd Zej        d             Zej        d             Zej        d             ZdS )(TestSetitemFloatNDarrayIntoIntegerSeriesc                 R    t          t          d          t          j                  S r  )r   r   r*   r   r  s    r/   rl  z,TestSetitemFloatNDarrayIntoIntegerSeries.obj  s    eAhhbh////r1   c                 "    t          dd          S r  r  r  s    r/   r   z,TestSetitemFloatNDarrayIntoIntegerSeries.key  r  r1   c                     |d         dk    rt           j        }nt           j        }t          j        t	          d          |          }||d d<   t          |          S )Nr   r6   r&   r_   )r*   r   r   r   r   r   )r-   ra  rG   
res_valuess       r/   r@   z1TestSetitemFloatNDarrayIntoIntegerSeries.expected  sT    q6Q;;HEEJEXeAhhe444

2A2j!!!r1   N)r{   r|   r}   r~   r  rl  r   r@   r   r1   r/   r  r    sk         ^0 0 ^0 ^  ^ ^" " ^" " "r1   r  ra     c                       e Zd Zej        d             Zej        d             Zej        d             Zej        d             ZdS )'TestSetitemIntoIntegerSeriesNeedsUpcastc                 <    t          g dt          j                  S )NrC   r_   r   r*   r   r  s    r/   rl  z+TestSetitemIntoIntegerSeriesNeedsUpcast.obj  s    iiirw////r1   c                     dS r  r   r  s    r/   r   z+TestSetitemIntoIntegerSeriesNeedsUpcast.key   r  r1   c                 <    t          g dt          j                  S )N)r4   r  r%   r_   )r   r*   int16r  s    r/   r@   z0TestSetitemIntoIntegerSeriesNeedsUpcast.expected  s    kkk2222r1   c                     dS r  r   r  s    r/   r   z.TestSetitemIntoIntegerSeriesNeedsUpcast.raises  r  r1   N	r{   r|   r}   r~   r  rl  r   r@   r   r   r1   r/   r  r    s        ^0 0 ^0 ^  ^ ^3 3 ^3 ^  ^  r1   r  )g      Bg    Bl            c                       e Zd Zej        d             Zej        d             Zej        d             Zej        d             ZdS )TestSmallIntegerSetitemUpcastc                 (    t          g dd          S )NrC   i4r_   r  r  s    r/   rl  z!TestSmallIntegerSetitemUpcast.obj  s    iiit,,,,r1   c                     dS r   r   r  s    r/   r   z!TestSmallIntegerSetitemUpcast.key  r  r1   c                 F    |dz  dk    rd}nd}t          |ddg|          S )Nr4   r   f8r  r6   r%   r_   r  )r-   ra  rG   s      r/   r@   z&TestSmallIntegerSetitemUpcast.expected  s4    7a<<EEEsAqk////r1   c                     dS r  r   r  s    r/   r   z$TestSmallIntegerSetitemUpcast.raises   r  r1   Nr%  r   r1   r/   r'  r'    s         ^- - ^- ^  ^ ^0 0 ^0 ^  ^  r1   r'  c                   N    e Zd Zej        d             Zej        d             ZdS )CoercionTestc                     dS r  r   r  s    r/   r   zCoercionTest.key(  r  r1   c                 L    t          |          }|||<   t          ||          S )Nr_   )r   r   )r-   rl  r   ra  	exp_dtyperg   s         r/   r@   zCoercionTest.expected,  s)    CyyS	d),,,,r1   N)r{   r|   r}   r~   r  r   r@   r   r1   r/   r/  r/  %  sN         ^  ^ ^- - ^- - -r1   r/  zval,exp_dtype,raisesc                   .    e Zd Zej        d             ZdS )TestCoercionInt8c                 <    t          g dt          j                  S )Nr  r_   r   r  s    r/   rl  zTestCoercionInt8.obj9  s    lll"'2222r1   Nr{   r|   r}   r~   r  rl  r   r1   r/   r4  r4  3  s1         ^3 3 ^3 3 3r1   r4  )r4   皙?      ?      ?Tr2  c                   N    e Zd Zej        d             Zej        d             ZdS )TestCoercionObjectc                 2    t          g dt                    S )Nr3   r5   r   dr_   )r   rH   r  s    r/   rl  zTestCoercionObject.objB  s    ***&9999r1   c                     dS r  r   r  s    r/   r   zTestCoercionObject.raisesF  r  r1   Nr{   r|   r}   r~   r  rl  r   r   r1   r/   r:  r:  >  sN         ^: : ^: ^  ^  r1   r:  ena_valuec                   .    e Zd Zej        d             ZdS )TestCoercionStringc                 X    t          g dt          t          j                            S )Nr<  rA  r_   )r   r   r*   r+   r  s    r/   rl  zTestCoercionString.objS  s)    ***+rv2N2N2NOOOOr1   Nr6  r   r1   r/   rD  rD  K  s6         ^P P ^P P Pr1   rD  r7  r8  c                   .    e Zd Zej        d             ZdS )TestCoercionComplexc                 $    t          g d          S )N)r8  y       @       @y      @      @y      @      @r  r  s    r/   rl  zTestCoercionComplex.objc  s    666777r1   Nr6  r   r1   r/   rG  rG  X  s1         ^8 8 ^8 8 8r1   rG  rb  c                   .    e Zd Zej        d             ZdS )TestCoercionBoolc                 2    t          g dt                    S )N)TFTFr_   )r   r  r  s    r/   rl  zTestCoercionBool.obju  s    000====r1   Nr6  r   r1   r/   rJ  rJ  h  s1         ^> > ^> > >r1   rJ  c                   .    e Zd Zej        d             ZdS )TestCoercionInt64c                 $    t          g d          S )Nr  r  r  s    r/   rl  zTestCoercionInt64.obj  s    lll###r1   Nr6  r   r1   r/   rM  rM  z  s1         ^$ $ ^$ $ $r1   rM  c                   .    e Zd Zej        d             ZdS )TestCoercionFloat64c                 $    t          g d          S )Nr7  g@gffffff
@g@r  r  s    r/   rl  zTestCoercionFloat64.obj  s    ***+++r1   Nr6  r   r1   r/   rP  rP    s1         ^, , ^, , ,r1   rP  zbnp.float32(1.1) ends up as 1.100000023841858, so np_can_hold_element raises and we cast to float64r/  )marksc                   >     e Zd Zej        d             Z fdZ xZS )TestCoercionFloat32c                 <    t          g dt          j                  S )NrR  r_   )r   r*   float32r  s    r/   rl  zTestCoercionFloat32.obj  s    ***"*====r1   c           	          t                                          |||||||           t          |t                    rt	          d          d S )Nz!xfail not relevant for this test.)superr  rp   r  AssertionError)	r-   rl  r   r@   r   ra  rd   rm  	__class__s	           r/   r  z"TestCoercionFloat32.test_slice_key  sU    sC63ZXXXc5!! 	F !DEEE	F 	Fr1   )r{   r|   r}   r~   r  rl  r  __classcell__)r[  s   @r/   rU  rU    s^        6 ^> > ^>F F F F F F F F Fr1   rU  )zM8[ms]M8[ms, UTC]m8[ms]c                   n    e Zd Zej        d             Zej        d             Zej        d             ZdS ) TestCoercionDatetime64HigherResoc                     t          dddd          }|dk    r3|t          d                              d          z
  }|j        dk    sJ n|d	k    r|                    d
          }t          |          S )Nr`   r  r'   srZ   r#   r$   r^  
1970-01-01zm8[s]r]  rU   )r   r   r&  rG   tz_localizer   )r-   r2  r>   s      r/   rl  z$TestCoercionDatetime64HigherReso.obj  s    CEEE  	,//77<<<C9'''''-''//%((Cc{{r1   c                     t          d                              d          }|dk    r%|t          d                              d          z
  S |dk    r|                    d          S |S )Nz2011-01-02 03:04:05.678msr^  rd  rb  r]  rU   )r   r&  re  )r-   r2  r   s      r/   ra  z$TestCoercionDatetime64HigherReso.val  sl    01199$??  	,//77<<<<-''>>%(((	r1   c                     dS r  r   r  s    r/   r   z'TestCoercionDatetime64HigherReso.raises  r  r1   N)r{   r|   r}   r~   r  rl  ra  r   r   r1   r/   r`  r`    sk         ^  ^ ^  ^ ^  ^  r1   r`  ra   zdatetime64[ns]rt   c                   N    e Zd Zej        d             Zej        d             ZdS )TestCoercionDatetime64c                 B    t          t          dddd                    S )Nr`   r  r'   r"   rc  r  r  s    r/   rl  zTestCoercionDatetime64.obj  s!    jCNNNOOOr1   c                     dS r  r   r  s    r/   r   zTestCoercionDatetime64.raises  r  r1   Nr?  r   r1   r/   rj  rj    sQ         ^P P ^P ^  ^  r1   rj  rO   r]   zdatetime64[ns, US/Eastern]r  c                   N    e Zd Zej        d             Zej        d             ZdS )TestCoercionDatetime64TZc           	      H    d}t          t          ddd|d                    S )NrO   r`   r  r'   r"   rY   r  )r-   rP   s     r/   rl  zTestCoercionDatetime64TZ.obj  s)    jCrPTUUUVVVr1   c                     dS r  r   r  s    r/   r   zTestCoercionDatetime64TZ.raises  r  r1   Nr?  r   r1   r/   rn  rn    sQ         ^W W ^W ^  ^  r1   rn  z12 dayztimedelta64[us]c                   N    e Zd Zej        d             Zej        d             ZdS )TestCoercionTimedelta64c                 >    t          t          dd                    S )Nz1 dayr'   r  )r   r   r  s    r/   rl  zTestCoercionTimedelta64.obj  s    ogq999:::r1   c                     dS r  r   r  s    r/   r   zTestCoercionTimedelta64.raises  r  r1   Nr?  r   r1   r/   rr  rr    sN         ^; ; ^; ^  ^  r1   rr  r   2016Yr   both)closedc                       e Zd Z ej         eddd           edd          g          d             Zej        d	             Zd
S )TestPeriodIntervalCoercionrW   r%   r  r  r4   r&   r  c                 *    t          |j                  S ro   )r   r  r  s     r/   rl  zTestPeriodIntervalCoercion.obj%  s     gm$$$r1   c                     dS r  r   r  s    r/   r   z!TestPeriodIntervalCoercion.raises.  r  r1   N)	r{   r|   r}   r~   r  r   r   rl  r   r   r1   r/   rz  rz    s         V^Lqs;;;N1a  
  % % % ^  ^  r1   rz  c                     t          g dg d          } |                                 }t          j        t          d          5  d|j        d<   d d d            n# 1 swxY w Y   t          j        t          d          5  d|j        d<   d d d            n# 1 swxY w Y   t          j        t          d          5  d|d<   d d d            n# 1 swxY w Y   |                                 }t          j        t          d          5  d|j        d<   d d d            n# 1 swxY w Y   t          j        t          d          5  d|j        d<   d d d            n# 1 swxY w Y   | 	                    d	          }|                                }t          j        t          d          5  d|j        d
<   d d d            n# 1 swxY w Y   t          j        t          d          5  d|j        d
<   d d d            n# 1 swxY w Y   t          j        t          d          5  d|j        d<   d d d            n# 1 swxY w Y   t          j        t          d          5  d|j        d<   d d d            d S # 1 swxY w Y   d S )Nr   r4   r6   r   r7   r   r   g@r5   r4   r  )r5   r  )r4   r   )
r   r:   r~   r   r   r   r;   r|  rR   to_frame)re   rK   orig_dfdfs       r/   
test_20643r  3  s   )))???333D
))++C	y	8	8	8  s               
y	8	8	8                 
y	8	8	8  C               ))++C	y	8	8	8  
               
y	8	8	8                 mmC  G	B	y	8	8	8  h               
y	8	8	8  x               
y	8	8	8                 
y	8	8	8  t                 s   AA #A BB B?CCCD""D&)D&EE#&E#.GG	G	+HH	H(H??II%I==JJc                  <   t          g dg d          } t          t          j        ddgg d          }|                                 }d |j        d<   t          j        ||           |                                 }d |j        d<   t          j        ||           d S )Nr~  r   r7   r4   r6   r   )r   r*   r+   r:   r|  r<   r=   rR   )re   r@   rK   s      r/   test_20643_commentr  X  s     )))???333Drvq!nOOO<<<H
))++CCGAJ3)))
))++CCHQK3)))))r1   c                  ~   t          g d          } t          j        t          d          5  | | dk    xx         dz  cc<   d d d            n# 1 swxY w Y   t          j        t          d          5  | dxx         dz  cc<   d d d            n# 1 swxY w Y   t          j        t          d          5  | j        dxx         dz  cc<   d d d            n# 1 swxY w Y   t          j        t          d          5  | j        dxx         dz  cc<   d d d            n# 1 swxY w Y   t          j        t          d          5  | j        dxx         dz  cc<   d d d            n# 1 swxY w Y   t          j        t          d          5  | j        dxx         dz  cc<   d d d            d S # 1 swxY w Y   d S )NrC   r   r   r6   r   r4   )r   r~   r   r   r;   rR   r|  r   )rK   s    r/   
test_15413r  g  s7   


C	y	8	8	8  C1H               
y	8	8	8  A#               
y	8	8	8  


c


               
y	8	8	8  s               
y	8	8	8  


c


               
y	8	8	8  q			S			                 sk   AAA4BBB7CC C?D!!D%(D%E))E-0E-F22F69F6c                  N   t          j        d                              d          } t          |           }t          j        t          j        t           j                  j                  }t          j        t          d          5  ||d<   d d d            d S # 1 swxY w Y   d S )Nr&   r)  r   r   r   )
r*   r   r  r   r   iinfomaxr~   r   r   rS   rK   ra  s      r/   test_32878_int_itemsizer  ~  s    
)A,,

d
#
#C
++C
(28BH%%)
*
*C	y	8	8	8  A                 s   BB!Bc                  T   t          j        d                              d          } t          |           }t          j        t           j                  j        }|                    d          }t          j        t          d          5  ||d<   d d d            d S # 1 swxY w Y   d S )Nr&   c8c16r   r   r   )
r*   r   r  r   finfor   r  r~   r   r   r  s      r/   test_32878_complex_itemsizer    s    
)A,,

d
#
#C
++C
(2:


"C
**U

C 
y	8	8	8  A                 s   
BB!$B!c                     t          g dg d          }t          j        t          d          5  d | |          d<   d d d            d S # 1 swxY w Y   d S )NrC   r   r7   r   r   testr5   )r   r~   r   r   )
indexer_alrK   s     r/   
test_37692r    s    
///
2
2
2C	y	8	8	8 & &%

3& & & & & & & & & & & & & & & & & &s   AAAc                    t           j        t           j        fD ]}t          dt	          d          |          }t          j        t          d          5  d | |          d<   d d d            n# 1 swxY w Y   t          dt	          d          t                    }t          j        t          d          5   |d          |d<   d d d            n# 1 swxY w Y   t          dt	          d          t           j                  }t          j        d           | |          d<   |j	        t           j        k    sJ t          dt	          d          t           j                  }t          j        d           | |          d<   d S )	Nr   r%   rF   r   r   Tr4   r  )
r*   r   r   r   r   r~   r   r   r  rG   )rd   rG   rK   s      r/   'test_setitem_bool_int_float_consistencyr    s   
 *bh'  QeAhhe444]9O<<< 	' 	'"&KKQ	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' QeAhhd333]9O<<< 	 	U1XXCF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 %(("(
3
3
3C*S//KKQ9     %(("*
5
5
5C(1++KKQs$   A00A4	7A4	:CC	C	c                      t          g dg d          } d| d<   t          g dg dt                    }t          j        | |           d S )	NrC   r   r7   rl   r   )r4   r6   r%   rl   r3   r5   r   r   rF   r  rK   r@   s     r/   $test_setitem_positional_with_castingr    s_    
 ///
2
2
2CCFnnn,>,>,>fMMMH3)))))r1   c                      t          g dg d          } d| d<   t          g dg d          }t          j        | |           d S )NrC   r   r7   r  r   )r4   r6   r%   r  r  r   r  s     r/   .test_setitem_positional_float_into_int_coercesr    s]    
 ///
2
2
2CCFnnn,>,>,>???H3)))))r1   c                     t          g dg d          } | j        j        rJ d| d<   t          g d| j                  }t          j        | |           d| d<   t          g dg d	          }t          j        | |           t          j        t          d                    d d d
         }t          t          t          |                    |          }|	                    t                                        t          dg                    }t          g d|          }d|d<   t          j        ||           t          j        | j        ddgg          }t          t          t          |                    |          }|                                }d|j        d<   d|d<   t          j        ||           d S )Nr  )r7   @r6  ffffff@r7   r!   r%   )r4   r6   r!   r'   r&   )r4   r6   r!   r'   r&   )r7  r  r6  r  g      @r6   r'   )r   r4   r6   r%   r'   r   r   r  Bc   )r   r8   _should_fallback_to_positionalr<   r=   r   r  r   r  r  rH   appendr   r   r   r:   r;   )	rK   r@   iir   	exp_index	expected2r   r   	expected3s	            r/   test_setitem_int_not_positionalr    s    %9%9%9
:
:
:Cy7777 CFmmm39555H3))) CF&&&.G.G.GHHHH3)))		"599	-	-ccc	2B%B..+++D		&!!((s44I)));;;IDG4+++		 #)c3Z!8	9	9B%B..+++D		IIM!DG4+++++r1   c                  J   t          g dg dd          } |                     d                                          }d|g d<   t          g dd          }t	          j        ||           d	| j        g dd
f<   t          d
g di          }t	          j        | |           d S )NrC   )r'   r&   r)   )r3   r5   r5   r   )TFF)r   r&   r)   )r  r:  r!   r3   )r!   r6   r%   )r   popr:   r   r<   r=   r;   assert_frame_equal)r  r?   r@   s      r/   test_setitem_with_bool_indexerr    s     
33	4	4BVVC[[F#$F 9993///H68,,,(*BF$%#zzz*++H"h'''''r1   sizer   )TFFFFitemr  c                    t          j        ||           }t          j        | t                    }t	          |          }|                                dk    rGd}t          j        t          |          5   ||g          ||<   d d d            d S # 1 swxY w Y   d S  ||g          ||<   t	          t          j        | t                              }|||<   t          j
        ||           d S )Nr_   r4   zKcannot set using a list-like indexer with a different length than the valuer   )r*   resizer   r  r   r  r~   r   rR  r<   r=   )	r  r   r  r  	selectionr  rK   r   r@   s	            r/   7test_setitem_bool_indexer_dont_broadcast_length1_valuesr    s3    	$%%I9T'''D
,,C}}!$ 	 ]:S111 	) 	) S$[[C	N	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) dVI")D66677"
sH-----s   5BBBc                  z   t          dd          } t          |           }|                                }t          j        dt
                    }d||<   |j        | j        k    sJ t          j        ||           |	                    |dd           |j        | j        k    sJ t          j        ||           d S )NrW   r%   r  r_   r   Tr   )
r   r   r:   r*   rO  r  rG   r<   r=   r   )r  rK   re   r   s       r/   (test_setitem_empty_mask_dont_upcast_dt64r    s    
\1
-
-
-C
++C88::D8AT"""DCI9	!!!!3%%%HHT5$H'''9	!!!!3%%%%%r1   c                      t          g dt                    } t          g dt                    }g d}||         | |<   t          g dt                    }t          j        | |           d S )N)TTTr_   )FFF)FTFr   )r   r  r<   r=   )s1s2	conditionr@   s       r/   ,test_setitem_bool_dtype_with_boolean_indexerr  ,  s~    	"""$	/	/	/B	%%%T	2	2	2B$$$IyMByM)))666H2x(((((r1   )xrz  r   r   decimalr   numpyr*   r~   pandas.compat.numpyr   pandas.errorsr   pandas.core.dtypes.commonr   pandasr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr<   pandas.tseries.offsetsr   r   r   r   r   r   r  r   rT  rV  r[  r]  r_  rj  r   r   r  r+   r}  rH   r   r  r  r  r  r  r  r  r  r  r   r  r#  r  r'  r/  int32r   r4  r:  rD  
complex128rG  r  rJ  r   rM  rP  rW  r2  r   uint32r  r  uint64rU  r`  rj  rn  rr  rz  r  r  r  r  r  r  r  r  r  r  r  r   r  r  minr   tupler  r  r  r   r1   r/   <module>r     so                         . . . . . . ' ' ' ' ' ' 2 2 2 2 2 2                                           ,       ' ' ' ' ' 'J. J. J. J. J. J. J. J.Z. . . . . . . .8-1 -1 -1 -1 -1 -1 -1 -1`[A [A [A [A [A [A [A [A|! ! ! ! ! ! ! !H. . . . . . . .*B+ B+ B+ B+ B+ B+ B+ B+J    % % %:% % %       2eJ eJ eJ eJ eJ eJ eJ eJP  F>>!Q''((F!Q!Q!QH)   &	
 	
 	
 	F///00FBFArvq"&!RVQGHHE$a  *	
 	
 	
 	F---..FBFD"&%0???E$a  +	
 	
 	
 	F929R==!!FBFBFBFBFBFAq!QJKKE$NN%	
 	
 	
 	F999FBFAq>""#	
 	
 	
 	FE7OOFBF86***/	
 	
 	
 	FE4=!!FBFD>000$	
 	
 	
k=@ @B	 	 	 	 	$= 	 	C@ @B	" " " " "(A " " "J% % % % %6 % % %P    8   62- 2- 2- 2- 2-%> 2- 2- 2-j    +D   @  
					FFBFAq>223		 	 &&"&#s);"<"<= FHHT1a((((4A*>*>qRS@T@TUVVFC$1--xxa/C/CDEE	

 
%%%	&	&/C/C/C(D(DE     6   0 0 0 0 04M 0 0 0f    (A   : 	3*		u%	3*		t$BHaeQUQY'rz:::	

 
" " " " "/H " "
 
"* hbhsmm 455    .G   65$  A A ABB    $=   CB.- - - - -, - - - bhqkk27D!HBHTNNBHd#CD 3 3 3 3 3| 3 3	 3  6 6 677vh//       0/ 87 	
FD	kk26***E2 P P P P P P P P 	
BM5!	bmU#	&	vt	 8 8 8 8 8, 8 8 8 	
FD	fd	
FD	fd		tU
 
> > > > >| > >
 
> 	
BHe	bj$	%	vt	 $ $ $ $ $ $ $ $ 	
BJ	bj% 	%	vt	 , , , , ,, , , , 	
BJJ+##""D $  			
 		
 		
 
%	vt	!bj%(	1rz5) 
828BI&&*	+	+RZ>	1rz5)	!bj%(+ 4
F 
F 
F 
F 
F, 
F 
F5 4
F        |   2 	<	 	 "2E:	
FD	fd 	 	 	 	 	\ 	 	 	 	<L	1	1	13OQVW	<L	1	1	13OQVW	<	 	 &$/	
FD	 		 	 	 	 	| 	 		 		 	8		/7	
FD	fd     l    	E66&s+++XXa6-J-J-JK  vh//       0/  " " "J* * *  .    & & && & &0	* 	* 	*	* 	* 	*, , ,D( ( ( q!--
///$H  
S"&("(5//-xrx/BC  4 788. . 98   .-.8& & &) ) ) ) )r1   