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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
U
­ý°ds=ã
@s:ddlZddlZddlZddlZddlZddlmZ    ddl
m Z ddl m Z ddlmZmZmZmZejdd„ƒZejdd„ƒZejd    d
„ƒZejd d „ƒZejd d„ƒZejdd„ƒZejdd„ƒZejdd„ƒZejdd„ƒZGdd„de jƒZGdd„de jƒZ Gdd„de j!ƒZ"Gdd„de j#ƒZ$Gdd „d e j%ƒZ&Gd!d"„d"e j'ƒZ(Gd#d$„d$e j)ƒZ*Gd%d&„d&ƒZ+Gd'd(„d(e+e j,ƒZ-Gd)d*„d*e+e j.ƒZ/Gd+d,„d,e j0ƒZ1Gd-d.„d.e j2ƒZ3Gd/d0„d0e j4ƒZ5Gd1d2„d2e j6ƒZ7Gd3d4„d4e j8ƒZ9ej:j;d5e<d6d7d8„ƒZ=d9d:„Z>d;d<„Z?ej: @d=d>d?g¡d@dA„ƒZAGdBdC„dCe jBƒZCGdDdE„dEe jDƒZEGdFdG„dGeƒZFGdHdI„dIeFƒZGeG H¡dJdK„ZIej: @dLeFeGg¡dMdN„ƒZJej: @dOd?ddPdPdQgdPddPdgfd>dQdPddgdddQdQgfg¡dRdS„ƒZKdTdU„ZLdVdW„ZMdXdY„ZNdZd[„ZOd\d]„ZPd^d_„ZQd`da„ZRdbdc„ZSddde„ZTdfdg„ZUdS)héN)Ú infer_dtype)Úbase)Ú DecimalArrayÚ DecimalDtypeÚ    make_dataÚ
to_decimalcCstƒS©N)r©r    r    úbd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/extension/decimal/test_decimal.pyÚdtypesr cCs
ttƒƒSr)rrr    r    r    r
Údatasr cCstdd„tdƒDƒƒS)NcSsg|]}t d¡‘qS)é©ÚdecimalÚDecimal)Ú.0Ú_r    r    r
Ú
<listcomp>sz!data_for_twos.<locals>.<listcomp>éd)rÚranger    r    r    r
Ú data_for_twossrcCstt d¡t d¡gƒS)NÚNaNé©rrrr    r    r    r
Ú data_missing"srcCs tt d¡t d¡t d¡gƒS)NÚ1Ú2Ú0rr    r    r    r
Údata_for_sorting'sÿrcCs tt d¡t d¡t d¡gƒS)Nrrrrr    r    r    r
Údata_missing_for_sorting.sÿrcCsdd„S)NcSs| ¡o| ¡Sr)Úis_nan)ÚxÚyr    r    r
Ú<lambda>7ózna_cmp.<locals>.<lambda>r    r    r    r    r
Úna_cmp5sr%cCs
t d¡S)Nrrr    r    r    r
Úna_value:sr&c    Cs@t d¡}t d¡}t d¡}t d¡}t||||||||gƒS)Nú1.0z0.0ú2.0r)rrr)ÚbÚaÚcÚnar    r    r
Údata_for_grouping?s
 
 
 
 
r-c@s.eZdZdd„Zej dddg¡dd„ƒZdS)    Ú    TestDtypecCsdSrr    ©Úselfr r    r    r
Ú test_hashableIszTestDtype.test_hashableÚskipnaTFcCs,t||ddkst‚t||ddks(t‚dS)N©r2z unknown-array)rÚAssertionError)r0r rr2r    r    r
Útest_infer_dtypeLszTestDtype.test_infer_dtypeN)Ú__name__Ú
__module__Ú __qualname__r1ÚpytestÚmarkÚ parametrizer5r    r    r    r
r.Hsr.c@s eZdZdS)Ú TestInterfaceN©r6r7r8r    r    r    r
r<Tsr<c@s eZdZdS)ÚTestConstructorsNr=r    r    r    r
r>Xsr>c@s eZdZdS)Ú TestReshapingNr=r    r    r    r
r?\sr?c@seZdZdd„ZdS)Ú TestGetitemcCsZtt d¡t d¡gƒ}|jddgdt d¡d}tt d¡t d¡gƒ}| ||¡dS)Nr'r(réÿÿÿÿTz-1.0)Z
allow_fillZ
fill_value)rrrZtakeÚassert_extension_array_equal)r0ÚarrÚresultÚexpectedr    r    r
Ú test_take_na_value_other_decimalasz,TestGetitem.test_take_na_value_other_decimalN)r6r7r8rFr    r    r    r
r@`sr@c@s eZdZdS)Ú    TestIndexNr=r    r    r    r
rGhsrGc@s eZdZdS)Ú TestMissingNr=r    r    r    r
rHlsrHc@seZdZdd„ZdS)ÚReducec    Cs |dkr8d}tjt|dt||ƒ|dW5QRXnd|dkrnt||ƒƒ}t|ƒ| ¡ ¡}t ||¡n.t||ƒ|d}tt     
|¡|ƒƒ}t ||¡dS)N)ZmedianZskewZkurtZsemz)decimal does not support the .* operation©Úmatchr3Úcount) r9ÚraisesÚNotImplementedErrorÚgetattrÚlenÚisnaÚsumÚtmZassert_almost_equalÚnpZasarray)r0ÚsÚop_namer2ÚmsgrDrEr    r    r
Ú check_reduceqs zReduce.check_reduceN)r6r7r8rXr    r    r    r
rIpsrIc@s eZdZdS)ÚTestNumericReduceNr=r    r    r    r
rY€srYc@s eZdZdS)ÚTestBooleanReduceNr=r    r    r    r
rZ„srZc@s&eZdZej dddg¡dd„ƒZdS)Ú TestMethodsÚdropnaTFc
    CsŽ|dd…}|r&t || ¡¡}n|}t |¡j|d}t |¡j|d}t ¡"}d|jtj    <| 
¡}| 
¡}    W5QRXt   ||    ¡dS)Né
)r\F) rTÚarrayrQÚpdÚSeriesZ value_countsrÚ localcontextÚtrapsÚInvalidOperationZ
sort_indexrSÚassert_series_equal)
r0Zall_datar\ÚrequestÚotherÚvcsZvcs_exÚctxrDrEr    r    r
Útest_value_counts‰s 
 zTestMethods.test_value_countsN)r6r7r8r9r:r;rir    r    r    r
r[ˆsr[c@s eZdZdS)Ú TestCastingNr=r    r    r    r
rjžsrjc@s eZdZdS)Ú TestGroupbyNr=r    r    r    r
rk¢srkc@s eZdZdS)Ú TestSetitemNr=r    r    r    r
rl¦srlc@seZdZdd„ZdS)Ú TestPrintingcCs2t |¡}|jjt|ƒkst‚dt|ƒks.t‚dS)Nz    Decimal: )r_r`r ÚnameÚreprr4)r0r Úserr    r    r
Útest_series_repr«s
zTestPrinting.test_series_reprN)r6r7r8rqr    r    r    r
rmªsrmzkDecimalArray constructor raises bc _from_sequence wants Decimals, not ints.Easy to fix, just need to do it.)ÚreasonrMc    Cs8d}tjt|dtjdddgtƒdW5QRXdS)NzQCannot cast data to extension dtype 'decimal'. Pass the extension array directly.rJrrr ©r )r9rMÚ
ValueErrorr_r`r)Zxprr    r    r
Ú=test_series_constructor_coerce_data_to_extension_dtype_raises³s    ÿrucCs`tt d¡gƒ}tj|tƒd}t |¡}t ||¡tj|dd}t dg¡}t ||¡dS)Nú10.0rsÚint64r])rrrr_r`rrSrd©rCrDrEr    r    r
Ú"test_series_constructor_with_dtypeÃs
  rycCs€tt d¡gƒ}tjd|itƒd}t d|i¡}t ||¡tt d¡gƒ}tjd|idd}t ddgi¡}t ||¡dS)NrvÚArsrwr])rrrr_Ú    DataFramerrSÚassert_frame_equalrxr    r    r
Ú%test_dataframe_constructor_with_dtypeÎs r}ÚframeTFcCsftjtt d¡gƒdd}t ¡}d|_|r4| ¡}| t    |ƒ¡}|rN|d}|j
j j|jksbt ‚dS)Nr r*)rné) r_r`rrrÚContextÚprecZto_frameÚastyperr Úcontextr4)r~r rhrDr    r    r
Útest_astype_dispatchesÛsr„cs6eZdZd‡fdd„    Zdd„Zef‡fdd„    Z‡ZS)    ÚTestArithmeticOpsNcstƒj|||dddS©N)Úexc)ÚsuperÚ check_opname)r0rUrVrfr‡©Ú    __class__r    r
r‰ñszTestArithmeticOps.check_opnamec    Csº|}t |¡}t ¡}|jtj}|jtj}d|jtj<d|jtj<t dd„|Dƒ¡}| |||¡d|kr‚| |||d¡| ||d¡| ||d¡||jtj<||jtj<dS)NrcSsg|]}t|dƒ‘qS)r)Úint)rÚdr    r    r
rÿszBTestArithmeticOps.test_arith_series_with_array.<locals>.<listcomp>Úmodr r)r_r`rÚ
getcontextrbÚDivisionByZerorcr‰)    r0r Zall_arithmetic_operatorsrVrUrƒZ divbyzerotrapZ invalidoptraprfr    r    r
Útest_arith_series_with_arrayôs
     z.TestArithmeticOps.test_arith_series_with_arraycstƒj|||dddSr†)rˆÚ_check_divmod_op)r0rUÚoprfr‡rŠr    r
sz"TestArithmeticOps._check_divmod_op)N)r6r7r8r‰r‘rNr’Ú __classcell__r    r    rŠr
r…ðsr…c@seZdZdd„Zdd„ZdS)ÚTestComparisonOpscCst |¡}| |||d¡dS)Nçà?)r_r`Ú_compare_other)r0r Ú comparison_oprUr    r    r
Útest_compare_scalars
z%TestComparisonOps.test_compare_scalarcCsNt |¡}tj dddgt|ƒ¡}t |¡dd„|Dƒ}| ||||¡dS)NrArrcSsg|]}t td|ƒ¡‘qS)g@)rrÚpow)rÚir    r    r
rsz8TestComparisonOps.test_compare_array.<locals>.<listcomp>)r_r`rTÚrandomÚchoicerPr—)r0r r˜rUZalterrfr    r    r
Útest_compare_arrays
z$TestComparisonOps.test_compare_arrayN)r6r7r8r™ržr    r    r    r
r•sr•c@seZdZdZeddd„ƒZdS)ÚDecimalArrayWithoutFromSequencez:Helper class for testing error handling in _from_sequence.NFcCs tdƒ‚dS)Nz For the test)ÚKeyError)ÚclsZscalarsr Úcopyr    r    r
Ú_from_sequence sz.DecimalArrayWithoutFromSequence._from_sequence)NF)r6r7r8Ú__doc__Ú classmethodr£r    r    r    r
rŸsrŸc@seZdZedd„ƒZdS)ÚDecimalArrayWithoutCoercioncCs|j|ddS)NF)Zcoerce_to_dtype)Z_create_method)r¡r“r    r    r
Ú_create_arithmetic_method&sz5DecimalArrayWithoutCoercion._create_arithmetic_methodN)r6r7r8r¥r§r    r    r    r
r¦%sr¦cCs|t}tdd„ƒ}| td|¡|t d¡t d¡gƒ}t |¡}| |t    j
¡}tjt d¡t d¡gdd}t   ||¡dS)    NcSstSr)rŸ)r¡r    r    r
Úconstruct_array_type2sz?test_combine_from_sequence_raises.<locals>.construct_array_typer¨r'r(ú4.0Úobjectrs) rŸr¥Úsetattrrrrr_r`ÚcombineÚoperatorÚaddrSrd)Ú monkeypatchr¡r¨rCrprDrEr    r    r
Ú!test_combine_from_sequence_raises.s
 
ÿr°Úclass_cCsN|t d¡t d¡gƒ}||}tjt d¡t d¡gdd}t ||¡dS)Nr'r(r©rªrs)rrrTr^rSÚassert_numpy_array_equal)r±rCrDrEr    r    r
Ú$test_scalar_ops_from_sequence_raisesCsÿr³z#reverse, expected_div, expected_modrr cCs^tddddgƒ}|r$td|ƒ\}}nt|dƒ\}}t|ƒ}t|ƒ}t ||¡t ||¡dS)Nrr éé)rÚdivmodrSrB)ÚreverseZ expected_divZ expected_modrCÚdivrŽr    r    r
Útest_divmod_arrayQs r¹cCsT|dd…}tj|tddƒd}t |¡}tjt |¡tddƒd}t ||¡dS)Nrr´é©Úindex)r_r`rrTÚabsrSrd)r r*rUrDrEr    r    r
Útest_ufunc_fallbackcs
 
r¾cCs8tdddgƒ}t |¡}tt |j¡ƒ}t ||¡dS©Nrr r´)rrTÚexpÚ_datarSrB)r*rDrEr    r    r
Útest_array_ufuncks
rÂcCsHtdddgƒ}t |¡}t |¡}t tt |j¡ƒ¡}t ||¡dSr¿)rr_r`rTrÀrÁrSrd©r*rUrDrEr    r    r
Útest_array_ufunc_seriesrs
 
 
rÄcCsRtdddgƒ}t |¡}t |t d¡¡}t t |t d¡¡¡}t ||¡dSr¿)    rr_r`rTr®rrrSrdrÃr    r    r
Ú$test_array_ufunc_series_scalar_otherzs
 
rÅcCs`tdddgƒ}t |¡}t tdddgƒ¡}t ||¡}t ||¡}t ||¡t ||¡dS)Nrr r´rµé)rr_r`rTr®rSrd)r*rUrEZr1Zr2r    r    r
Útest_array_ufunc_series_deferƒs
   rÇcCs„tƒdd…}t dddddgdddddgt|ƒdœ¡}t t|d|dgƒ¡}| d¡d dd    „¡}tj    ||d
d |d |d¡ d d    „¡}tj    ||d
d tjt|d|d|dgƒtj
  d ddg¡d}| ddg¡d dd    „¡}tj    ||d
d |d |d|dg¡ dd    „¡}tj    ||d
d t ddgt|d|dgƒdœ¡}| d¡ dd    „¡}tj ||d
d dS)Nrrr)Úid1Úid2Údecimalsr´rÈrÊcSs
|jdS©Nr©Úiloc©r!r    r    r
r#šr$z"test_groupby_agg.<locals>.<lambda>F©Z check_namescSs
|jdSrËrÌrÎr    r    r
r#œr$©rr)rr)rrr»rÉcSs
|jdSrËrÌrÎr    r    r
r#¤r$cSs
|jdSrËrÌrÎr    r    r
r#¦r$)rÉrÊcSs
|jdSrËrÌrÎr    r    r
r#«r$) rr_r{rr`rÚgroupbyÚaggrSrdZ
MultiIndexÚ from_tuplesr|)r ÚdfrErDr    r    r
Útest_groupby_aggs("ÿþ$$rÕcCsðdd„}|jtd|ddtƒdd…}t dddddgt|ƒd    œ¡}t t|d|d|d
|d |d gƒ¡}| d ¡d dd„¡}t    j
||ddt t|ƒ¡}t j dddddgt j d}| |¡ dd„¡}t    j
||dddS)NcSst t |¡¡Sr)rTrRr^)r0r    r    r
ÚDecimalArray__my_sum³sz8test_groupby_agg_ea_method.<locals>.DecimalArray__my_sumÚmy_sumF©Zraisingrrr)ÚidrÊr r´rµrÙrÊcSs
|j ¡Sr©Úvaluesr×rÎr    r    r
r#¼r$z,test_groupby_agg_ea_method.<locals>.<lambda>rÏrscSs
|j ¡SrrÚrÎr    r    r
r#Àr$)r«rrr_r{r`rrÑrÒrSrdrTr^rw)r¯rÖr rÔrErDrUZgrouperr    r    r
Útest_groupby_agg_ea_method¯s2rÜcCsxd
dd„}|jtd|ddtƒ}t t|ƒ¡}t |tt|ƒƒdœ¡}||dk||dk|jd|jd    dS) NcSs tdƒ‚dS)Nz0tried to convert a DecimalArray to a numpy array)Ú    Exceptionr/r    r    r
ÚDecimalArray__array__Ész;test_indexing_no_materialize.<locals>.DecimalArray__array__Z    __array__FrØ)r*r)r–r)rr*)N)    r«rrr_r`r{rrPÚat)r¯rÞr rUrÔr    r    r
Útest_indexing_no_materializeÄs
 
ràcCszt d¡t d¡g}tjt d¡t d¡gdd}tj|dd}|jdd    }t ||¡t |¡jdd    }t ||¡dS)
Nz1.1111z2.2222z1.11z2.22rªrsrr )rÊ)    rrrTr^r_Zto_numpyrSr²r`)rÛrEr*rDr    r    r
Útest_to_numpy_keywordÙsÿ  rácCsttjdt d¡t d¡gidd}| tƒ¡}d|jd<|rptjdt d¡t d¡gitƒd}t |j    |j    ¡dS)Nr*r r´rªrsrrÐ)
r_r{rrr‚rrÍrSZ assert_equalrÛ)Zusing_copy_on_writerÔZdf2rEr    r    r
Útest_array_copy_on_writeçs" 
ÿrâ)Vrr­ÚnumpyrTr9Zpandasr_Zpandas._testingZ_testingrSZpandas.api.typesrZpandas.tests.extensionrZ$pandas.tests.extension.decimal.arrayrrrrZfixturer r rrrrr%r&r-ZBaseDtypeTestsr.ZBaseInterfaceTestsr<ZBaseConstructorsTestsr>ZBaseReshapingTestsr?ZBaseGetitemTestsr@ZBaseIndexTestsrGZBaseMissingTestsrHrIZBaseNumericReduceTestsrYZBaseBooleanReduceTestsrZZBaseMethodsTestsr[ZBaseCastingTestsrjZBaseGroupbyTestsrkZBaseSetitemTestsrlZBasePrintingTestsrmr:ZxfailÚ    TypeErrorruryr}r;r„ZBaseArithmeticOpsTestsr…ZBaseComparisonOpsTestsr•rŸr¦Z_add_arithmetic_opsr°r³r¹r¾rÂrÄrÅrÇrÕrÜràrárâr    r    r    r
Ú<module>s˜   
 
 
 
 
 
 
 
 
     û
      
ÿ
2þ