
    \Mh"                         d dl Z d dlZd dlZd dlZd dlmZmZ  G d de          Z G d de          Z	ej
                            d e	             e            g          d             Zd	 Zd
 Zd Zd Zd Zd ZdS )    N)BackendPrioritiesConfigc                   .    e Zd ZU dZeed<   eed<   d ZdS )ExampleConfigExample configuration.xyc                     |dk    r|dk    rt          d          |dk    r$t          |t                    st          d          |S )Nr   r   x must be positiver	   y must be a str)
ValueError
isinstancestr	TypeError)selfkeyvalues      `/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/networkx/utils/tests/test_config.py_on_setattrzExampleConfig._on_setattr   sM    #::%1**1222#::j44:-...    N)__name__
__module____qualname____doc__int__annotations__r   r    r   r   r   r      s=           
FFF
FFF    r   r   c                       e Zd ZdS )EmptyConfigN)r   r   r   r   r   r   r   r      s        Dr   r   cfgc                 ~   t          |           g k    sJ t          j        t                    5  d| _        d d d            n# 1 swxY w Y   t          j        t
                    5  d| d<   d d d            n# 1 swxY w Y   t          j        t                    5  | j         d d d            n# 1 swxY w Y   t          j        t
                    5  | d          d d d            n# 1 swxY w Y   t          |           dk    sJ d| vsJ | | k    sJ |                     dd          dk    sJ t          | 	                                          t                      k    sJ t          | 
                                          t                      k    sJ t          |                                           t                      k    sJ t          j        t          j        |                     }| |k    sJ t          | t           j        j                  sJ t          | t           j        j                  sJ d S )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_emptyr8      s   s88r>>>>	~	&	&                	x	 	   C              	~	&	&                	x	 	   C              s88q====c>>>>#::::773??asxxzz??cee####szz||%%%%syy{{suu$$$$<S))**D$;;;;c;?566666c;?23333333sG   AA
A'A99A= A=B11B58B5	C**C.1C.c                  	   t          j        t          d          5  t                       d d d            n# 1 swxY w Y   t          j        t          d          5  t          dd           d d d            n# 1 swxY w Y   t          j        t          d          5  t          ddd	
           d d d            n# 1 swxY w Y   t          j        t          d          5  t          d	           d d d            n# 1 swxY w Y   t          dd          } | j        dk    sJ | d         dk    sJ | d         dk    sJ | j        dk    sJ d| v sJ d| v sJ d| vsJ t          |           dk    sJ t          t          |                     ddhk    sJ t          |                                           ddhk    sJ t          |                                           ddhk    sJ t          |                                           ddhk    sJ t          |           ddgk    sJ d| _        d| d<   | d         dk    sJ | j        dk    sJ t          j        t          d          5  | `d d d            n# 1 swxY w Y   t          j        t          d          5  | d= d d d            n# 1 swxY w Y   | j        dk    sJ | | k    sJ | t          dd          k    sJ | t          dd          k    sJ | t          dd          k    sJ t          j        t          d          5  d| d<   d d d            n# 1 swxY w Y   t          j        t          d          5  d| _        d d d            n# 1 swxY w Y   |                     dd          dk    sJ t          j        t"                    5  d| _        d d d            n# 1 swxY w Y   t          j        t&                    5  d| d<   d d d            n# 1 swxY w Y   t          j        t"                    5  | j         d d d            n# 1 swxY w Y   t          j        t&                    5  | d          d d d            n# 1 swxY w Y   t)          j        t)          j        |                     }| |k    sJ | j        dk    sJ |j        dk    sJ d S )Nzmissing 2 required keyword-onlymatchr   r   foor   r	   zunexpected keywordr"   z
bad config)r   r	   z)r>   r   r	   r>   r#   r   r"   )r	   r<   barzcan't be deleted   bazr      
   r   )r%   r&   r   r   r   r   r   r	   r)   r+   iterr,   r-   r.   r$   r   r*   r'   r>   r(   r/   r0   r1   r   r6   s     r   test_config_subclassrG   5   s   	y(I	J	J	J                	z)=	>	>	> $ $U####$ $ $ $ $ $ $ $ $ $ $ $ $ $ $	y(<	=	=	= 4 4Ul33334 4 4 4 4 4 4 4 4 4 4 4 4 4 4	y(<	=	=	= $ $l####$ $ $ $ $ $ $ $ $ $ $ $ $ $ $
!u
%
%
%C5A::::s8q====s8u5E>>>>#::::#::::c>>>>s88q====tCyy>>c3Z''''sxxzz??sCj((((szz||E
****syy{{,77777s88Sz!!!!CECHs8q====5E>>>>	y(:	;	;	;  E              	y(:	;	;	;  H              5A::::#::::-!u--------!u-------&1&&&&&&&	y(9	:	:	:  C              	z)=	>	>	>                773q    	~	&	&                	x	 	   C              	~	&	&                	x	 	   C              <S))**D$;;;;;22222<3333333s   7;;A;;A?A?!C  CC&DD
D4JJ
J)J99J= J=9MMM1NN	N	OO O=PPP3QQQ+	R  RRc                       G d dt                     }  | d          }|j        dk    sJ  | dd          }|j        dk    sJ d S )Nc                   (    e Zd ZU dZeed<   eed<   dS )+test_config_defaults.<locals>.DefaultConfigr   r   r	   Nr   r   r   r   r   r   r   r   r   DefaultConfigrJ   m   s&         3


r   rL   r"   )r	   r   r#   r=   )r   r   )rL   r    s     r   test_config_defaultsrM   l   sv            -!


C5A::::
-!q
!
!
!C5A::::::r   c                     t          t          j        j        t                    sJ t          t          j        j        j        t                    sJ t          t          j        j        t                    sJ t          j
        t          d          5  dt          j        j        _        d d d            n# 1 swxY w Y   t          j
        t          d          5  dgt          j        j        _        d d d            n# 1 swxY w Y   t          j
        t          d          5  i t          j        _        d d d            n# 1 swxY w Y   t          j
        t          d          5  t          i           t          j        _        d d d            n# 1 swxY w Y   t          j
        t          d          5  t          t                                t          j        _        d d d            n# 1 swxY w Y   t          j
        t          d	          5  d
t          j        _        d d d            n# 1 swxY w Y   t          j
        t          d          5  dt          j        _        d d d            n# 1 swxY w Y   t          j
        t          d          5  d
ht          j        _        d d d            n# 1 swxY w Y   t          j        j        } 	 dgt          j        _        t          t          j        j        t                    sJ t          j        j        j        dgk    sJ 	 | t          j        _        d S # | t          j        _        w xY w)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)rP   zmust be True or Falsez	bad valuezmust be a set of    zUnknown warning networkx)r   nxconfigbackend_priorityr   algoslistbackendsr   r%   r&   r   r   cache_converted_graphswarnings_to_ignore)prevs    r   test_nxconfigr]   w   s   bi02CDDDDDbi06=====bi(&11111	y(I	J	J	J 9 9+8	"(9 9 9 9 9 9 9 9 9 9 9 9 9 9 9	z)G	H	H	H V V,T+U	"(V V V V V V V V V V V V V V V	y(M	N	N	N    	                             	y(M	N	N	N ? ?#2>>>	? ? ? ? ? ? ? ? ? ? ? ? ? ? ?	z)G	H	H	H U U#688TTT	U U U U U U U U U U U U U U U	y(?	@	@	@ 7 7+6	(7 7 7 7 7 7 7 7 7 7 7 7 7 7 7	y(;	<	<	< ) )'(	$) ) ) ) ) ) ) ) ) ) ) ) ) ) )	z);	<	<	< 5 5(3}	$5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 9%D*&0\	"")46GHHHHHy)/J<?????%)	"""T	"))))s   B66B:=B:D  DD&EEE* FFF<,G44G8;G8H88H<?H<I<<J J "KKKAM Mc                  `   t           j        j        j        } | rg ndg}| |k    sJ t           j        j        j        |k    sJ t          j        |          5  t           j        j        j        |k    sJ 	 d d d            n# 1 swxY w Y   t           j        j        j        | k    sJ t           j                            |          5  t           j        j        j        |k    sJ 	 d d d            n# 1 swxY w Y   t           j        j        j        | k    sJ dg}t	          j        t          d          5  |t           j        _        d d d            n# 1 swxY w Y   t	          j        t          d          5  t          j        |          5  	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t	          j        t          d          5  t           j                            |          5  	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )NrS   )rV   )rW   zbad-backendzUnknown backendr:   )rT   rU   rV   rW   r%   r&   r   )origvalbads      r   test_nxconfig_contextrb      s    9%+D
&"":,C3;;;;9%+s2222	C	(	(	( 7 7y)/3666667 7 7 7 7 7 7 7 7 7 7 7 7 7 79%+t3333		#	##	#	.	. 7 7y)/3666667 7 7 7 7 7 7 7 7 7 7 7 7 7 79%+t3333/C	z):	;	;	; ) )%(	") ) ) ) ) ) ) ) ) ) ) ) ) ) )	z):	;	;	;  Y,,, 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	               
z):	;	;	;  Y''c'22 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	                 s   BBBC22C69C67EEE;F6FF6F#	#F6&F#	'F66F:=F:!H#=H?H#H	H#H	H##H'*H'c                  f    G d dt           d          }  | d          }d|vsJ t          |          dk    sJ t          |          dgk    sJ t          |                                          dgk    sJ t          |                                          dgk    sJ t          |                                          d	gk    sJ |j        dk    sJ |d         dk    sJ d|v sJ t          |d          sJ d
t          |          v sJ | | d          k    sJ |`dt          |          v sJ t          |          dk    sJ t          |d          rJ d|vsJ t          |d          rJ d|vsJ d|_	        t          |          dk    sJ t          |          dgk    sJ t          |                                          dgk    sJ t          |                                          dgk    sJ t          |                                          dgk    sJ |j	        dk    sJ |d         dk    sJ t          |d          sJ d|v sJ |d= t          |          dk    sJ t          |          g k    sJ t          j        t          d          5  |`	d d d            n# 1 swxY w Y   t          j        t          d          5  |d= d d d            n# 1 swxY w Y   t          j        t          d          5   |              d d d            n# 1 swxY w Y   t          j        t          d          5   | dd           d d d            n# 1 swxY w Y    G d dt           d          } |            j        dk    sJ  |d          d         dk    sJ d S )Nc                       e Zd ZU eed<   dS )'test_not_strict.<locals>.FlexibleConfigr   N)r   r   r   r   r   r   r   r   FlexibleConfigre      s         r   rf   F)strictr"   r   _strictr   r?   zFlexibleConfig(x=1)zFlexibleConfig()r   r	   r#   )r	   r#   r:   zmissing 1 required keyword-onlyzunexpected keyword argument 'y'r=   c                       e Zd ZU dZeed<   dS )2test_not_strict.<locals>.FlexibleConfigWithDefaultr   r   NrK   r   r   r   FlexibleConfigWithDefaultrk      s         3




r   rl   )r   r)   rX   r,   r-   r.   r   hasattrreprr	   r%   r&   r'   r(   r   )rf   r    rl   s      r   test_not_strictro      s;            .1


CCs88q====99

u$$$$

!$$$$		
****5A::::s8q====#::::3 DII----..1%%%%%%%c****s88q====sC     c>>>>sC     c>>>>CEs88q====99

u$$$$

!$$$$		
****5A::::s8q====3#::::Cs88q====99????	~S	1	1	1  E              	xs	+	+	+  H              	y(I	J	J	J                 
y(I	J	J	J ! !a    ! ! ! ! ! ! ! ! ! ! ! ! ! ! !    F5     %$&&(A----$$q)))#.!333333sH   "J11J58J5K''K+.K+L$$L(+L(
M$$M(+M(c            	      N   t          d          }  | d          5 }|j        dk    sJ d|_        | j        dk    sJ 	 d d d            n# 1 swxY w Y   | j        dk    sJ  | d          5 }|| k    sJ | j        dk    sJ  | d          5 }|| k    sJ | j        dk    sJ t          j        t          d          5  | 5 }	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   | j        dk    sJ 	 d d d            n# 1 swxY w Y   | j        dk    sJ 	 d d d            n# 1 swxY w Y   | j        dk    sJ  | d          }|| k    sJ | j        dk    sJ | j        J | j        g k    sJ |5  || k    sJ | j        dk    sJ 	 d d d            n# 1 swxY w Y   | j        dk    sJ | j        J t          j        t          d          5  | 5  	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   | j        dk    sJ d S )Nr"   rh   r#   rA   zcontext manager withoutr:      )r   r   r%   r&   RuntimeError_prev_context_stack)r    cc2c3s       r   test_contextrx      se   
1+++C	q Qsaxxxxuzzzzz               5A::::	q 
QCxxxxuzzzzS1XXX 	99995A::::|3LMMM   B                             5A:::::	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 uzzzzz
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 5A::::aA88885A::::9   ####	
  Cxxxxuzzzzz               5A::::9	|+D	E	E	E   	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	               5A::::::s   "AAA0"D51DC+C	C+CC+CC+D+C//D2C/3DD5D	D5D	D55D9<D9F))F-0F-%H(G6*H6G:	:H=G:	>HHH)r2   r/   r%   rS   rT   networkx.utils.configsr   r   r   r   markparametrizer8   rG   rM   r]   rb   ro   rx   r   r   r   <module>r|      s@             < < < < < < < <    F   	 	 	 	 	& 	 	 	  9::4 4 ;:4.44 44 44n  * * *<  034 34 34l$ $ $ $ $r   