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
U
¬ý°d' ã@sÆddlZddlmZddlZddlZddlmZddl    m
Z
dd„Z ej eddœdd    „ƒZ Gd
d „d ƒZej d ejejjjfejejjjfejejjjfg¡d d„ƒZdd„Zdd„Zdd„ZdS)éN)Ú    Generator)ÚaccessorcCs:Gdd„dtjƒ}dd„t|ƒƒDƒ}|ddgks6t‚dS)Nc@s(eZdZUdZeed<ddœdd„ZdS)ztest_dirname_mixin.<locals>.XéÚyN©ÚreturncSs
d|_dS)Né)Úz©Úself©r úZd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/test_register_accessor.pyÚ__init__sz&test_dirname_mixin.<locals>.X.__init__)Ú__name__Ú
__module__Ú __qualname__ÚxÚintÚ__annotations__rr r r r ÚXs
rcSsg|]}| d¡s|‘qS)Ú_)Ú
startswith)Ú.0Ú    attr_namer r r Ú
<listcomp>s
z&test_dirname_mixin.<locals>.<listcomp>rr    )rZ DirNamesMixinÚdirÚAssertionError)rÚresultr r r Útest_dirname_mixin sr)NNNrccsBz
dVW5zt||ƒWntk
r.YnX|j |¡XdS)z[Ensure that an attribute added to 'obj' during the test is
    removed when we're done
    N)ÚdelattrÚAttributeErrorÚ
_accessorsÚdiscard)ÚobjÚattrr r r Úensure_removeds
r%c@s.eZdZddœdd„Zedd„ƒZdd„ZdS)    Ú
MyAccessorNrcCs||_d|_dS)NÚitem)r#r')r r#r r r r*szMyAccessor.__init__cCs|jS©N©r'r
r r r Úprop.szMyAccessor.propcCs|jSr(r)r
r r r Úmethod2szMyAccessor.method)rrrrÚpropertyr*r+r r r r r&)s
r&zobj, registrarc    CsŒt|dƒxtt|ƒƒ}|dƒtƒ|tjk    r6|gƒn
|gtd}|jjdksRt    ‚tt|ƒƒ}||Adhkspt    ‚d|j
ks~t    ‚W5QRXdS)NÚmine©Zdtyper') r%Úsetrr&ÚpdÚSeriesÚobjectr-r*rr!)r#Z    registrarZbeforeÚoÚafterr r r Ú test_register6s        r5c    CsnttjdƒXtjj d¡tƒt ddg¡}|jj|ks>t    ‚|jj
dksNt    ‚|j  ¡dks`t    ‚W5QRXdS)Nr-rér') r%r0r1ÚapiÚ
extensionsÚregister_series_accessorr&r-r#rr*r+)Úsr r r Útest_accessor_worksIs r;c    Cs”tjj}z|t t¡6}tjj d¡t    ƒt ddg¡}|jj
dksFt ‚W5QRXt |dj ƒ}d|ksjt ‚d|ksvt ‚d|ks‚t ‚W5|tj_XdS)NÚmeanrr6r'rr&r1)r0r1r<ÚtmZassert_produces_warningÚ UserWarningr7r8r9r&r*rÚstrÚmessage)r<Úwr:Úmsgr r r Útest_overwrite_warnsTs   rCc
CsbttjdƒLtjj d¡Gdd„dƒƒ}tjtddtjgt    dj
W5QRXW5QRXdS)NÚbadc@seZdZddœdd„ZdS)z(test_raises_attribute_error.<locals>.BadNrcSs tdƒ‚dS)NÚwhoops)r )r Údatar r r risz1test_raises_attribute_error.<locals>.Bad.__init__)rrrrr r r r ÚBadgsrGrE)Úmatchr.) r%r0r1r7r8r9ÚpytestZraisesr r2rD)rGr r r Útest_raises_attribute_errords
 rJ)Ú
contextlibÚtypingrrIZpandasr0Zpandas._testingZ_testingr=Z pandas.corerrÚcontextmanagerr%r&ÚmarkZ parametrizer1r7r8r9Z    DataFrameZregister_dataframe_accessorZIndexZregister_index_accessorr5r;rCrJr r r r Ú<module>s(    ýþ