1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
U
®ý°dnã@s6dZddlZddlZddlmZddlmZedddgddd;d    d
„ƒZd d „Z    d d„Z
dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zeddd<dd„ƒZdd„Zd d!„Zd"d#„Zd$d%„Zeddd=d&d'„ƒZd(d)„Zd*d+„Zd,d-„Zd.d/„Zeddd>ddd0œd1d2„ƒZd3d4„ZGd5d6„d6ƒZd7d8„Zd9d:„ZdS)?z:
Tests for the `deprecate_nonkeyword_arguments` decorator
éN)Údeprecate_nonkeyword_argumentsz1.1ÚaÚbZ f_add_inputs)ÚversionÚ allowed_argsÚnamecCs||||S©N©©rrÚcÚdr    r    úld:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/util/test_deprecate_nonkeyword_arguments.pyÚf srcCstt t¡ƒdkst‚dS)Nz(a, b=0, *, c=0, d=0))ÚstrÚinspectÚ    signaturerÚAssertionErrorr    r    r    r Útest_f_signaturesrc    Cs*t d¡tdƒdkst‚W5QRXdS)Né©ÚtmÚassert_produces_warningrrr    r    r    r Útest_one_arguments rc    Cs.t d¡tddddks t‚W5QRXdS)Nré)r érr    r    r    r Útest_one_and_one_argumentss rc    Cs,t d¡tddƒdkst‚W5QRXdS)Néérrr    r    r    r Útest_two_arguments"s rc    Cs2t d¡tddddddks$t‚W5QRXdS)Nrér©r r é rr    r    r    r Útest_two_and_two_arguments's r"c    Cs.t t¡tdddƒdks t‚W5QRXdS©Nrrr!©rrÚ FutureWarningrrr    r    r    r Útest_three_arguments,s r&c    Cs0t t¡tddddƒdks"t‚W5QRXdS)Nréréé
r$r    r    r    r Útest_four_arguments1s r*c    Csttjdd^}t d¡tdddƒdks,t‚t|ƒdks<t‚|D]$}|jtksRt‚t|j    ƒdks@t‚q@W5QRXdS)    NT©ÚrecordÚalwaysrrr!rzyStarting with pandas version 1.1 all arguments of f_add_inputs except for the arguments 'a' and 'b' will be keyword-only.)
ÚwarningsÚcatch_warningsÚ simplefilterrrÚlenÚcategoryr%rÚmessage©ÚwZactual_warningr    r    r Ú)test_three_arguments_with_name_in_warning6s
ÿr6)rc
Cs2t d¡||||W5QR£SQRXdSr)rrr
r    r    r ÚgCs r7cCstt t¡ƒdkst‚dS)Nz(a, *, b=0, c=0, d=0))rrrr7rr    r    r    r Útest_g_signatureIsr8c    Cs2t d¡tddddddks$t‚W5QRXdS)Nrrr)rr r r!)rrr7rr    r    r    r Ú1test_one_and_three_arguments_default_allowed_argsMs r9c    Cs.t t¡tdddƒdks t‚W5QRXdSr#)rrr%r7rr    r    r    r Ú)test_three_arguments_default_allowed_argsRs r:c    Csttjdd^}t d¡tdddƒdks,t‚t|ƒdks<t‚|D]$}|jtksRt‚t|j    ƒdks@t‚q@W5QRXdS)    NTr+r-rrr!rzeStarting with pandas version 1.1 all arguments of g except for the argument 'a' will be keyword-only.)
r.r/r0r7rr1r2r%rr3r4r    r    r Ú<test_three_positional_argument_with_warning_message_analysisWs
ÿr;cCs||||Srr    r
r    r    r Úhdsr<cCstt t¡ƒdkst‚dS©Nz(*, a=0, b=0, c=0, d=0))rrrr<rr    r    r    r Útest_h_signatureisr>c    Cs.t d¡tddddks t‚W5QRXdS)Nrr')rrr)rrr<rr    r    r    r Útest_all_keyword_argumentsms r?c    Cs*t t¡tdƒdkst‚W5QRXdS)Né)rrr%r<rr    r    r    r Útest_one_positional_argumentrs rAc    CsptjddZ}t d¡tdƒdks(t‚t|ƒdks8t‚|D]$}|jtksNt‚t|j    ƒdks<t‚q<W5QRXdS)NTr+r-rrzIStarting with pandas version 1.1 all arguments of h will be keyword-only.)
r.r/r0r<rr1r2r%rr3r4r    r    r Ú:test_one_positional_argument_with_warning_message_analysisws
ÿrBr cCs||||Srr    r
r    r    r Úi„srCcCstt t¡ƒdkst‚dSr=)rrrrCrr    r    r    r Útest_i_signature‰srDc@s&eZdZedddgdddd„ƒZdS)ÚFooNÚselfÚbar)rrcCsdSrr    )rFrGZfoobarr    r    r ÚbazŽszFoo.baz)NN)Ú__name__Ú
__module__Ú __qualname__rrHr    r    r    r rEsrEcCstt tj¡ƒdkst‚dS)Nz (self, bar=None, *, foobar=None))rrrrErHrr    r    r    r Útest_foo_signature“srLc    Cs0d}tjt|dtƒ dd¡W5QRXdS)NzlIn a future version of pandas all arguments of Foo\.baz except for the argument \'bar\' will be keyword-only)ÚmatchZquxZquox)rrr%rErH)Úmsgr    r    r Ú
test_class—sÿrO)rrr)rrr)rrrr)rr) Ú__doc__rr.Zpandas.util._decoratorsrZpandas._testingZ_testingrrrrrrr"r&r*r6r7r8r9r:r;r<r>r?rArBrCrDrErLrOr    r    r    r Ú<module>sH  ÿ