
    h                         S SK r S SKrS SKrS SKrS SKJrJr   " S S\5      r " S S\5      r	\R                  R                  S\	" 5       \" 5       /5      S 5       rS	 rS
 rS rS rS rg)    N)BackendPrioritiesConfigc                   4    \ rS rSr% Sr\\S'   \\S'   S rSr	g)ExampleConfig   Example configuration.xyc                     US:X  a  US::  a  [        S5      eUS:X  a   [        U[        5      (       d  [        S5      eU$ )Nr	   r   x must be positiver
   y must be a str)
ValueError
isinstancestr	TypeError)selfkeyvalues      R/var/www/html/env/lib/python3.13/site-packages/networkx/utils/tests/test_config.py_on_setattrExampleConfig._on_setattr   s?    #:%1*122#:j44-..     N)
__name__
__module____qualname____firstlineno____doc__int__annotations__r   r   __static_attributes__r   r   r   r   r      s     
F
Fr   r   c                       \ rS rSrSrg)EmptyConfig   r   N)r   r   r   r   r!   r   r   r   r#   r#      s    r   r#   cfgc                 p   [        U 5      / :X  d   e[        R                  " [        5         SU l        S S S 5        [        R                  " [
        5         SU S'   S S S 5        [        R                  " [        5         U R                    S S S 5        [        R                  " [
        5         U S     S S S 5        [        U 5      S:X  d   eSU ;  d   eX :X  d   eU R                  SS5      S:X  d   e[        U R                  5       5      [        5       :X  d   e[        U R                  5       5      [        5       :X  d   e[        U R                  5       5      [        5       :X  d   e[        R                  " [        R                  " U 5      5      nX:X  d   e[        U [         R"                  R$                  5      (       d   e[        U [         R"                  R&                  5      (       d   eg ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNz= f)N   r	   r      )dirpytestraisesAttributeErrorr	   KeyErrorlengetsetkeysvaluesitemspickleloadsdumpsr   collectionsabc
CollectionMappingr%   cfg2s     r   test_config_emptyr=      s{   s8r>>	~	& 
'	x	 C 
!	~	& 
'	x	 C 
!s8q==c>>::773?asxxz?ce###szz|%%%syy{su$$$<<S)*D;;c;??556666c;??223333% 
'	&	 	 	&	&	 	 s/   G0H>H-H&0
G?
H
H#&
H5c                  T	   [         R                  " [        SS9   [        5         S S S 5        [         R                  " [        SS9   [        SSS9  S S S 5        [         R                  " [        SS9   [        SSS	S
9  S S S 5        [         R                  " [        SS9   [        S	S9  S S S 5        [        SSS9n U R                  S:X  d   eU S   S:X  d   eU S   S:X  d   eU R                  S:X  d   eSU ;   d   eSU ;   d   eSU ;  d   e[        U 5      S:X  d   e[        [        U 5      5      SS1:X  d   e[        U R                  5       5      SS1:X  d   e[        U R                  5       5      SS1:X  d   e[        U R                  5       5      SS1:X  d   e[        U 5      SS/:X  d   eSU l        SU S'   U S   S:X  d   eU R                  S:X  d   e[         R                  " [        SS9   U ?S S S 5        [         R                  " [        SS9   U S	 S S S 5        U R                  S:X  d   eX :X  d   eU [        SSS9:X  d   eU [        SSS9:w  d   eU [        SSS9:w  d   e[         R                  " [        SS9   SU S'   S S S 5        [         R                  " [        SS9   SU l        S S S 5        U R!                  SS5      S:X  d   e[         R                  " ["        5         SU l        S S S 5        [         R                  " [&        5         SU S'   S S S 5        [         R                  " ["        5         U R$                    S S S 5        [         R                  " [&        5         U S     S S S 5        [(        R*                  " [(        R,                  " U 5      5      nX:X  d   eU R.                  S:X  d   eUR.                  S:X  d   eg ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNf= f! , (       d  f       GN,= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNt= f! , (       d  f       GN^= f! , (       d  f       GNA= f! , (       d  f       GN+= f)Nzmissing 2 required keyword-onlymatchr   r   foor	   r
   zunexpected keywordr'   z
bad config)r	   r
   z)rC   r	   r
   rC   r(   r	   r'   )r
   rA   barzcan't be deleted   bazr      
   r   )r*   r+   r   r   r   r#   r	   r
   r.   r0   iterr1   r2   r3   r)   r   r/   r,   rC   r-   r4   r5   r6   r   r;   s     r   test_config_subclassrL   5   s   	y(I	J 
K	z)=	>U# 
?	y(<	=Ul3 
>	y(<	=l# 
>
!u
%C55A::s8q==s8u55E>>#::#::c>>s8q==tCy>c3Z'''sxxz?sCj(((szz|E
***syy{,7777s8Sz!!!CECHs8q==55E>>	y(:	;E 
<	y(:	;H 
<55A::::-!u-----!u----&1&&&&	y(9	:C 
;	z)=	> 
?773q   	~	& 
'	x	 C 
!	~	& 
'	x	 C 
!<<S)*D;;;;2222<<3333g 
K	J	>	>	=	=	=	=( 
<	;	;	; 
;	:	>	> 
'	&	 	 	&	&	 	 s   OO$2O6
P2PP,P>+Q-Q"Q4?R.R
O!$
O36
P
P
P),
P;>
Q
Q"
Q14
R
R
R'c                       " S S[         5      n U " SS9nUR                  S:X  d   eU " SSS9nUR                  S:X  d   eg )Nc                   .    \ rS rSr% Sr\\S'   \\S'   Srg)+test_config_defaults.<locals>.DefaultConfigm   r   r	   r
   r   Nr   r   r   r   r	   r   r    r!   r   r   r   DefaultConfigrO   m   s    3
r   rR   r'   )r
   r   r(   rB   )r   r	   )rR   r%   s     r   test_config_defaultsrS   l   sF      !
C55A::
!q
!C55A::r   c                     [        [        R                  R                  [        5      (       d   e[        [        R                  R                  R
                  [        5      (       d   e[        [        R                  R                  [        5      (       d   e[        R                  " [        SS9   S[        R                  R                  l        S S S 5        [        R                  " [        SS9   S/[        R                  R                  l        S S S 5        [        R                  " [        SS9   0 [        R                  l        S S S 5        [        R                  " [        SS9   [        0 S9[        R                  l        S S S 5        [        R                  " [        SS9   [        [        5       S9[        R                  l        S S S 5        [        R                  " [        S	S9   S
[        R                  l        S S S 5        [        R                  " [        SS9   S[        R                  l        S S S 5        [        R                  " [        SS9   S
1[        R                  l        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN^= f! , (       d  f       GN2= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nzmust be a list of backend namesr?   nx_loopbackzUnknown backend when setting&this_almost_certainly_is_not_a_backendz#must be a Config of backend configs)plausible_backend_name)rV   zmust be True or Falsez	bad valuezmust be a set of    zUnknown warning )r   nxconfigbackend_priorityr   algoslistbackendsr   r*   r+   r   r   cache_converted_graphswarnings_to_ignorer   r   r   test_nxconfigra   w   s   bii002CDDDDbii0066====bii((&1111	y(I	J+8		""( 
K	z)G	H,T+U		""( 
I	y(M	N		 
O	y(M	N#2>		 
O	z)G	H#68T		 
I	y(?	@+6		( 
A	y(;	<'(		$ 
=	z);	<(3}		$ 
=	< 
K	J	H	H	N	N	N	N	H	H	@	@	<	<	<	<s`   1 I=2!J4J!+J3)%K/K&K'K8=
J
J!
J03
K
K
K$'
K58
Lc                      " S S[         SS9n U " SS9nSU;  d   e[        U5      S:X  d   e[        U5      S/:X  d   e[        UR                  5       5      S/:X  d   e[        UR	                  5       5      S/:X  d   e[        UR                  5       5      S	/:X  d   eUR                  S:X  d   eUS   S:X  d   eSU;   d   e[        US5      (       d   eS
[        U5      ;   d   eX" SS9:X  d   eU?S[        U5      ;   d   e[        U5      S:X  d   e[        US5      (       a   eSU;  d   e[        US5      (       a   eSU;  d   eSUl	        [        U5      S:X  d   e[        U5      S/:X  d   e[        UR                  5       5      S/:X  d   e[        UR	                  5       5      S/:X  d   e[        UR                  5       5      S/:X  d   eUR                  S:X  d   eUS   S:X  d   e[        US5      (       d   eSU;   d   eUS	 [        U5      S:X  d   e[        U5      / :X  d   e[        R                  " [        SS9   U?	S S S 5        [        R                  " [        SS9   US	 S S S 5        [        R                  " [        SS9   U " 5         S S S 5        [        R                  " [        SS9   U " SSS9  S S S 5         " S S[         SS9nU" 5       R                  S:X  d   eU" SS9S   S:X  d   eg ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nv= f)Nc                        \ rS rSr% \\S'   Srg)'test_not_strict.<locals>.FlexibleConfig   r	   r   N)r   r   r   r   r   r    r!   r   r   r   FlexibleConfigrd      s    r   rf   F)strictr'   r	   _strictr	   rD   zFlexibleConfig(x=1)zFlexibleConfig()r   r
   r(   )r
   r(   r?   zmissing 1 required keyword-onlyzunexpected keyword argument 'y'rB   c                   $    \ rS rSr% Sr\\S'   Srg)2test_not_strict.<locals>.FlexibleConfigWithDefault   r   r	   r   NrQ   r   r   r   FlexibleConfigWithDefaultrk      s    3
r   rm   )r   r.   r]   r1   r2   r3   r	   hasattrreprr
   r*   r+   r,   r-   r   )rf   r%   rm   s      r   test_not_strictrp      s     1
CCs8q==9
u$$$

!$$$		
***55A::s8q==#::3 DI---.1%%%%c***s8q==sC    c>>sC    c>>CEs8q==9
u$$$

!$$$		
***55A::s8q==3#::Cs8q==9??	~S	1E 
2	xs	+H 
,	y(I	J 
K 
y(I	Ja  
KF5  %&((A---$q)#.!333 
2	1	+	+	J	J 
K	Js0   L2LL' L8
L
L$'
L58
Mc            	         [        SS9n U " SS9 nUR                  S:X  d   eSUl        U R                  S:X  d   e S S S 5        U R                  S:X  d   eU " SS9 nX:X  d   eU R                  S:X  d   eU " SS9 nX :X  d   eU R                  S:X  d   e[        R                  " [        SS9   U  n S S S 5        S S S 5        U R                  S:X  d   e S S S 5        U R                  S:X  d   e S S S 5        U R                  S:X  d   eU " SS9nX:X  d   eU R                  S:X  d   eU R
                  c   eU R                  / :X  d   eU   X:X  d   eU R                  S:X  d   e S S S 5        U R                  S:X  d   eU R
                  b   e[        R                  " [        SS9   U     S S S 5        S S S 5        U R                  S:X  d   eg ! , (       d  f       GN= f! , (       d  f       GN8= f! , (       d  f       GNB= f! , (       d  f       GN9= f! , (       d  f       GN0= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f)Nr'   rh   r(   rF   zcontext manager withoutr?      )r   r	   r*   r+   RuntimeError_prev_context_stack)r%   cc2c3s       r   test_contextry      s   
1+C	qQssaxxuuzz 
 55A::	qQxxuuzz1X9955A::|3LMB  N 55A::  uuzz 
 55A::aA8O855A::99   ###	
xxuuzz 
 55A::99	|+D	E  
F 55A::E 
 S NM X 
& 
 S 
F	Es   ,G H=3H
0G83G&	5G8=H
HH.,I/H?1I
G#&
G50G88
HH


H	H
H+.
H<?
I		I
I)r7   r4   r*   networkxrY   networkx.utils.configsr   r   r   r#   markparametrizer=   rL   rS   ra   rp   ry   r   r   r   <module>r~      su        <F 	& 	  9:4 ;4.44n5,34l$r   