
    4iE                     d    S SK r S SKJr  S SKJr  S SKJr  S SKr	S SK
Jr   " S S5      rS rS rg)	    N)config)OptionError)Pandas4Warningc                      \ rS rSr\R
                  " SS9S 5       rS rS rS r	S r
\R                  R                  S	\\/5      S
 5       rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!Sr"g)
TestConfig   T)autousec              #     #    UR                  5        nUR                  [        S0 5        UR                  [        S[        R                  " [        R                  5      5        UR                  [        S0 5        UR                  [        S0 5        [        R
                  " SS5        S v   S S S 5        g ! , (       d  f       g = f7f)N_global_configoptions_deprecated_options_registered_optionschained_assignmentraise)contextsetattrcfDictWrapperr   register_option)selfmonkeypatchms      a/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/pandas/tests/config/test_config.pyclean_configTestConfig.clean_config   s       "aIIb*B/IIb)R^^B4E4E%FGIIb/4IIb/4 3W= #""s   CBB6-	C6
C Cc                     [        [        S5      (       d   e[        [        S5      (       d   e[        [        S5      (       d   e[        [        S5      (       d   eg )N
get_option
set_optionreset_optiondescribe_option)hasattrpdr   s    r   test_apiTestConfig.test_api   sO    r<((((r<((((r>****r,----    c                     [         R                  " S S/5      nU" S5        U" S 5        Sn[        R                  " [        US9   U" S5        S S S 5        g ! , (       d  f       g = f)Nr   zValue must be one of None\|12match皙?)r   is_one_of_factorypytestraises
ValueError)r   vmsgs      r   test_is_one_of_factory!TestConfig.test_is_one_of_factory#   sJ      $,	"	$.]]:S1cF 211s   	A
A$c                 (   [         R                  " SSS5        Sn[        R                  " [        US9   [         R                  " SSS5        S S S 5        Sn[        R                  " [        US9   [         R                  " SSS5        S S S 5        [        R                  " [        US9   [         R                  " SSS5        S S S 5        S	n[        R                  " [
        US9   [         R                  " S
S5        S S S 5        [        R                  " [
        US9   [         R                  " SS5        S S S 5        Sn[        R                  " [
        US9   [         R                  " SS5        S S S 5        [         R                  " SSS5        [         R                  " SSS5        g ! , (       d  f       GNe= f! , (       d  f       GN;= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f)Na   docz&Option 'a' has already been registeredr(   z.Path prefix to option 'a' is already an optionza.b.c.d1a.b.c.d2zfor is a python keywordforr   za.for.bz(oh my goddess! is not a valid identifierzOh my Goddess!zk.b.c.d1zk.b.c.d2)r   r   r,   r-   r   r.   r   r0   s     r   test_register_optionTestConfig.test_register_option,   sa   
35) 7]];c2sAu- 3 ?]];c2z1e4 3]];c2z1e4 3 (]]:S1ua( 2]]:S1y!, 2 9]]:S1/3 2 	:q%0
:q%05 32
 3222
 2111 21sG   F+0F=*G&G!G2H+
F:=
G
G!
G/2
H 
Hc                 4   [         R                  " SSS5        [         R                  " SSS5        [         R                  " S[        5        [         R                  " SSS5        [         R                  " SSS	5        [         R                  " S
S5        [         R                  " SS5        [         R                  " SS5        [         R                  " S[        SS9  [         R                  " SS5        Sn[        R
                  " [        US9   [         R                  " S5        S S S 5        S[         R                  " SSS9;   d   eS[         R                  " SSS9;   d   eS[         R                  " SSS9;   d   eS[         R                  " SSS9;   d   eS	[         R                  " SSS9;   d   eS[         R                  " S
SS9;   d   eS[         R                  " SSS9;   d   eS[         R                  " SSS9;   d   eS[         R                  " SSS9;   d   eS[         R                  " SSS9;   d   eS[         R                  " SSS9;  d   e[         R                  " SS5        S[         R                  " SSS9;   d   eg ! , (       d  f       GNk= f)Nr4   r5   r6   bdoc2zc.d.e1doc3zc.d.e2doc4fzg.hk   rkeylfoozNo such keys\(s\)r(   no.such.keyF_print_descprecated	availablebar)	r   r   deprecate_optionFutureWarningr,   r-   r   r    r   r9   s     r   test_describe_optionTestConfig.test_describe_optionM   s5   
35)
36*
C/
8Q/
8Q/
3"
5!$
3"
E=s;
3& #]];c2}- 3 **3EBBBB++CUCCCCR//GGGG++H%HHHH++H%HHHH b00%HHHHb00EJJJJR//5IIIIb((EBBBB **3EBBBBB..sFFFF
c5!**3EBBBB- 32s   J
Jcategoryc                 X   [         R                  " SSS5        S[         R                  " SSS9;   d   e[         R                  " S5      S:X  d   e[         R                  " SS	5        [         R                  " S
5      S	:X  d   eSn[
        R                  " [        US9   [         R                  " S5        S S S 5        [         R                  " SU5        Sn[        R                  " XS9   [         R                  " S
5        S S S 5        g ! , (       d  f       N[= f! , (       d  f       g = f)NKanBANr5   r6   kanbaNFrI   kanBaNKanBanrC   kAnBaN#No such keys\(s\): 'no_such_option'r(   no_such_optionz5'kanban' is deprecated, please refrain from using it.)r   r   r    r   r   r,   r-   r   rN   tmassert_produces_warning)r   rR   r0   s      r   test_case_insensitive TestConfig.test_case_insensitivet   s    
8Q.**8GGGG}}X&!+++
h"}}X&!+++ 5]];c2MM*+ 3 	Hh/E''<MM(# =< 32
 =<s   D
*D

D
D)c                    [         R                  " SSS5        [         R                  " SSS5        [         R                  " SS S5        [         R                  " S5      S:X  d   e[         R                  " S5      S:X  d   e[         R                  " S5      b   eSn[        R                  " [
        US	9   [         R                  " S
5        S S S 5        g ! , (       d  f       g = f)Nr4   r5   r6   b.chullor>   b.brY   r(   rZ   )r   r   r   r,   r-   r   r9   s     r   test_get_optionTestConfig.test_get_option   s    
35)
5'62
5$/ }}S!Q&&&}}U#w...}}U#+++ 5]];c2MM*+ 322s   5C
C#c                     [         R                  " SSS5        [         R                  " SSS5        [         R                  " SS S5        [         R                  " S5      S:X  d   e[         R                  " S5      S:X  d   e[         R                  " S5      b   e[         R                  " SS5        [         R                  " SS	5        [         R                  " SS
5        [         R                  " S5      S:X  d   e[         R                  " S5      S	:X  d   e[         R                  " S5      S
:X  d   eSn[        R
                  " [        US9   [         R                  " SS 5        S S S 5        g ! , (       d  f       g = f)Nr4   r5   r6   r`   ra   r>   rb   rC   wurldr*   z No such keys\(s\): 'no.such.key'r(   rH   )r   r   r   r   r,   r-   r   r9   s     r   test_set_optionTestConfig.test_set_option   s   
35)
5'62
5$/}}S!Q&&&}}U#w...}}U#+++
c1
eW%
eS!}}S!Q&&&}}U#w...}}U#s***1]];c2MM-. 322s   E//
E=c                     Sn[         R                  " [        US9   [        R                  " 5         S S S 5        g ! , (       d  f       g = f)N4Must provide an even number of non-keyword argumentsr(   r,   r-   r.   r   r   r9   s     r   test_set_option_empty_args%TestConfig.test_set_option_empty_args   s*    D]]:S1MMO 211s	   ;
A	c                     Sn[         R                  " [        US9   [        R                  " SSS5        S S S 5        g ! , (       d  f       g = f)Nrj   r(   za.brC   r`   rk   r9   s     r   test_set_option_uneven_args&TestConfig.test_set_option_uneven_args   s1    D]]:S1MM%E* 211s	   >
Ac                     Sn[         R                  " [        US9   [        R                  " S5        S S S 5        g ! , (       d  f       g = f)Nrj   r(   rC   rk   r9   s     r   ,test_set_option_invalid_single_argument_type7TestConfig.test_set_option_invalid_single_argument_type   s-    D]]:S1MM! 211s	   <
A
c                    [         R                  " SSS5        [         R                  " SSS5        [         R                  " SS S5        [         R                  " S5      S:X  d   e[         R                  " S5      S:X  d   e[         R                  " S5      b   e[         R                  " SSSS SS	5        [         R                  " S5      S:X  d   e[         R                  " S5      b   e[         R                  " S5      S	:X  d   eg )
Nr4   r5   r6   r`   ra   r>   rb   2      $@r   r   r   r   r#   s    r   test_set_option_multiple#TestConfig.test_set_option_multiple   s    
35)
5'62
5$/}}S!Q&&&}}U#w...}}U#+++
c3tUD9}}S!S(((}}U#+++}}U#t+++r&   c                    [         R                  " SSS5        [         R                  " SSS5        [         R                  " SS S5        [         R                  " S5      S:X  d   e[         R                  " S5      S:X  d   e[         R                  " S5      b   eSS S	S
.n[         R                  " U5        [         R                  " S5      S:X  d   e[         R                  " S5      b   e[         R                  " S5      S	:X  d   eg )Nr4   r5   r6   r`   ra   r>   rb   ru   rv   )r4   r`   rb   rw   )r   options_dicts     r   test_set_option_dictTestConfig.test_set_option_dict   s     	35)
5'62
5$/}}S!Q&&&}}U#w...}}U#+++ d;
l#}}S!S(((}}U#+++}}U#t+++r&   c                    [         R                  " SSS[         R                  S9  [         R                  " SSS[         R                  S9  [         R                  " SSS[         R                  S9  S	n[
        R                  " [        US
9   [         R                  " SSS[         R                  S9  S S S 5        [         R                  " SS5        [         R                  " SS5        [         R                  " SS5        [         R                  " SS 5        [
        R                  " [        US
9   [         R                  " SS 5        S S S 5        [
        R                  " [        US
9   [         R                  " SS5        S S S 5        Sn[
        R                  " [        US
9   [         R                  " SSS[         R                  S9  S S S 5        [
        R                  " [        US
9   [         R                  " SSS[         R                  S9  S S S 5        Sn[
        R                  " [        US
9   [         R                  " SS5        S S S 5        [         R                  " S [         R                  /5      n[         R                  " SS SUS9  [         R                  " SSR                  5        [         R                  " SS 5        [
        R                  " [        SS
9   [         R                  " SS5        S S S 5        g ! , (       d  f       GNX= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNw= f! , (       d  f       GNB= f! , (       d  f       GN= f! , (       d  f       g = f)Nr4   r5   r6   	validatordr`   ra   r>   z$Value must have type '<class 'int'>'r(   r7   NOrC   rf   abz+Value must be a nonnegative integer or Noneza.b.c.d3z;Value must be an instance of <class 'str'>\|<class 'bytes'>r=   c                      g N r   r&   r   <lambda>,TestConfig.test_validation.<locals>.<lambda>   s    r&   z%.1fzValue must be a callable)r   r   is_intis_nonnegative_intis_textr,   r-   r.   r   r+   is_callableformat)r   r0   r   s      r   test_validationTestConfig.test_validation   s5   
35BII>
35B4I4IJ
5'6RZZH4]]:S1z4"))L 2 	c1
eW%
c1
c4  ]]:S1MM#t$ 2]]:S1MM#t$ 2 <]]:S1z4"BWBWX 2]]:S1z2u@U@UV 2 M]]:S1MM%# 2 (($)?@	
3eyI
c6==)
c4 ]]:-GHMM#v& IH9 21 2111 2111 21 IHsT   &L.L'L&"&L8)&M
2M!M.
L
L#&
L58
M

M
M+.
M<c                    [         R                  " SSS[         R                  S9  [         R                  " SSS[         R                  S9  [         R                  " S5      S:X  d   e[         R                  " S5      S:X  d   e[         R
                  " SS5        [         R
                  " SS	5        [         R                  " S5      S:X  d   e[         R                  " S5      S	:X  d   e[         R                  " S5        [         R                  " S5      S:X  d   e[         R                  " S5      S	:X  d   e[         R                  " S5        [         R                  " S5      S:X  d   e[         R                  " S5      S:X  d   eg )
Nr4   r5   r6   r   r`   ra   r>   rC   rf   r   r   r   is_strr   r   r   r#   s    r   test_reset_optionTestConfig.test_reset_option   s   
35BII>
5'6RYYG}}S!Q&&&}}U#w...
c1
eW%}}S!Q&&&}}U#w...
}}S!Q&&&}}U#w...
}}S!Q&&&}}U#w...r&   c                 p   [         R                  " SSS[         R                  S9  [         R                  " SSS[         R                  S9  [         R                  " S5      S:X  d   e[         R                  " S5      S:X  d   e[         R
                  " SS5        [         R
                  " SS	5        [         R                  " S5      S:X  d   e[         R                  " S5      S	:X  d   e[         R                  " S
5        [         R                  " S5      S:X  d   e[         R                  " S5      S:X  d   eg )Nr4   r5   r6   r   r`   ra   r>   rC   rf   allr   r#   s    r   test_reset_option_all TestConfig.test_reset_option_all  s    
35BII>
5'6RYYG}}S!Q&&&}}U#w...
c1
eW%}}S!Q&&&}}U#w...
}}S!Q&&&}}U#w...r&   c                    [         R                  " S[        5        [        R                  " [        SS9   [
        R                  " [        SS9   [         R                  " S5        S S S 5        S S S 5        [         R                  " SSS[         R                  S9  [         R                  " S	S
S5        [         R                  " SS
S5        [         R                  " S[        SS9  [        R                  " [        SS9   [         R                  " S5        Sn[
        R                  " [        US9   [         R                  " S[        5        S S S 5        S S S 5        [         R                  " S	[        S5        [        R                  " [        SS9   [         R                  " S	5        S S S 5        [         R                  " SSS5        [         R                  " SSS5        [         R                  " S5      S:X  d   e[         R                  " S5      S:X  d   e[         R                  " S[        SS9  [        R                  " [        SS9   [         R                  " S5      S:X  d   e S S S 5        [        R                  " [        SS9   [         R                  " SS5        S S S 5        [        R                  " [        SS9   [         R                  " S5      S:X  d   e S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)NrG   
deprecatedr(   zNo such keys.s.: 'foo'r4   r5   r6   r   r`   ra   r>   	nifty_ver)removal_verzeprecated.*nifty_verz1Option 'a' has already been defined as deprecatedzzounds!d.azd.deprM   rD   	eprecatedbaz)r   rN   rO   r[   r\   r,   r-   KeyErrorr   r   r   r   r   r9   s     r   test_deprecate_option TestConfig.test_deprecate_option!  sU   
E=1''\Jx/GHe$ I K 	35BII>
5'62
5'62
CKH''=STMM#EC{#6##C7 7	 U 	E=)<''YGMM%  H 	5%0
7E62}}U#u,,,}}W%...
G]?''[I==)U222 J ''[IMM'5) J ''[I==)U222 JIA IH KJ 76	 UT HG JI JI JIsw   K<K*&K<>2L 0LL L2M
MM&*
K9	4K<<
L
L	L  
L/2
M
M
M#&
M4c                 
   [         R                  " S5         [         R                  " SSS5        [         R                  " SSS5        [         R                  " S5      S:X  d   e[         R                  " S5      S:X  d   e[         R                  " SS5        [         R                  " SS	5        [         R                  " S5      S:X  d   e[         R                  " S5      S	:X  d   e S S S 5        [         R                  " S
5      S:X  d   e[         R                  " S5      S	:X  d   eS[         R
                  " S
SS9;   d   eS[         R
                  " SSS9;   d   e[         R                  " S
5        [         R                  " S5        [         R                  " S5         [         R                  " S5      S:X  d   e[         R                  " S5      S:X  d   e S S S 5        g ! , (       d  f       GN= f! , (       d  f       g = f)Nbaser4   r5   doc1r=   rC   r>         zbase.azbase.bFrI   )r   config_prefixr   r   r   r    r   r#   s    r   test_config_prefixTestConfig.test_config_prefixI  s   f%sAv.sAv.==%***==%***MM#q!MM#q!==%***==%*** & }}X&!+++}}X&!+++++H%HHHH++H%HHHH
!
!f%==%***==%*** &%' &%& &%s   CG"9G4"
G14
Hc                   ^^ S /mS /mUU4S jn[         R                  " SSUS9  [         R                  " SSUS9  TS	 TS	 [         R                  " SS5        TS   S:X  d   eTS   S:X  d   eTS	 TS	 [         R                  " SS5        TS   S:X  d   eTS   S:X  d   eTS	 TS	 [         R                  " S5        TS   S:X  d   eg )	Nc                 r   > TR                  U 5        TR                  [        R                  " U 5      5        g r   )appendr   r   )keyrB   r/   s    r   callback*TestConfig.test_callback.<locals>.callbacke  s#    HHSMHHR]]3'(r&   r   rG   cbzd.bfoozboo)r   r   r   r   )r   r   rB   r/   s     @@r   test_callbackTestConfig.test_callbacka  s    FF	) 	5%H5
5%H5bE1R5
eV$u~~ubE1R5
eU#u~~u~~bE1R5
u~~r&   c                   ^ S m[         R                  " SS5        T" S5        [         R                  " SS5         T" S5        [         R                  " SS5         T" S5        S S S 5        T" S5        S S S 5        T" S5        [         R                  " SS5        T" S5        [         R                  " SS5      U4S j5       nU" 5         g ! , (       d  f       Nm= f! , (       d  f       Nn= f)	Nc                 <    [         R                  " S5      U :X  d   eg )Nr4   r   r   vals    r   eq.TestConfig.test_set_ContextManager.<locals>.eq{  s    ==%,,,r&   r4   r            {   c                     > T " S5        g Nr   r   r   s   r   rA   -TestConfig.test_set_ContextManager.<locals>.f  
    sGr&   r   r   option_contextr   r   rA   r   s     @r   test_set_ContextManager"TestConfig.test_set_ContextManagerz  s    	- 	3"
1sB'rF""3+2 ,rF	 (
 	1
c2
2 
		3	$	 
%	 	
 ,+ ('s#    C	C$C
C	C
C*c                 B  ^ S m[         R                  " SS5        [         R                  " SS5        T" S5        [         R                  " SSS.5         T" S5        [         R                  " SSS.5         T" S5        S S S 5        T" S5        S S S 5        T" S5        [         R                  " SS5        [         R                  " SS5        T" S5        [         R                  " S	S	S.5      U4S
 j5       nU" 5         g ! , (       d  f       N= f! , (       d  f       N= f)Nc                 t    [         R                  " S5      U :X  d   e[         R                  " S5      U :X  d   eg )Nr4   r`   r   r   s    r   r   3TestConfig.test_set_ContextManager_dict.<locals>.eq  s0    ==%,,,=='3...r&   r4   r   r`   r   )r4   r`   r   r   r   c                     > T " S5        g r   r   r   s   r   rA   2TestConfig.test_set_ContextManager_dict.<locals>.f  r   r&   r   r   s     @r   test_set_ContextManager_dict'TestConfig.test_set_ContextManager_dict  s    	/ 	3"
5!$
1R34rF""B#782 9rF	 5
 	1
c2
eR 
2 
		S1	2	 
3	 	
 98 54s$   "D6	C??D?
D		D
Dc                   ^ / mU4S jn[         R                  " SS5        [         R                  " SSUS9  [         R                  nUR                  S:X  d   e[         R                  " SS5         UR                  S:X  d   e S S S 5        SUl        [         R
                  " S5      S:X  d   e[         R                  " S5        UR                  [         R
                  " S5      :X  d   eSn[        R                  " [        US	9   S
Ul
        S S S 5        [        R                  " [        US	9   S
Ul        S S S 5        S
Ul        [        T5      S
:X  d   eg ! , (       d  f       N= f! , (       d  f       Na= f! , (       d  f       NI= f)Nc                 (   > TR                  S5        g )NT)r   )r   holders    r   f3,TestConfig.test_attribute_access.<locals>.f3  s    MM$r&   r4   r   cr   r   i  z.You can only set the value of existing optionsr(   r5   )r   r   r   r4   r   r   r   r,   r-   r   r=   displayr   len)r   r   r   r0   r   s       @r   test_attribute_access TestConfig.test_attribute_access  s#   	  	3"
3b)**yyA~~sB'99?"? ( 	}}S!S(((
yyBMM#....>]];c2GI 3]];c2GO 3 	6{a# (' 3222s$   0EE)/E:
E&)
E7:
Fc                 J   SnSnSn[         R                  " X15        [         R                  " X25      n[         R                  " U5      U:X  d   eU   [         R                  " U5      U:X  d   e S S S 5        [         R                  " U5      U:X  d   eg ! , (       d  f       N+= f)N<   
   r4   )r   r   r   r   )r   original_valuecontext_valueoption_namectxs        r   test_option_context_scope$TestConfig.test_option_context_scope  s    
 
;7 ;}}[)^;;; ==->>>  }}[)^;;;	 Ss   B
B"c                     [         R                  n[        R                  " [        SS9   UR
                    S S S 5        [        US5      (       a   eg ! , (       d  f       N"= f)NzNo such optionr(   bananas)r   r   r,   r-   r   r   r!   )r   r   s     r   test_dictwrapper_getattr#TestConfig.test_dictwrapper_getattr  sG    **]];.>?OO @7I..... @?s   A
A!r   N)#__name__
__module____qualname____firstlineno__r,   fixturer   r$   r1   r:   rP   markparametrizeDeprecationWarningrO   r]   rc   rg   rl   ro   rr   rx   r|   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__r   r&   r   r   r      s    ^^D! ".1B%CN [[Z*<m)LM$ N$$,/*
+

,,$#'J/$/&3P+02.6 <<,/r&   r   c                  *   [         R                  " [        SS9   [        R                  " S5        S S S 5        [         R                  " [        SS9   [        R
                  " SS5        S S S 5        g ! , (       d  f       NH= f! , (       d  f       g = f)Nzis deprecatedr(   zfuture.no_silent_downcastingT)r[   r\   r   r   r   r   r   r&   r   %test_no_silent_downcasting_deprecatedr     s^    		#	#N/	J
45 
K		#	#N/	J
4d; 
K	J 
K	J	J	Js   A3B3
B
Bc                      [         R                  " [        SS9   [        R                  " SS5          S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)NzNo such keysr(   invalidT)r,   r-   r   r   r   r   r&   r   "test_option_context_invalid_optionr     s@    	{.	9y$/ 0 
:	9// 
:	9s!   AAA
A	A
A$)r,   pandas._configr   r   pandas._config.configr   pandas.errorsr   pandasr"   pandas._testing_testingr[   r   r   r   r   r&   r   <module>r      s.     ' - (  Y/ Y/x<r&   