
    4iE                     H    S SK rS SKrS SKJr  S SKrS SKJr	   " S S5      r
g)    N)is_hashablec                   j   \ rS rSr\R
                  " S S S S S S S // S	QS
9S 5       r\R
                  " SS9S 5       rS rS r	S r
S rS rS r\R                  R                  SSS/5      S 5       rS rS rS rS rS rS r\R                  R                  S\R0                  " / S Q5      \R0                  " / S QS!S"9\R0                  " SSS\R4                  \R4                  /S!S"9// S#QS$9S% 5       rS& rS' r\R                  R                  S(/ S)Q\R0                  " / S)QS*S"9\R0                  " / S)Q5      // S+QS$9S, 5       r\R                  R                  S(/ S-Q\R0                  " / S-QS*S"9\R0                  " / S-Q5      // S+QS$9S. 5       r\R                  R                  S(S/S0S1\R4                  /\R0                  " S/S0S1\R4                  /S*S"9/S2S3/S$9\R                  R                  S4SS5/5      S6 5       5       r \R                  R                  S7SS5/5      \R                  R                  SSS8/5      S9 5       5       r!\R                  R                  SSS8/5      S: 5       r"S; r#S< r$S= r%S> r&S? r'S@ r(SA r)SB r*SC r+SD r,SE r-SF r.SG r/SH r0SI r1SJ r2SK r3SL r4SM r5SN r6SO r7SPr8g8)QBaseSetitemTests
   c                     U R                   $ Nindexxs    e/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/pandas/tests/extension/base/setitem.py<lambda>BaseSetitemTests.<lambda>   s    agg    c                 ,    [        U R                  5      $ r   )listr
   r   s    r   r   r      s    d177mr   c                     [        S 5      $ r   )slicer   s    r   r   r      s    eDkr   c                 ,    [        S[        U 5      5      $ )Nr   )r   lenr   s    r   r   r      s    eAs1v&r   c                 *    [        [        U 5      5      $ r   )ranger   r   s    r   r   r      s    eCFmr   c                 <    [        [        [        U 5      5      5      $ r   )r   r   r   r   s    r   r   r      s    d5Q=)r   c                 F    [         R                  " [        U 5      [        S9$ Ndtype)nponesr   boolr   s    r   r   r      s    bggc!fD1r   )r
   zlist[index]
null_slice
full_slicer   zlist(range)mask)paramsidsc                     UR                   $ )z
Fixture for an indexer to pass to obj.loc to get/set the full length of the
object.

In some cases, assumes that obj.index is the default RangeIndex.
)param)selfrequests     r   full_indexerBaseSetitemTests.full_indexer   s    6 }}r   T)autousec                    UR                   (       au  UR                  nUR                  R                  S5      S   S:X  a  g UR                  R
                  R                  S5      S   nUS:X  a  [        R                  " S5        g g g )N[r   test_is_immutable.r   z4__setitem__ test not applicable with immutable dtype)_is_immutablenodenamesplitfunction__qualname__pytestskip)r(   r   r)   r2   
defined_ins        r   skip_if_immutable"BaseSetitemTests.skip_if_immutable(   su    <<Dyys#A&*== 
 3399#>qAJ//RS 0 r   c                     UR                   R                  (       a,  [        R                  " [        5         US   US'   S S S 5        g US   US'   US   US   :X  d   eg ! , (       d  f       g = f)Nr      )r   r1   r7   raises	TypeError)r(   datas     r   r/   "BaseSetitemTests.test_is_immutable8   s^    ::##y)q'Q *) 1gDG7d1g%%%	 *)s   	A
A-c                 j    U(       a  [         R                  " U5      nUS   US'   US   US   :X  d   eg Nr=   r   pdSeriesr(   r@   box_in_seriess      r   test_setitem_scalar_series+BaseSetitemTests.test_setitem_scalar_series@   s5    99T?Dq'QAw$q'!!!r   c                     U(       a  [         R                  " U5      nUR                  5       nUS   US   /USS/'   US   US   :X  d   eUS   US   :X  d   eg rC   )rE   rF   copyr(   r@   rH   originals       r   test_setitem_sequence&BaseSetitemTests.test_setitem_sequenceF   sc    99T?D99;Qa)aVAw(1+%%%Aw(1+%%%r   c                 &   [         R                  " U5      nUR                  5       nUS   /nU(       a  UR                  XQR                  S9nSn[
        R                  " [        UR                  S5      S9   XSSS/'   S S S 5        [        R                  " X45        [
        R                  " [        UR                  S5      S9   XS[        S5      '   S S S 5        [        R                  " X45        g ! , (       d  f       Ny= f! , (       d  f       N6= f)	Nr   r   z5cannot set using a {} indexer with a different lengthz	list-likematchr=   r      )rE   rF   rL   _from_sequencer   r7   r>   
ValueErrorformattmassert_series_equalr   )r(   r@   as_arrayserrN   valuexprs          r   .test_setitem_sequence_mismatched_length_raises?BaseSetitemTests.test_setitem_sequence_mismatched_length_raisesO   s    iio88:a	''ZZ'@EE]]:SZZ-DEAK F 	s-]]:SZZ-@A!aM B
s- FE
 BAs   7C1D1
C?
Dc                     U(       a  [         R                  " U5      nUR                  5       n/ U[        R                  " / [
        S9'   [        R                  " X5        g r   )rE   rF   rL   r   arrayintrX   assert_equalrM   s       r   test_setitem_empty_indexer+BaseSetitemTests.test_setitem_empty_indexer`   s>    99T?D99;(*RXXb$%
'r   c                     U(       a  [         R                  " U5      nUS   USS/'   US   US   :X  d   eUS   US   :X  d   eg )N   r   r=   rD   rG   s      r    test_setitem_sequence_broadcasts1BaseSetitemTests.test_setitem_sequence_broadcastsg   sO    99T?DAwaVAw$q'!!!Aw$q'!!!r   setterlocilocc                 r    [         R                  " U5      n[        X25      nUS   US'   US   US   :X  d   eg rC   )rE   rF   getattr)r(   r@   rj   arrs       r   test_setitem_scalar$BaseSetitemTests.test_setitem_scalarn   s<    iio%Gq	1va   r   c                     [         R                  " [        R                  " [	        U5      5      US.5      nUS   UR
                  S'   UR
                  S   US   :X  d   eg )NABr=   r   ru   )rE   	DataFramer   aranger   rk   r(   r@   dfs      r   test_setitem_loc_scalar_mixed.BaseSetitemTests.test_setitem_loc_scalar_mixedu   sM    \\		#d) 44@Aavvvf~a(((r   c                     [         R                  " SU05      nUS   UR                  S'   UR                  S   US   :X  d   eg )Nru   r=   r   ru   rE   rw   rk   ry   s      r   test_setitem_loc_scalar_single/BaseSetitemTests.test_setitem_loc_scalar_singlez   s?    \\3+&q'wvvg$q')))r   c                     [         R                  " XS.5      nUS   UR                  S'   UR                  S   US   :X  d   eg )Nrs   r=   r~   r   ry   s      r   ,test_setitem_loc_scalar_multiple_homogoneous=BaseSetitemTests.test_setitem_loc_scalar_multiple_homogoneous   s>    \\01q'wvvg$q')))r   c                     [         R                  " [        R                  " [	        U5      5      US.5      nUS   UR
                  S'   UR                  S   US   :X  d   eg )Nrs   r=   r   r=   rv   )rE   rw   r   rx   r   rl   rk   ry   s      r   test_setitem_iloc_scalar_mixed/BaseSetitemTests.test_setitem_iloc_scalar_mixed   sM    \\		#d) 44@AQvvf~a(((r   c                     [         R                  " SU05      nUS   UR                  S'   UR                  S   US   :X  d   eg )Nru   r=   )	   r   r   ru   rE   rw   rl   rk   ry   s      r   test_setitem_iloc_scalar_single0BaseSetitemTests.test_setitem_iloc_scalar_single   s?    \\3+&Qvvf~a(((r   c                     [         R                  " XS.5      nUS   UR                  S'   UR                  S   US   :X  d   eg )Nrs   r=   )r   r=   r   r   ry   s      r   -test_setitem_iloc_scalar_multiple_homogoneous>BaseSetitemTests.test_setitem_iloc_scalar_multiple_homogoneous   s>    \\01Qvvf~a(((r   r#   )TTTFFbooleanr   )numpy-arrayzboolean-arrayzboolean-array-na)r%   c                     US S R                  5       nUR                  / SQ5      nU(       a,  [        R                  " U5      n[        R                  " U5      nUS   XB'   [        R
                  " XT5        g N   r   r   r   rT      r   rL   takerE   rF   rX   rc   )r(   r@   r#   rH   ro   expecteds         r   test_setitem_mask"BaseSetitemTests.test_setitem_mask   sX     2Ahmmo88O,))C.Cyy*HG	
&r   c                    [         R                  " SS/5      nU(       a  [        R                  " U5      n[        R
                  " [        SS9   US   X'   S S S 5        [        R                  " USS9n[        R
                  " [        SS9   US   X'   S S S 5        g ! , (       d  f       NM= f! , (       d  f       g = f)NTFzwrong lengthrR   r   r   r   )r   ra   rE   rF   r7   r>   
IndexErrorr(   r@   rH   r#   s       r   test_setitem_mask_raises)BaseSetitemTests.test_setitem_mask_raises   s    xxu&99T?D]]:^<aDJ = xxI.]]:^<aDJ =<	 =< =<s   BB/
B,/
B=c                     [         R                  " [        R                  " UR                  SS9SS9nSUS S& [         R
                  USS& U(       a  [         R                  " U5      nUS   X'   US S US   :H  R                  5       (       d   eg )Nr    r   r   TrT   r   r   )rE   ra   r   zerosshapeNArF   allr   s       r   'test_setitem_mask_boolean_array_with_na8BaseSetitemTests.test_setitem_mask_boolean_array_with_na   sz    xx6:)LRaEEQq	99T?D!W
RaDG#((****r   idx)r   r=   rg   Int64)r   integer-arrayr   c                     US S R                  5       nUR                  / SQ5      nU(       a,  [        R                  " U5      n[        R                  " U5      nUS   XB'   [        R
                  " XE5        g r   r   r(   r@   r   rH   ro   r   s         r   test_setitem_integer_array+BaseSetitemTests.test_setitem_integer_array   sX     2Ahmmo99_-))C.Cyy*Hq6
&r   )r   r   r=   c                    US S R                  5       nUR                  / SQ5      nU(       a,  [        R                  " U5      n[        R                  " U5      nUS   US   US   /XB'   [        R
                  " XE5        g )Nr   )rg   rT   rg   rT   r   rg   rT   r   r   s         r   'test_setitem_integer_array_with_repeats8BaseSetitemTests.test_setitem_integer_array_with_repeats   sg     2Ahmmo99_-))C.Cyy*HFCFCF+
&r   r   r=   rg   r   r   rH   Fc           
      N   UR                  5       nSn[        nU(       aL  [        R                  " U[	        [        U5      5       Vs/ s H  n[        SU-   5      PM     snS9nSn[        n[        R                  " XeS9   US   XB'   S S S 5        g s  snf ! , (       d  f       g = f)Nz9Cannot index with an integer indexer containing NA valuesd   r	   0rR   r   )
rL   rV   rE   rF   r   r   chrKeyErrorr7   r>   )r(   r@   r   rH   ro   msgerris           r   (test_setitem_integer_with_missing_raises9BaseSetitemTests.test_setitem_integer_with_missing_raises   s     iikI ))DuSY?O(P?O!S1W?O(PQCCC]]3*1vCH +*	 )Q +*s   B
 B
B$as_callableNc                   ^ [         R                  " U5      n[        R                  " [	        U5      [
        S9mSTS S& U(       a  U4S jnOTnU(       a  [        XC5      nOUnUSS Xe'   USS XE'   US   US   :X  d   eUS   US	   :X  d   eg )
Nr   Trg   c                    > T$ r    )r   r#   s    r   r   <BaseSetitemTests.test_setitem_mask_aligned.<locals>.<lambda>   s    dr   r      r   r=      rE   rF   r   r   r   r    rn   )r(   r@   r   rj   r[   mask2targetr#   s          @r   test_setitem_mask_aligned*BaseSetitemTests.test_setitem_mask_aligned   s     iioxxD	.Ra"EES)F FQq	!AY
1va   1va   r   c                     [         R                  " U5      n[        R                  " [	        U5      [
        S9nSUS S& U(       a  [        X25      nOUnUS   XT'   US   US   :X  d   eUS   US   :X  d   eg )Nr   Trg   r   r   r=   r   )r(   r@   rj   r[   r#   r   s         r   test_setitem_mask_broadcast,BaseSetitemTests.test_setitem_mask_broadcast  sw    iioxxD	.RaS)FFAw1va   1va   r   c                    [         R                  " SU05      nUR                  5       nSUS'   [         R                  " US/[        U5      -  S.5      n[        R
                  " X45        UR                  5       nSUR                  S S 2S4'   [        R
                  " X45        XS'   [         R                  " XS.5      n[        R
                  " X45        g Nrt   r=   ru   rs   )rE   rw   rL   r   rX   assert_frame_equalrk   r(   r@   rz   resultr   s        r   test_setitem_expand_columns,BaseSetitemTests.test_setitem_expand_columns   s    \\3+&s<<d!s4y AB
f/

1c6
f/ s<<d 67
f/r   c                 ^   [         R                  " SS/[        U5      -  05      nUR                  5       nXS'   [         R                  " S/[        U5      -  US.5      n[        R
                  " X45        UR                  5       nXR                  S S 2S4'   [        R
                  " X45        g r   )rE   rw   r   rL   rX   r   rk   r   s        r   "test_setitem_expand_with_extension3BaseSetitemTests.test_setitem_expand_with_extension0  s    \\3c$i01s<<qcCIoD AB
f/!

1c6
f/r   c                    [        US   5      (       d  [        R                  " S5        UR                  5       n[        R
                  " S[        [        U5      5      0US9nUR                  S S nUS   nUS   n[        U5      S-
  UR                  U'   [        R                  " X25        [        U5      S-
  UR                  U'   [        R                  " XBS   5        g )Nr   z)Test does not apply to non-hashable data.rt   r	   r=   )r   r7   r8   uniquerE   rw   r   r   rl   rk   rX   r   rY   )r(   r@   r   rz   r[   items         r   8test_loc_setitem_with_expansion_preserves_ea_index_dtypeIBaseSetitemTests.test_loc_setitem_with_expansion_preserves_ea_index_dtype;  s    47##KKCD{{}<<eCI&6 7tD]]3BgBx4y1}t
b+D	A
sSM2r   c                     [         R                  " SS/[        U5      -  05      nS[        US S 5       S[        U5       S3n[        R                  " [
        US9   US S US'   S S S 5        g ! , (       d  f       g = f)	Nrt   r=   zLength of values \(r   z$\) does not match length of index \(z\)rR   ru   )rE   rw   r   r7   r>   rV   )r(   r@   rz   r]   s       r   !test_setitem_frame_invalid_length2BaseSetitemTests.test_setitem_frame_invalid_lengthK  su    \\3c$i01"3tBQx=/ 2114R	= 	 ]]:S12AhBsG 211s   	A//
A=c                     [         R                  " US S SS/S9n[         R                  " UR                  SS/5      UR                  S9nUS   US'   [        R
                  " X#5        g )Nrg   )r   r   r   r	   r=   )rE   rF   r   r
   rX   rY   )r(   r@   r[   r   s       r   test_setitem_tuple_index)BaseSetitemTests.test_setitem_tuple_indexT  sY    iiRa(8999TYY1v.cii@1gF
s-r   c                     US S R                  5       nUR                  / SQ5      nU(       a,  [        R                  " U5      n[        R                  " U5      nUS   US S& [        R
                  " X45        g )Nr   r   r   rT   r   )r(   r@   rH   ro   r   s        r   test_setitem_slice#BaseSetitemTests.test_setitem_sliceZ  sZ    2Ahmmo99_-))C.Cyy*Hq'BQ
&r   c                    US S R                  5       n[        R                  " U/ SQS9n[        R                  " UR                  / SQ5      UR                  S9nUR                  5       nUS   UR
                  S S& [        R                  " XT5        UR                  5       nUS   UR                  S S& [        R                  " XT5        g )Nr   )abcder	   r   r   rT   r   )	rL   rE   rF   r   r
   rl   rX   rc   rk   )r(   r@   ro   sr   r   s         r   test_setitem_loc_iloc_slice,BaseSetitemTests.test_setitem_loc_iloc_sliced  s    2AhmmoIIc!:;99TYY7qwwGq'BQ
)7

4C
)r   c                     US S n[         R                  " [        5         US S US S& S S S 5        g ! , (       d  f       g = f)Nr   rg   r=   )rX   external_error_raisedrV   r(   r@   ro   s      r   )test_setitem_slice_mismatch_length_raises:BaseSetitemTests.test_setitem_slice_mismatch_length_raisesq  s8    2Ah%%j1"1gCG 211s	   	2
A c                 l    US S R                  5       nUSS  US S& [        R                  " X!SS  5        g )Nr   )rL   rX   assert_extension_array_equalr   s      r   test_setitem_slice_array)BaseSetitemTests.test_setitem_slice_arrayv  s8    2Ahmmors)BQ
''"#Y7r   c                     US S R                  5       n[        R                  " [        5         USS/   US'   S S S 5        g ! , (       d  f       g = f)Nr   r   r=   )rL   rX   r   rV   r   s      r   &test_setitem_scalar_key_sequence_raise7BaseSetitemTests.test_setitem_scalar_key_sequence_raise{  s>    2Ahmmo%%j1!Q[CF 211s   A
Ac                 v    UR                  5       nUS S  nUS   US'   US   US   :X  d   eUS   US   :X  d   eg rC   )view)r(   r@   view1view2s       r   test_setitem_preserves_views-BaseSetitemTests.test_setitem_preserves_views  sO    		Qq'QQx47"""Qx47"""r   c                     [         R                  " [         R                  " U5      5      =p4[         R                  " UR                  S9nU" U5      nUS   UR                  US4'   [
        R                  " XT5        g )Nr	   r   )rE   rw   rF   r
   rk   rX   r   )r(   r@   r*   rz   r   r   keys          r   ,test_setitem_with_expansion_dataframe_column=BaseSetitemTests.test_setitem_with_expansion_dataframe_column  s[    RYYt_55BHH-2U

36
f/r   c                    [         R                  " SUS S 05      nUS   UR                  S'   [         R                  " SUS S 05      n[        R                  " X45        X#R                  S'   [         R                  " S[         R
                  " US   US   U/UR                  S905      n[        R                  " X45        g )Nr@   r=   )r=   r@   rg   )rg   r@   r   r   )rE   rw   rk   rX   r   rF   r   )r(   r@   na_valuerz   r   s        r   test_setitem_with_expansion_row0BaseSetitemTests.test_setitem_with_expansion_row  s    \\648,- Gy<<bq 23
b+ %y<<RYYQa(;4::NO
 	b+r   c                 >   [         R                  " USS9n[         R                  " UR                  [        SS9nU" U5      nX4R                  U'   [         R                  " UR                  [        5      UR                  S[        S9n[        R                  " XF5        g )Nr@   r3   )r
   r   r3   )r
   r3   r   )rE   rF   r
   objectrk   astyperX   rY   )r(   r@   r*   r[   r   r  r   s          r   test_setitem_series$BaseSetitemTests.test_setitem_series  ss    ii6*&vF 3

399KKsyyvV
 	v0r   c                    [         R                  " SU05      nUR                  5       nUR                  5       UR                  S S & [        R
                  " X#5        UR                  S S R                  5       UR                  S S& [        R
                  " X#5        UR                  UR                  S S & [        R
                  " X#5        UR                  S S UR                  S S& [        R
                  " X#5        g )Nrt   r   )rE   rw   rL   rl   rX   r   values)r(   r@   rz   origs       r   test_setitem_frame_2d_values-BaseSetitemTests.test_setitem_frame_2d_values  s    \\3+&wwyWWY

b'wws|((*
b'YY

b'yy"~
b'r   c                     [         R                  " USS9n[        R                  " [	        U5      5      n[        R
                  " US5      nX#   nUS	 [        R                  " X$5        g )Nr@   r  r=   )rE   rF   r   rx   r   deleterX   rY   )r(   r@   r[   takerr   s        r   test_delitem_series$BaseSetitemTests.test_delitem_series  sP    ii6*		#c(#		%#:F
s-r   c                     [         R                  " [        [        4S S9   X!S'   S S S 5        [         R                  " [        [        4S S9   X!S S & S S S 5        g ! , (       d  f       N;= f! , (       d  f       g = f)NrR   r   )r7   r>   rV   r?   )r(   r@   invalid_scalars      r   test_setitem_invalid%BaseSetitemTests.test_setitem_invalid  s[    ]]J	2$?$G @ ]]J	2$?$G @? @? @?s   AA+
A(+
A9c                 p   UR                  5       n[        R                  " XS.5      nUR                  SS/S S 24   R                  UR                  SS/S S 24'   UR                  SS S 24   US   :H  R                  5       (       d   eUR                  SS S 24   US   :H  R                  5       (       d   eg )N)r   r   r=   r   )rL   rE   rw   rk   r  r   )r(   r@   rN   rz   s       r   test_setitem_2d_values'BaseSetitemTests.test_setitem_2d_values  s    99;\\01FFAq619-441vqyq!t+002222q!t+002222r   c           	      h   UR                   SL d   eSUl         UR                   SL d   eUR                  5       nUR                   SL d   e[        R                  " [        SS9   US   US'   S S S 5        [        R                  " [        SS9   US   USS& S S S 5        [        R                  " [        SS9   US   U[
        R                  " S/[        U5      -  5      '   S S S 5        [        R                  " X5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NG= f)NFTzCannot modify read-only arrayrR   r=   r   rT   )
	_readonlyrL   r7   r>   rV   r   ra   r   rX   r   )r(   r@   	data_origs      r   test_readonly_property'BaseSetitemTests.test_readonly_property  s    ~~&&&~~%%%IIK	""e+++]]:-LM1gDG N ]]:-LMQD1I N ]]:-LM15aD4&3t9,-. N 	''8 NM NM NMs$   $	D	D8*D#
D
D #
D1c                 |   SUl         [        R                  " U5      nUR                  R                  (       d   e[        R
                  " U5      n[        R
                  " U5      n[        R                  " X45      (       a  UR                  R                  (       a   eg UR                  R                  (       d   eg )NT)r"  r   ra   flags	writeableasarrayshares_memoryr(   r@   ro   arr1arr2s        r   'test_readonly_propagates_to_numpy_array8BaseSetitemTests.test_readonly_propagates_to_numpy_array  s     hhtnyy"""" zz$zz$D''zz+++++::''''r   c                    SUl         UR                  SS9nUR                  R                  (       d   eUR                  SS9nUR                  SS9n[        R
                  " X45      (       a  UR                  R                  (       a   eOUR                  R                  (       d   eUR                  5       R                  5       (       a  UR                  SUS   S9n[        UR                  [        R                  5      (       a8  UR                  R                  S:X  a  UR                  R                  (       a   eg UR                  R                  (       d   eg g )NT)rL   Fr   )rL   r  f)r"  to_numpyr'  r(  r   r*  isnaany
isinstancer   rE   
ArrowDtypekindr+  s        r   .test_readonly_propagates_to_numpy_array_method?BaseSetitemTests.test_readonly_propagates_to_numpy_array_method   s	    mmm&yy"""" }}%}(}}%}(D''zz+++++::'''' 99;??--UT!W-=C$**bmm44C9O 99.....yy**** r   r   )9__name__
__module__r6   __firstlineno__r7   fixturer*   r:   r/   rI   rO   r^   rd   rh   markparametrizerp   r{   r   r   r   r   r   r   ra   rE   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r$  r.  r8  __static_attributes__r   r   r   r   r   
   s1   ^^#!&#)1

()( ^^D!T "T&"&."(" [[Xv7! 8!)
*
*
)
)
)
 [[HH56HH5YGHHdD$ruu5YG	

 A  ''!
+ [[	BHHYg68KL4  
	'
	' [[	BHHYg68KL4  
	'
	' [[1beeHHaAruu%W5	
 _%   [[_tUm< =  [[]T5M:[[Xt}5! 6 ;!. [[Xt}5! 6!0 	03 .'*
8
!
#0,1("	.%39(( +r   r   )numpyr   r7   pandas.core.dtypes.commonr   pandasrE   pandas._testing_testingrX   r   r   r   r   <module>rF     s       1  N+ N+r   