zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
U
­ý°d»3ã@súddlZddlZddlZddlZddlZddlmZddl    m
Z
ddl m Z m Z mZejdd„ƒZejdd„ƒZejdd    „ƒZejd
d „ƒZejd d „ƒZejdd„ƒZejdd„ƒZejdd„ƒZGdd„dƒZGdd„dee
jƒZGdd„dee
jƒZGdd„dee
jƒZGdd„dee
jƒZ Gdd„dee
j!ƒZ"Gd d!„d!ee
j#ƒZ$Gd"d#„d#ee
j%ƒZ&ej'j(d$d%Z)Gd&d'„d'e
j*ƒZ+Gd(d)„d)ee
j,ƒZ-Gd*d+„d+ee
j.ƒZ/Gd,d-„d-ee
j0ƒZ1Gd.d/„d/ee
j2ƒZ3Gd0d1„d1ee
j4ƒZ5Gd2d3„d3ee
j6ƒZ7dS)4éN)Úbase)Ú    JSONArrayÚ    JSONDtypeÚ    make_datacCstƒS©N)r©rrú\d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/extension/json/test_json.pyÚdtypesr    cCs.tƒ}t|dƒt|dƒkr&tƒ}qt|ƒS)z*Length-100 PeriodArray for semantics test.ré)rÚlenr)Údatarrrr sr cCstiddigƒS)zLength 2 array with [NA, Valid]Úaé
©rrrrrÚ data_missing'srcCstddiddidddœgƒS)NÚbr
Úcééé©r rrrrrrÚdata_for_sorting-srcCstddiiddigƒS)Nrr
r rrrrrrÚdata_missing_for_sorting2srcCs|jSr)Úna_value)r    rrrr7srcCstjSr)ÚoperatorÚeqrrrrÚna_cmp<src
Cs4tddiddiiidddœdddœddiddigƒS)Nrr
rrrrrrrrrÚdata_for_groupingAsøÿrc@s$eZdZedd„ƒZedd„ƒZdS)ÚBaseJSONcOst|jjdkr\|j|jkst‚tjt|j t¡ƒ|j    |jd}tjt|j t¡ƒ|j    |jd}t
j ||f|ž|ŽdS)NÚjson)ÚindexÚname) r    r!ÚAssertionErrorÚpdÚSeriesrÚvaluesZastypeÚobjectr ÚtmÚassert_series_equal)ÚclsÚleftÚrightÚargsÚkwargsrrrr(Vs ÿýzBaseJSON.assert_series_equalc
Os°| dd¡}tj|j|j| dd¡| dd¡| dd¡| d    d¡|›d
d |jd kj}|D] }|j||||f|ž|Žq^|j|d }|j|d }tj||f|ž|ŽdS)NÚobjZ    DataFrameZcheck_column_typeÚequivÚ check_namesTÚ check_exactFÚcheck_categoricalz.columns)Úexactr0r1r2r.r)Úcolumns)    Úgetr'Zassert_index_equalr4Zdtypesr r(ZdropÚassert_frame_equal)r)r*r+r,r-Zobj_typeZjsonsÚcolrrrr6ds  
 
 
 
ù
  zBaseJSON.assert_frame_equalN)Ú__name__Ú
__module__Ú __qualname__Ú classmethodr(r6rrrrrQs
rc@s eZdZdS)Ú    TestDtypeN©r8r9r:rrrrr<{sr<cs2eZdZdd„Zejjdd‡fdd„ƒZ‡ZS)Ú TestInterfacec    CsÈtt ddi¡t ddi¡t ddi¡gƒ}t |¡}| ||¡| | ¡| ¡¡t | dddg¡¡}d}t    j
t |d    | ||¡W5QRXt    j
t |d    | | ¡| ¡¡W5QRXdS)
Nr r
rrrrrzSeries are different©Úmatch) rÚ collectionsÚUserDictr#r$r(r6Zto_frameZtakeÚpytestÚraisesr")Úselfr r rÚmsgrrrÚtest_custom_asserts€s   ýÿ
 z!TestInterface.test_custom_assertsz:comparison method not implemented for JSONArray (GH-37867)©Úreasoncstƒ |¡dSr)ÚsuperÚ test_contains©rEr ©Ú    __class__rrrK–szTestInterface.test_contains)    r8r9r:rGrCÚmarkÚxfailrKÚ __classcell__rrrMrr>s
ÿr>csxeZdZejjdd‡fdd„ƒZejjdd‡fdd„ƒZejjdd‡fdd    „ƒZejjd
d‡fd d „ƒZ    ‡Z
S) ÚTestConstructorsz&not implemented constructor from dtyperHcstƒ |¡dSr)rJÚtest_from_dtyperLrMrrrSŸsz TestConstructors.test_from_dtypezRecursionError, GH-33900c    s6t ¡}zt d¡tƒ ||¡W5t |¡XdS©Néd)ÚsysÚgetrecursionlimitÚsetrecursionlimitrJÚ*test_series_constructor_no_data_with_index©rEr    rÚ    rec_limitrMrrrY¤s
 
z;TestConstructors.test_series_constructor_no_data_with_indexc    s6t ¡}zt d¡tƒ ||¡W5t |¡XdSrT)rVrWrXrJÚ,test_series_constructor_scalar_na_with_indexrZrMrrr\¯s
 
z=TestConstructors.test_series_constructor_scalar_na_with_indexzcollection as scalar, GH-33901c    s6t ¡}zt d¡tƒ ||¡W5t |¡XdSrT)rVrWrXrJÚ)test_series_constructor_scalar_with_index)rEr r    r[rMrrr]ºs
 
z:TestConstructors.test_series_constructor_scalar_with_index) r8r9r:rCrOrPrSrYr\r]rQrrrMrrRžs  
 
rRcsDeZdZejjdd‡fdd„ƒZejjdd‡fdd„ƒZ‡ZS)Ú TestReshapingzDifferent definitions of NArHcstƒ ¡dS)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)rJÚ
test_stack©rErMrrr_ÇszTestReshaping.test_stackz dict for NAcstƒ ||¡Sr)rJÚ test_unstack)rEr r rMrrraÐszTestReshaping.test_unstack)    r8r9r:rCrOrPr_rarQrrrMrr^Æs  r^c@s eZdZdS)Ú TestGetitemNr=rrrrrb×srbc@s eZdZdS)Ú    TestIndexNr=rrrrrcÛsrccsDeZdZejjdd‡fdd„ƒZejjdd‡fdd„ƒZ‡ZS)Ú TestMissingzSetting a dict as a scalarrHcstƒ ¡dS©z;We treat dictionaries as a mapping in fillna, not a scalar.N)rJÚtest_fillna_seriesr`rMrrrfàszTestMissing.test_fillna_seriescstƒ ¡dSre)rJÚtest_fillna_framer`rMrrrgåszTestMissing.test_fillna_frame)    r8r9r:rCrOrPrfrgrQrrrMrrdßs  rdZ
UnhashablerHc@s eZdZdS)Ú
TestReduceNr=rrrrrhîsrhcsDeZdZe‡fdd„ƒZe‡fdd„ƒZe‡fdd„ƒZej     ddd    g¡‡fd
d „ƒZ
ej     ddd    g¡‡fd d „ƒZ ejj dd‡fdd„ƒZ ejj dd‡fdd„ƒZejj dd    ed‡fdd„ƒZe‡fdd„ƒZejj dd‡fdd„ƒZejj dd‡fdd„ƒZejj dd‡fd d!„ƒZej d"¡‡fd#d$„ƒZ‡ZS)%Ú TestMethodscstƒ ||¡dSr)rJÚtest_value_counts)rEZall_dataZdropnarMrrrjószTestMethods.test_value_countscstƒ |¡dSr)rJÚ test_value_counts_with_normalizerLrMrrrk÷sz,TestMethods.test_value_counts_with_normalizecstƒ ¡dSr)rJÚtest_sort_values_framer`rMrrrlûsz"TestMethods.test_sort_values_frameÚ    ascendingTFcstƒ |||¡dSr)rJÚtest_sort_values)rErrmÚ sort_by_keyrMrrrnszTestMethods.test_sort_valuescstƒ |||¡dSr)rJÚtest_sort_values_missing)rErrmrorMrrrps
ÿz$TestMethods.test_sort_values_missingz#combine for JSONArray not supportedrHcstƒ |¡dSr)rJÚtest_combine_le©rEZ data_repeatedrMrrrq szTestMethods.test_combine_lecstƒ |¡dSr)rJÚtest_combine_addrrrMrrrsszTestMethods.test_combine_addzGcombine for JSONArray not supported - may pass depending on random data)rIÚstrictrDcstƒ |¡dSr)rJÚtest_combine_firstrLrMrrruszTestMethods.test_combine_firstcstƒ ||¡dSr)rJÚtest_hash_pandas_object_works)rEr ÚkindrMrrrvsz)TestMethods.test_hash_pandas_object_workszbroadcasting errorcstƒ ||¡dSr)rJÚtest_where_series)rEr rrMrrrx!szTestMethods.test_where_serieszCan't compare dicts.cstƒ |¡dSr)rJÚtest_searchsorted)rErrMrrry(szTestMethods.test_searchsortedcstƒ |||¡dSr)rJÚ test_equals)rEr rZ    as_seriesrMrrrz,szTestMethods.test_equalsz-fill-value is interpreted as a dict of valuescstƒ |¡dSr)rJÚtest_fillna_copy_frame)rErrMrrr{0sz"TestMethods.test_fillna_copy_frame)r8r9r:Ú
unhashablerjrkrlrCrOZ parametrizernrprPrqrsr"rurvrxryrzÚskipr{rQrrrMrriòs<  ü   
rics*eZdZejjdd‡fdd„ƒZ‡ZS)Ú TestCastingz$failing on np.array(self, dtype=str)rHcstƒ ¡dS)zŠThis currently fails in NumPy on np.array(self, dtype=str) with
 
        *** ValueError: setting an array element with a sequence
        N)rJÚtest_astype_strr`rMrrr6szTestCasting.test_astype_str)r8r9r:rCrOrPrrQrrrMrr~5s r~csjeZdZe‡fdd„ƒZe‡fdd„ƒZe‡fdd„ƒZe‡fdd„ƒZej    j
d    d
‡fd d „ƒZ ‡Z S) Ú TestGroupbycstƒ ¡dS)a
        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)rJÚ test_groupby_extension_transformr`rMrrrDsz,TestGroupby.test_groupby_extension_transformcstƒ ¡dS)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)rJÚtest_groupby_extension_applyr`rMrrr‚Ns z(TestGroupby.test_groupby_extension_applycstƒ ¡dS©z‰
        This fails when we get to tm.assert_series_equal when left.index
        contains dictionaries, which are not hashable.
        N)rJÚtest_groupby_extension_aggr`rMrrr„[sz&TestGroupby.test_groupby_extension_aggcstƒ ¡dSrƒ)rJÚtest_groupby_extension_no_sortr`rMrrr…csz*TestGroupby.test_groupby_extension_no_sortz'GH#39098: Converts agg result to objectrHcstƒ |¡dSr)rJÚtest_groupby_agg_extension)rErrMrrr†ksz&TestGroupby.test_groupby_agg_extension) r8r9r:r|rr‚r„r…rCrOrPr†rQrrrMrr€Cs      r€csNeZdZ‡fdd„Zdd„Zejjdd‡fdd„ƒZe    f‡fd    d
„    Z
‡Z S) ÚTestArithmeticOpscs<t|dƒdkr*tjjdd}|j |¡tƒ ||¡dS)Nrr
zraises in coercing to SeriesrH)r rCrOrPÚnodeZ
add_markerrJÚtest_arith_frame_with_scalar)rEr Zall_arithmetic_operatorsÚrequestrOrMrrr‰qs z.TestArithmeticOps.test_arith_frame_with_scalarc    Cs0t |¡}tjtdd||W5QRXdS)NÚ unsupportedr?)r#r$rCrDÚ    TypeError)rEr ZserrrrÚ$test_add_series_with_extension_arrayws
z6TestArithmeticOps.test_add_series_with_extension_arrayznot implementedrHcstƒ ¡dSr)rJÚtest_divmod_series_arrayr`rMrrrŽ|sz*TestArithmeticOps.test_divmod_series_arraycstƒj|||tdS)N)Úexc)rJÚ_check_divmod_oprŒ)rEÚsÚopÚotherrrMrrr‚sz"TestArithmeticOps._check_divmod_op) r8r9r:r‰rrCrOrPrŽÚNotImplementedErrorrrQrrrMrr‡ps
  r‡c@s eZdZdS)ÚTestComparisonOpsNr=rrrrr•†sr•c@s eZdZdS)Ú TestPrintingNr=rrrrr–Šsr–)8rArrVrCZpandasr#Zpandas._testingZ_testingr'Zpandas.tests.extensionrZ!pandas.tests.extension.json.arrayrrrZfixturer    r rrrrrrrZBaseDtypeTestsr<ZBaseInterfaceTestsr>ZBaseConstructorsTestsrRZBaseReshapingTestsr^ZBaseGetitemTestsrbZBaseIndexTestsrcZBaseMissingTestsrdrOrPr|ZBaseNoReduceTestsrhZBaseMethodsTestsriZBaseCastingTestsr~ZBaseGroupbyTestsr€ZBaseArithmeticOpsTestsr‡ZBaseComparisonOpsTestsr•ZBasePrintingTestsr–rrrrÚ<module>sN  
 
 
 
 
 
 
 
*( C-