zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
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
U
­ý°d"ã@sŒddlmZddlZddlZddlZddlmZ    ddl
m Z ddl m Z Gdd„de ƒZGdd„deƒZGd    d
„d
eƒZGd d „d eƒZdS) é)Ú annotationsN)Úops)ÚBaseExtensionTestsc@s\eZdZddœdd„Zefdddœdd„Zd    d
„Zefdddœd d „Zefdd œdd„Z    dS)Ú BaseOpsUtilÚstr)Úop_namecCs
t |¡S©N)ÚtmÚget_op_from_name)Úselfr©r úVd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/extension/base/ops.pyr
szBaseOpsUtil.get_op_from_nameú    pd.Series)ÚserrcCs | |¡}| |||||¡dSr)r
Ú    _check_op)r rrÚotherÚexcÚopr r r Ú check_opnames
zBaseOpsUtil.check_opnamecCsNt|tjƒr>t|jƒdkrt‚|jdd…df ||¡ ¡}n | ||¡}|S)Nér)    Ú
isinstanceÚpdÚ    DataFrameÚlenÚcolumnsÚNotImplementedErrorÚilocÚcombineÚto_frame)r ÚobjrrÚexpectedr r r Ú_combines    zBaseOpsUtil._combinec    Csd|dkr@|||ƒ}| |||¡}t|t|ƒƒs2t‚| ||¡n t |¡|||ƒW5QRXdSr)r!rÚtypeÚAssertionErrorZ assert_equalÚpytestÚraises)r rrrrrÚresultr r r r rs
 zBaseOpsUtil._check_op©rc        Cs‚|dkr^|||ƒ\}}|tkr2||||}}n||||}}| ||¡| ||¡n t |¡t||ƒW5QRXdSr)ÚdivmodÚassert_series_equalr$r%)    r rrrrZ
result_divZ
result_modZ expected_divZ expected_modr r r Ú_check_divmod_op*s  zBaseOpsUtil._check_divmod_opN)
Ú__name__Ú
__module__Ú __qualname__r
Ú    Exceptionrr!rrr*r r r r r s 
ÿ rc@seZdZUdZeZded<eZded<eZded<eZ    ded<dd„Z
d    d
„Z d d „Z d d„Z dd„Zdd„Zej dejejg¡dd„ƒZdS)ÚBaseArithmeticOpsTestsa?
    Various Series and DataFrame arithmetic ops methods.
 
    Subclasses supporting various ops should set the class variables
    to indicate that they support ops of that kind
 
    * series_scalar_exc = TypeError
    * frame_scalar_exc = TypeError
    * series_array_exc = TypeError
    * divmod_exc = TypeError
    ztype[Exception] | NoneÚseries_scalar_excÚframe_scalar_excÚseries_array_excÚ
divmod_exccCs,|}t |¡}|j|||jd|jddS©Nr©r)rÚSeriesrrr0©r ÚdataÚall_arithmetic_operatorsrrr r r Útest_arith_series_with_scalarKs
z4BaseArithmeticOpsTests.test_arith_series_with_scalarcCs.|}t d|i¡}|j|||d|jddS)NÚArr5)rrrr1)r r8r9rZdfr r r Útest_arith_frame_with_scalarQsz3BaseArithmeticOpsTests.test_arith_frame_with_scalarcCs<|}t |¡}|j||t |jdgt|ƒ¡|jddSr4)rr6rrrr2r7r r r Útest_arith_series_with_arrayWs
ÿz3BaseArithmeticOpsTests.test_arith_series_with_arraycCs8t |¡}|j|td|jd|jdtj||jddS)Nrr5)rr6r*r(r3rÚrdivmod)r r8rr r r Ú test_divmod_s
z"BaseArithmeticOpsTests.test_divmodcCsJt |¡}| |t|¡|}| |tj|¡t |¡}| |tj|¡dSr)rr6r*r(rr>)r r8Z data_for_twosrrr r r Útest_divmod_series_arrayds 
 
z/BaseArithmeticOpsTests.test_divmod_series_arraycCs0t |¡}||}t ||¡}| ||¡dSr©rr6r)©r r8rr&r r r r Ú$test_add_series_with_extension_arrayns
z;BaseArithmeticOpsTests.test_add_series_with_extension_arrayÚboxcCsbt |¡}|tjkr| ¡}t|dƒsH|j tjj    t
|ƒj ›dd¡|  |¡}|t ks^t‚dS)NÚ__add__z does not implement add)Úreason)rr6rrÚhasattrÚnodeZ
add_markerr$ÚmarkZxfailr"r+rEÚNotImplementedr#)r Úrequestr8rDrr&r r r Ú6test_direct_arith_with_ndframe_returns_not_implementedts
 
 
ÿÿ
zMBaseArithmeticOpsTests.test_direct_arith_with_ndframe_returns_not_implementedN)r+r,r-Ú__doc__Ú    TypeErrorr0Ú__annotations__r1r2r3r:r<r=r?r@rCr$rIÚ parametrizerr6rrLr r r r r/9s
 
r/c@sLeZdZdZddœdd„Zdd„Zdd    „Zej     d
e
j e
j g¡d d „ƒZ d S)ÚBaseComparisonOpsTestsz4Various Series and DataFrame comparison ops methods.rr'c    
Cs´|jdkr.|||ƒ}| ||¡}| ||¡n‚d}z|||ƒ}Wn&tk
rf}z|}W5d}~XYnX|dkrŠ| ||¡}| ||¡n&t t|ƒ¡| ||¡W5QRXdS)N)ÚeqÚne)r+rr)r.r$r%r")    r rr8rrr&r rÚerrr r r Ú_compare_otherŠs
 
  z%BaseComparisonOpsTests._compare_othercCst |¡}| |||d¡dS©Nr)rr6rU)r r8Ú comparison_oprr r r Útest_compare_scalar s
z*BaseComparisonOpsTests.test_compare_scalarcCs6t |¡}t |dgt|ƒ¡}| ||||¡dSrV)rr6rrU)r r8rWrrr r r Útest_compare_array¤s
z)BaseComparisonOpsTests.test_compare_arrayrDcCst |¡}|tjkr| ¡}t|dƒr>| |¡}|tksTt‚nt     t
|ƒj ›d¡t|dƒrv|  |¡}|tksŒt‚nt     t
|ƒj ›d¡dS)NÚ__eq__z does not implement __eq__Ú__ne__z does not implement __ne__) rr6rrrGrZrJr#r$Úskipr"r+r[)r r8rDrr&r r r rL©s
 
 
 
 
 
zMBaseComparisonOpsTests.test_direct_arith_with_ndframe_returns_not_implementedN)r+r,r-rMrUrXrYr$rIrPrr6rrLr r r r rQ‡s rQc@s6eZdZdd„Zej dejej    ej
g¡dd„ƒZ dS)ÚBaseUnaryOpsTestscCs4tj|dd}|}tj|dd}| ||¡dS)NÚname)r^rArBr r r Ú test_invert¿szBaseUnaryOpsTests.test_invertÚufuncc Cs”tjdtjdtjdi|}d}zt||ƒƒ}WnLtk
rz}z.|}t t|ƒt    f¡||ƒW5QRXW5d}~XYnX||ƒ}| 
||¡dS)NÚ__pos__Ú__neg__Ú__abs__) ÚnpÚpositiveÚnegativeÚabsÚgetattrr.r$r%r"rNZassert_extension_array_equal)r r8r`Úattrrr&rTZaltr r r Ú#test_unary_ufunc_dunder_equivalenceÅsÿ$z5BaseUnaryOpsTests.test_unary_ufunc_dunder_equivalenceN) r+r,r-r_r$rIrPrdrerfrgrjr r r r r]¾sr])Ú
__future__rÚnumpyrdr$ZpandasrZpandas._testingZ_testingr    Z pandas.corerZ pandas.tests.extension.base.baserrr/rQr]r r r r Ú<module>s    -N7