
    ]j              
          d dl Z d dlZd dlZd dlmc mZ d dlZ	 G d d      Z
ej                  j                  dd ej                  d ej                  d            g      ej                  j                  d	d
d
gg dg      d               Zej                  j                  dd ej                  d ej                  d            g      ej                  j                  d	d
d
gg dg      d               Zy)    Nc            
          e Zd Zd Zddddej
                   ej                  dd       ej                  dd      gZ	e
j                  j                  dg e	d	d
 ej                  d	       ej                  d	            d        Ze
j                  j                  dg e	dd ej                  d            d        Ze
j                  j                  dg e	d      d        Zy)TestSetitemValidationc                 (   d|d|j                    d}t        j                  |      }t        j                  t
        |      5  ||d<   d d d        t        j                  t
        |      5  ||d d  d d d        t        j                  t
        |      5  ||dg<   d d d        t        j                  |      }t        j                  t
        |      5  ||d<   d d d        y # 1 sw Y   xY w# 1 sw Y   ~xY w# 1 sw Y   `xY w# 1 sw Y   y xY w)NzInvalid value 'z' for dtype ''matchr   )dtypereescapepytestraises	TypeErrorpdSeries)selfarrinvalidmsgsers        R/root/env/lib/python3.12/site-packages/pandas/tests/arrays/masked/test_indexing.py_check_setitem_invalidz,TestSetitemValidation._check_setitem_invalid   s    {-		{!Diin]]9C0 	CF	 ]]9C0 	CF	 ]]9C0 	CH	 iin]]9C0 	CF	 	%	 		 		 		 	s0   C$-C0C<D$C-0C9<DDy      ?       @True1z1.0NaTnsr      g      ?c                 Z    t        j                  g dd      }| j                  ||       y )N)TFNbooleanr	   r   arrayr   )r   r   r   s      r   #test_setitem_validation_scalar_boolz9TestSetitemValidation.test_setitem_validation_scalar_bool/   s%     hh*)<##C1    Tg      ?c                 Z    t        j                  g d|      }| j                  ||       y N)r      Nr   r    )r   r   any_int_ea_dtyper   s       r   "test_setitem_validation_scalar_intz8TestSetitemValidation.test_setitem_validation_scalar_int6   s#    hh|+;<##C1r#   c                 Z    t        j                  g d|      }| j                  ||       y r%   r    )r   r   float_ea_dtyper   s       r   $test_setitem_validation_scalar_floatz:TestSetitemValidation.test_setitem_validation_scalar_float;   s"    hh|>:##C1r#   N)__name__
__module____qualname__r   r   r   np
datetime64timedelta64_invalid_scalarsr   markparametrizeint64float64r"   r(   r+    r#   r   r   r      s   4 	
eT"ud# [[J%JqJ#Jxrxx{JJBJJqMJ22 [[Y(W*:(WD(W#(WzrzzRU(WX2 Y2 [[Y(A*:(AD(AB2 C2r#   r   r	   Float64zfloat64[pyarrow]pyarrow)marksindexerr   )FTFc                     t        j                  dt         j                  dg|       }t        j                  ||<   |st        j
                  |d         sJ y |d   t         j                  u sJ y )Nr   r   r   )r   r!   NAr/   nanisnan)r	   r;   using_nan_is_nar   s       r   !test_setitem_nan_in_float64_arrayrA   A   sX     ((Aruua=
.C66CLxxA1vr#   Int64int64[pyarrow]c                 t   t        j                  g d|       }|sgt        }d}| dk(  rdd l}|j                  j
                  }d}t        j                  ||      5  t        j                  ||<   d d d        |d   dk(  sJ y t        j                  ||<   |d   t         j                  u sJ y # 1 sw Y   ?xY w)	N)r   r   r&   r   z%Invalid value 'nan' for dtype 'Int64'rC   r   z%Could not convert nan with type floatr   r   )r   r!   r   r9   libArrowInvalidr   r   r/   r>   r=   )r	   r;   r@   r   errr   pas          r   test_setitem_nan_in_int64_arrayrI   S   s     ((9E
*C5$$ &&%%C9C]]3c* 	"66CL	"1v{{vvG1v	" 	"s   B..B7)r
   numpyr/   r   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r3   r4   param
skip_if_norA   rI   r7   r#   r   <module>rR      s   	   ) ) 32 32l '}r}}Y/GH Q-A$BC D %]R]]9-EF Q-A$BC Dr#   