
    sh(                         S SK r S SKrS rS rS rS rS rS rS r	S	 r
S
 rS rS r\ R                  R                  S/ SQ5      \ R                  R                  S/ SQ5      S 5       5       rg)    Nc                      [         R                  " SS5      n [         R                  " U 5      n[         R                  " X5      (       d   e[         R                  " U SS9n[         R                  " X5      (       d   eg )Nd   g?r   
start_with)nxgnp_random_graphdominating_setis_dominating_setGDs     }/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/networkx/algorithms/tests/test_dominating.pytest_dominating_setr      sd    
C%A
!A%%%%
!*A%%%%    c                      [         R                  " S5      n [        [         R                  " U 5      5      S:X  d   e[         R                  " S5      n[        [         R                  " U5      5      S:X  d   eg)zfIn complete graphs each node is a dominating set.
Thus the dominating set has to be of cardinality 1.
         N)r   complete_graphlenr	   )K4K5s     r   test_completer      s`     
		1	Br  $%***			1	Br  $%***r   c                      [         R                  " [        R                  5         [        R                  " S5      n [        R
                  " U SS9nS S S 5        g ! , (       d  f       g = f)Nr   
   r   )pytestraisesr   NetworkXError
path_graphr	   r   s     r   test_raise_dominating_setr       s@    	r''	(MM!aB/ 
)	(	(s   ,A
A(c                      [         R                  " S5      n SS1n[         R                  " X5      (       d   eSS1n[         R                  " X5      (       d   eS1n[         R                  " X5      (       a   eg )Nr   r      r      )r   r   r
   )r   ds     r   test_is_dominating_setr%      sq    
aA	
AA%%%%	
AA%%%%	
A##A)))))r   c                     [         R                  " S5      n U R                  / SQ5        [         R                  " U 1 Sk5      (       d   e[         R                  " U SS15      (       d   e[         R                  " U SS15      (       d   eg)z9Example from https://en.wikipedia.org/wiki/Dominating_setr   ))r   r   r   r   )r#   r   >   r"   r   r   r   r#   r   N)r   cycle_graphadd_edges_fromr
   r   s    r    test_wikipedia_is_dominating_setr+   (   sr    
qA-.9----Aq6****Aq6****r   c                  X   [         R                  " S5      n SS1n[         R                  " X5      (       d   eSS1n[         R                  " X5      (       a   eSS1n[         R                  " [         R                  " X5      5      (       d   e[         R                  " X5      (       a   eg )Nr   r   r#   r"   )r   r   is_connected_dominating_setis_connectedsubgraphr   s     r    test_is_connected_dominating_setr0   1   s    
aA	
AA))!////	
AA--a3333	
AA??2;;q,------a33333r   c                  x    [         R                  " 5       n S[        [         R                  " U 5      5      :X  d   eg )Nr   )r   Graphr   connected_dominating_setr*   s    r   (test_null_graph_connected_dominating_setr4   <   s+    

AB//23333r   c                      [         R                  " 5       n U R                  S5        [         R                  " U 5      n[         R                  " X5      (       d   eg )Nr   )r   r2   add_noder3   r-   )r   CDs     r   /test_single_node_graph_connected_dominating_setr8   A   s?    

AJJqM		$	$Q	'B))!0000r   c                     [         R                  " [        R                  5         [        R                  " 5       n U R                  S5        U R                  S5        [        R                  " U 5        S S S 5        g ! , (       d  f       g = f)Nr   r#   )r   r   r   r   r2   r6   r3   r*   s    r   6test_raise_disconnected_graph_connected_dominating_setr:   H   sO    	r''	(HHJ	

1	

1
##A&	 
)	(	(s   AA<<
B
c                      [         R                  " S5      n S[        [         R                  " U 5      5      :X  d   e[         R                  " S5      nS[        [         R                  " U5      5      :X  d   eg )Nr   r      )r   r   r   r3   )r   K7s     r   ,test_complete_graph_connected_dominating_setr>   P   s^    			1	BB//34444			1	BB//34444r   c                  p    [         R                  " / SQ5      n 1 Sk[         R                  " U 5      :X  d   eg )N))r   r#   )r   r"   r'   )r   r   )r      )r#   r<   )r"      )r   	   )r   r   )r@      )r<      )rA   rD   )rB   rD   )r   rD   )rC   rD   >   r   r#   r"   r   r   r@   r<   )r   r2   r3   r*   s    r   /test_docstring_example_connected_dominating_setrE   W   s0    
	
	A& !B$?$?$BBBBr   seed)r         zn,k,p))r   r"   g?)r   r   gffffff?)i  2   g      ?c                     [         R                  " XX#S9n[         R                  " U5      n[         R                  " XE5      (       d   eg )N)rF   )r   connected_watts_strogatz_graphr3   r-   )nkprF   r   r   s         r   <test_connected_watts_strogatz_graph_connected_dominating_setrO   n   s=     	))!=A
##A&A))!////r   )r   networkxr   r   r   r    r%   r+   r0   r4   r8   r:   r>   rE   markparametrizerO    r   r   <module>rT      s     &+0*+44
1'5C. -"QR0 S .0r   