+
    xȇi-G                        ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t
 ^ RIHt ^ RIHtHtHt ]P"                  P%                  RR7      t]P(                  R 4       t]P(                  R 4       t]P(                  R 4       t]P(                  R	 4       t]P(                  R
 4       t]P(                  R 4       t]P(                  R 4       t ! R R]P8                  4      tR tR tR t R# )    N)base)	JSONArray	JSONDtype	make_data
Unhashablereasonc                      \        4       # N)r        u/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/extension/json/test_json.pydtyper      s
    ;r   c                     \        ^
4      p \        V ^ ,          4      \        V ^,          4      8X  d   \        ^
4      p K4  \        V 4      # )z'Length-10 JSONArray for semantics test.)r   lenr   )datas    r   r   r      s:     R=D d1g,#d1g,
&}T?r   c                      \        / R^
/.4      # )zLength 2 array with [NA, Valid]ar   r   r   r   data_missingr   ,   s     b3)_%%r   c                  .    \        R ^/R^/R^R^/.4      # )bcr   r   r   r   r   data_for_sortingr   2   s%    sAha33*:;<<r   c                  &    \        R ^// R^/.4      # )r   r   r   r   r   r   data_missing_for_sortingr   7   s    sAhS!H-..r   c                  "    \         P                  # r   )operatoreqr   r   r   na_cmpr    <   s    ;;r   c                  H    \        R ^/R ^// / R^ R^/R^ R^/R ^/R^/.4      # )r   r   r   r   r   r   r   data_for_groupingr"   A   sN    !H!H!S!!S!!H!H		
 r   c                   8  a a ] tR t^Qt o]P
                  P                  RR7      V 3R l4       t]P
                  P                  RR7      V 3R l4       t]P
                  P                  RR7      V 3R l4       t	]P
                  P                  RR7      V 3R l4       t
]P
                  P                  R	R7      V 3R
 l4       t]P
                  P                  RR7      V 3R l4       t]P
                  P                  RR7      V 3R l4       t]P
                  P                  RR7      V 3R l4       t]P
                  P                  RR7      V 3R l4       tV 3R lt]P
                  P                  RR7      V 3R l4       t]P
                  P                  RR7      V 3R l4       t]P
                  P'                  RR. ReO. ReO3R. RfO. RfO3R. RgO. RhO3R. RiO. RjO3R. ReO. RkO3R. RfO. RkO3R. RgO. RgO3R. RiO. RgO3.4      V 3R l4       tV 3R lt]V 3R l4       t]P
                  P                  RR7      V 3R l4       t]P
                  P                  RR]R 7      V 3R! l4       t]P
                  P                  R"R7      V 3R# l4       t]P
                  P                  R$R7      V 3R% l4       t]P
                  P                  R$R7      V 3R& l4       t]P
                  P=                  R'4      V 3R( l4       t]P
                  P                  R)R7      V 3R* l4       t ]P
                  P                  R+R7      V 3R, l4       t!]V 3R- l4       t"]V 3R. l4       t#]V 3R/ l4       t$]V 3R0 l4       t%V 3R1 lt&V 3R2 lt']P
                  P                  R3R7      V 3R4 l4       t(]P
                  P                  R3R7      V 3R5 l4       t)]P
                  P                  R3R7      V 3R6 l4       t*]P
                  P                  R3R7      V 3R7 l4       t+]P
                  P'                  R8],PZ                  ! . RlO4      ].PZ                  ! . RlOR:R;7      ].PZ                  ! R9R9R9].P^                  ].P^                  .R:R;7      .. RmOR<7      V 3R= l4       t0V 3R> lt1]P
                  P                  R?R7      V 3R@ l4       t2]P
                  P'                  RA. RnO].PZ                  ! . RnORBR;7      ],PZ                  ! . RnO4      .. RoOR<7      V 3RE l4       t3]P
                  P'                  RA^ ^^].P^                  .].PZ                  ! ^ ^^].P^                  .RBR;7      .RCRD.R<7      ]P
                  P'                  RFR9]Ph                  ! R]P
                  P                  RGR7      RH7      .4      V 3RI l4       4       t5]P
                  P                  RJR7      V 3RK l4       t6V 3RL lt7]P
                  P                  RMR7      V 3RN l4       t8]P
                  P                  R?R7      ]P
                  P'                  RORPRQ.4      V 3RR l4       4       t9]P
                  P                  RSR7      V 3RT l4       t:]P
                  P                  RUR7      V 3RV l4       t;]P
                  P                  RUR7      V 3RW l4       t<]P
                  P                  RUR7      V 3RX l4       t=]P
                  P                  RYR7      V 3RZ l4       t>]P
                  P                  R[R7      V 3R\ l4       t?]P
                  P                  R]R7      V 3R^ l4       t@]P
                  P                  R_R7      ]P
                  P'                  R`RaRb.4      V 3Rc l4       4       tARdtBVtCV ;tD# )pTestJSONArrayz:comparison method not implemented for JSONArray (GH-37867)r   c                &   < \         SV `  V4       R # r   )supertest_containsselfr   	__class__s   &&r   r'   TestJSONArray.test_containsR   s    
 	d#r   z&not implemented constructor from dtypec                &   < \         SV `  V4       R # r   )r&   test_from_dtyper(   s   &&r   r-   TestJSONArray.test_from_dtypeY   s     	%r   zRecursionError, GH-33900c                   < \         P                  ! 4       p \         P                  ! ^d4       \        SV `  W4       \         P                  ! V4       R#   \         P                  ! T4       i ; id   N)sysgetrecursionlimitsetrecursionlimitr&   *test_series_constructor_no_data_with_indexr)   r   na_value	rec_limitr*   s   &&& r   r5   8TestJSONArray.test_series_constructor_no_data_with_index^   sP     ))+		-!!#&G>uO!!),C!!),   %A A-c                   < \         P                  ! 4       p \         P                  ! ^d4       \        SV `  W4       \         P                  ! V4       R#   \         P                  ! T4       i ; ir0   )r2   r3   r4   r&   ,test_series_constructor_scalar_na_with_indexr6   s   &&& r   r<   :TestJSONArray.test_series_constructor_scalar_na_with_indexi   sP     ))+		-!!#&G@Q!!),C!!),r:   zcollection as scalar, GH-33901c                   < \         P                  ! 4       p \         P                  ! ^d4       \        SV `  W4       \         P                  ! V4       R#   \         P                  ! T4       i ; ir0   )r2   r3   r4   r&   )test_series_constructor_scalar_with_index)r)   r   r   r8   r*   s   &&& r   r?   7TestJSONArray.test_series_constructor_scalar_with_indext   sP     ))+		-!!#&G=dJ!!),C!!),r:   zDifferent definitions of NAc                $   < \         SV `  4        R# )z
The test does .astype(object).stack(). If we happen to have
any missing values in `data`, then we'll end up with different
rows since we consider `{}` NA, but `.astype(object)` doesn't.
N)r&   
test_stackr)   r*   s   &r   rB   TestJSONArray.test_stack   s     	r   zdict for NAc                "   < \         SV `  W4      # r   )r&   test_unstack)r)   r   indexr*   s   &&&r   rF   TestJSONArray.test_unstack   s     w#D00r   zSetting a dict as a scalarc                $   < \         SV `  4        R# z;We treat dictionaries as a mapping in fillna, not a scalar.N)r&   test_fillna_seriesrC   s   &r   rK    TestJSONArray.test_fillna_series   s     	"$r   c                $   < \         SV `  4        R# rJ   )r&   test_fillna_framerC   s   &r   rN   TestJSONArray.test_fillna_frame   s     	!#r   c                   < \         P                  ! \        4      ;_uu_ 4        \        SV `  V4       R R R 4       R #   + '       g   i     R # ; ir   )pytestraisesAssertionErrorr&   test_fillna_with_noner)   r   r*   s   &&r   rT   #TestJSONArray.test_fillna_with_none   s0     ]]>**G),7 +***s	   >A	z5fill value is a dictionary, takes incorrect code pathc                &   < \         SV `  V4       R # r   r&   test_fillna_limit_framerU   s   &&r   rY   %TestJSONArray.test_fillna_limit_frame        	'5r   c                &   < \         SV `  V4       R # r   rX   rU   s   &&r   test_fillna_limit_series&TestJSONArray.test_fillna_limit_series   r[   r   z'limit_area, input_ilocs, expected_ilocsoutsideinsidec                   < R p\         P                  ! \        VR7      ;_uu_ 4        \        SV `  WW44       RRR4       R#   + '       g   i     R# ; i)z'JSONArray does not implement limit_areamatchN)rQ   rR   NotImplementedErrorr&   test_ffill_limit_area)r)   r   
limit_areainput_ilocsexpected_ilocsmsgr*   s   &&&&& r   re   #TestJSONArray.test_ffill_limit_area   s=    " 8]].c::G)+ ;:::s   AA	c                   < \        V4      ^
8X  g	   V'       d   VP                  \        4       \        SV `  W4       R# )
   N)r   applymarker
unhashabler&   test_value_counts)r)   all_datadropnarequestr*   s   &&&&r   ro   TestJSONArray.test_value_counts   s,    x=B&
+!(3r   c                $   < \         SV `  4        R # r   )r&   test_sort_values_framerC   s   &r   ru   $TestJSONArray.test_sort_values_frame   s     	&(r   z#combine for JSONArray not supportedc                &   < \         SV `  V4       R # r   )r&   test_combine_le)r)   data_repeatedr*   s   &&r   rx   TestJSONArray.test_combine_le   s    .r   zGcombine for JSONArray not supported - may pass depending on random dataF)r	   strictrR   c                &   < \         SV `  V4       R # r   )r&   test_combine_firstr(   s   &&r   r}    TestJSONArray.test_combine_first   s     	"4(r   zbroadcasting errorc                &   < \         SV `  W4       R # r   )r&   test_where_series)r)   r   r7   r*   s   &&&r   r   TestJSONArray.test_where_series   s    
 	!$1r   zCan't compare dicts.c                &   < \         SV `  V4       R # r   )r&   test_searchsorted)r)   r   r*   s   &&r   r   TestJSONArray.test_searchsorted   s    !"23r   c                (   < \         SV `  WV4       R # r   )r&   test_equals)r)   r   r7   	as_seriesr*   s   &&&&r   r   TestJSONArray.test_equals   s    DI6r   z-fill-value is interpreted as a dict of valuesc                &   < \         SV `  V4       R # r   )r&   test_fillna_copy_framerU   s   &&r   r   $TestJSONArray.test_fillna_copy_frame   s    &|4r   zFails with CoWc                &   < \         SV `  V4       R # r   )r&   &test_equals_same_data_different_objectr(   s   &&r   r   4TestJSONArray.test_equals_same_data_different_object       6t<r   z$failing on np.array(self, dtype=str)c                $   < \         SV `  4        R# )zzThis currently fails in NumPy on np.array(self, dtype=str) with

*** ValueError: setting an array element with a sequence
N)r&   test_astype_strrC   s   &r   r   TestJSONArray.test_astype_str   s     	!r   c                $   < \         SV `  4        R# )z
This currently fails in Series.name.setter, since the
name must be hashable, but the value is a dictionary.
I think this is what we want, i.e. `.name` should be the original
values, and not the values for factorization.
N)r&    test_groupby_extension_transformrC   s   &r   r   .TestJSONArray.test_groupby_extension_transform   s     	02r   c                $   < \         SV `  4        R# )z
This fails in Index._do_unique_check with

>   hash(val)
E   TypeError: unhashable type: 'UserDict' with

I suspect that once we support Index[ExtensionArray],
we'll be able to dispatch unique.
N)r&   test_groupby_extension_applyrC   s   &r   r   *TestJSONArray.test_groupby_extension_apply   s     	,.r   c                $   < \         SV `  4        R# zq
This fails when we get to tm.assert_series_equal when left.index
contains dictionaries, which are not hashable.
N)r&   test_groupby_extension_aggrC   s   &r   r   (TestJSONArray.test_groupby_extension_agg  s     	*,r   c                $   < \         SV `  4        R# r   )r&   test_groupby_extension_no_sortrC   s   &r   r   ,TestJSONArray.test_groupby_extension_no_sort  s     	.0r   c                   < \        V^ ,          4      ^8w  d2   \        P                  P                  RR7      pVP	                  V4       \
        SV `  W4       R# )r   zraises in coercing to Seriesr   N)r   rQ   markxfailrm   r&   test_arith_frame_with_scalar)r)   r   all_arithmetic_operatorsrr   r   r*   s   &&&& r   r   *TestJSONArray.test_arith_frame_with_scalar  sF    tAw<1;;$$,J$KD%,TLr   c                   < VP                   R9   d2   \        P                  P                  RR7      pVP	                  V4       \
        SV `  W4       R# )r   z"Comparison methods not implementedr   N)r   ne)__name__rQ   r   r   rm   r&   test_compare_array)r)   r   comparison_oprr   r   r*   s   &&&& r   r    TestJSONArray.test_compare_array#  sD    !!\1;;$$,P$QD%"47r   z.ValueError: Must have equal len keys and valuec                &   < \         SV `  V4       R # r   )r&   test_setitem_loc_scalar_mixedr(   s   &&r   r   +TestJSONArray.test_setitem_loc_scalar_mixed)  s    -d3r   c                &   < \         SV `  V4       R # r   )r&   ,test_setitem_loc_scalar_multiple_homogoneousr(   s   &&r   r   :TestJSONArray.test_setitem_loc_scalar_multiple_homogoneous-  s    <TBr   c                &   < \         SV `  V4       R # r   )r&   test_setitem_iloc_scalar_mixedr(   s   &&r   r   ,TestJSONArray.test_setitem_iloc_scalar_mixed1  s    .t4r   c                &   < \         SV `  V4       R # r   )r&   -test_setitem_iloc_scalar_multiple_homogoneousr(   s   &&r   r   ;TestJSONArray.test_setitem_iloc_scalar_multiple_homogoneous5  s    =dCr   maskTboolean)r   )idsc                >  < V'       d3   \         P                  P                  R R7      pVP                  V4       MQ\	        V\
        P                  4      '       g2   \         P                  P                  RR7      pVP                  V4       \        SV `!  WV4       R# )<cannot set using a list-like indexer with a different lengthr   z"Issues unwanted DeprecationWarningN)	rQ   r   r   rm   
isinstancenpndarrayr&   test_setitem_mask)r)   r   r   box_in_seriesrr   r   r*   s   &&&&& r   r   TestJSONArray.test_setitem_mask9  sz     ;;$$U % D %D"**--;;$$,P$QD%!$m<r   c                   < V'       g2   \         P                  P                  R R7      pVP                  V4       \        SV `  W4       R# )Fails to raiser   N)rQ   r   r   rm   r&   test_setitem_mask_raises)r)   r   r   rr   r   r*   s   &&&& r   r   &TestJSONArray.test_setitem_mask_raisesM  s9    ;;$$,<$=D%(=r   r   c                &   < \         SV `  W4       R # r   )r&   'test_setitem_mask_boolean_array_with_nar)   r   r   r*   s   &&&r   r   5TestJSONArray.test_setitem_mask_boolean_array_with_naT  s     	7Lr   idxInt64listinteger-arrayc                   < V'       d2   \         P                  P                  R R7      pVP                  V4       \        SV `  WV4       R# )r   r   N)rQ   r   r   rm   r&   test_setitem_integer_array)r)   r   r   r   rr   r   r*   s   &&&&& r   r   (TestJSONArray.test_setitem_integer_arrayZ  sC     ;;$$U % D %*4mDr   r   z3list indices must be integers or slices, not NAType)marksc                (   < \         SV `  WV4       R # r   )r&   (test_setitem_integer_with_missing_raises)r)   r   r   r   r*   s   &&&&r   r   6TestJSONArray.test_setitem_integer_with_missing_raisesg  s    * 	8MRr   r   c                &   < \         SV `  V4       R # r   )r&   &test_setitem_scalar_key_sequence_raiser(   s   &&r   r   4TestJSONArray.test_setitem_scalar_key_sequence_raise~  r   r   c                   < R VP                   P                  9   d2   \        P                  P	                  RR7      pVP                  V4       \        SV `  W4       R# )
full_sliceslice is not iterabler   N)nodenamerQ   r   r   rm   r&   ,test_setitem_with_expansion_dataframe_column)r)   r   full_indexerrr   r   r*   s   &&&& r   r   :TestJSONArray.test_setitem_with_expansion_dataframe_column  sH    7<<,,,;;$$,C$DD%<TPr   r   c                &   < \         SV `  V4       R # r   )r&   test_setitem_frame_2d_valuesr(   s   &&r   r   *TestJSONArray.test_setitem_frame_2d_values  s    ,T2r   setterlocNc                &   < \         SV `  W4       R # r   )r&   test_setitem_mask_broadcast)r)   r   r   r*   s   &&&r   r   )TestJSONArray.test_setitem_mask_broadcast  s    
 	+D9r   z8cannot set using a slice indexer with a different lengthc                &   < \         SV `  W4       R # r   )r&   test_setitem_slicer   s   &&&r   r    TestJSONArray.test_setitem_slice  s     	"47r   zslice object is not iterablec                &   < \         SV `  V4       R # r   )r&   test_setitem_loc_iloc_slicer(   s   &&r   r   )TestJSONArray.test_setitem_loc_iloc_slice  s    +D1r   c                &   < \         SV `  V4       R # r   )r&   )test_setitem_slice_mismatch_length_raisesr(   s   &&r   r   7TestJSONArray.test_setitem_slice_mismatch_length_raises  s    9$?r   c                &   < \         SV `  V4       R # r   )r&   test_setitem_slice_arrayr(   s   &&r   r   &TestJSONArray.test_setitem_slice_array  s    (.r   zFail to raisec                &   < \         SV `  W4       R # r   )r&   test_setitem_invalid)r)   r   invalid_scalarr*   s   &&&r   r   "TestJSONArray.test_setitem_invalid  s    $T:r   z?result readonly flag is incorrect and does not support na_valuec                &   < \         SV `  V4       R # r   )r&   .test_readonly_propagates_to_numpy_array_methodr(   s   &&r   r   <TestJSONArray.test_readonly_propagates_to_numpy_array_method  s     	>tDr   z+only integer scalar arrays can be convertedc                &   < \         SV `  V4       R # r   )r&   test_setitem_2d_valuesr(   s   &&r   r   $TestJSONArray.test_setitem_2d_values  s    &t,r   zdata type 'json' not understoodenginer   pythonc                (   < \         SV `  WV4       R # r   )r&   test_EA_types)r)   r   r   rr   r*   s   &&&&r   r  TestJSONArray.test_EA_types  s     	fG4r   r   )   r   r   r   r  )r  r   r  r   r  )r   r  r  r  r   )r   r  r  r  r  )r   r  r   r  r   )r   r  r   r  r  )r  r  r  r  r  )TTTFF)numpy-arrayzboolean-arrayzboolean-array-na)r   r     )r   r   r  )Er   
__module____qualname____firstlineno__rQ   r   r   r'   r-   r5   r<   r?   rB   rF   rK   rN   rT   rY   r]   parametrizere   ro   rn   ru   rx   rS   r}   r   r   r   skipr   r   r   r   r   r   r   r   r   r   r   r   r   r   arraypdNAr   r   r   r   paramr   r   r   r   r   r   r   r   r   r   r   r   r  __static_attributes____classdictcell____classcell__)r*   __classdict__s   @@r   r$   r$   Q   s?    [[K  $$ [[FG& H& [[89- :- [[89- :- [[>?- @- [[;< = [[m,1 -1
 [[:;% <% [[:;$ <$8 [[UV6 W6 [[UV6 W6 [[199998888		
4
 ) ) [[CD/ E/ [[,	  )) [[232 42 [[454 64 [[457 67 [[EF5 G5 [[./= 0= [[DE" F" 3 3 
/ 
/ - - 1 1M8 [[NO4 P4 [[NOC PC [[NO5 P5 [[NOD PD [[HH56HH5YGHHdD$ruu5YG	

 A  	=	=> [[M  MM [[	BHHYg68KL4  
E
E [[1beeHHaAruu%W5	
 _%   [[LLkk''P ( 	
S(S [[./= 0=Q [[563 73 [[M   [[Xt}5: 6: [[I  88 [[<=2 >2 [[<=@ >@ [[<=/ >/ [[o.; /; [[P  EE [[KL- M- [[?@[[XX75 8 A5 5r   r$   c                    V P                   P                  R 8X  d   V P                   VP                   8X  g   Q h\        P                  ! \	        V P
                  P                  \        4      4      V P                  V P                  R7      p \        P                  ! \	        VP
                  P                  \        4      4      VP                  VP                  R7      p\        P                  ! W.VO5/ VB  R# )json)rG   r   N)r   r   r  Seriesr   valuesastypeobjectrG   tmassert_series_equal)leftrightargskwargss   &&*,r   custom_assert_series_equalr     s    
 zz& zzU[[(((yydkk((01$))
 		ell))&12++

 4888r   c                 
   VP                  R R4      p\        P                  ! V P                  VP                  VP                  RR4      VP                  RR4      VP                  RR4      VP                  RR4      V R	2R
7       V P                  R8H  P
                  pV F  p\        W,          W,          .VO5/ VB  K!  	  V P                  VR7      p VP                  VR7      p\        P                  ! W.VO5/ VB  R# )obj	DataFramecheck_column_typeequivcheck_namesTcheck_exactFcheck_categoricalz.columns)exactr&  r'  r(  r"  r  )columnsN)	getr  assert_index_equalr*  dtypesrG   r   dropassert_frame_equal)r  r  r  r  obj_typejsonscols   &&*,   r   custom_assert_frame_equalr3    s    zz%-Hjj,g6JJ}d3JJ}e4 **%8$?j! [[F"))E"49ejJ4J6J  99U9#DJJuJ%E$777r   c                     \        \        P                  ! R ^/4      \        P                  ! R^/4      \        P                  ! R^/4      .4      p \        P                  ! V 4      p\        W4       \        VP                  4       VP                  4       4       \        P                  ! V P                  . RO4      4      pRp\        P                  ! \        VR7      ;_uu_ 4        \        W4       RRR4       \        P                  ! \        VR7      ;_uu_ 4        \        VP                  4       VP                  4       4       RRR4       R#   + '       g   i     Lg; i  + '       g   i     R# ; i)r   r   r   zSeries are differentrb   N)r   r   r  )r   collectionsUserDictr  r  r   r3  to_frametakerQ   rR   rS   )r   r   r   ri   s       r   test_custom_assertsr9    s       #q*  #q*  #q*	
D 			$Aq$ajjlAJJL9
		$))I&'A
!C	~S	1	1"1( 
2 
~S	1	1!!**,

= 
2	1 
2	1 
2	1	1s   'E)E%E"	%E6	)!r5  r   r2   numpyr   rQ   pandasr  pandas._testing_testingr  pandas.tests.extensionr   !pandas.tests.extension.json.arrayr   r   r   r   r   rn   fixturer   r   r   r   r   r    r"   ExtensionTestsr$   r   r3  r9  r   r   r   <module>rB     s     
     '  [[l3
      & &
 = = / /    e5D'' e5P9$8,>r   