
    h                     6    S r SSKrSSKrS rS rS rS rS rg)z'Unit tests for the broadcasting module.    Nc                  8   / SQn [         R                  " U 5      n[         R                  " U5      u  p#US:X  d   eUSS1:X  d   e[         R                  " US5      S:X  d   e[         R                  " US5      S:X  d   e[         R                  " U5      S:X  d   eg	)
zg
Test the BROADCAST algorithm on the example in the paper titled: "Information Dissemination in Trees"
))r      )r      )r      )      )   r   )r   r   )   r   )r   	   )   r   )r      )r      )r      )r      )r      )r      )r   
   )r      )r      )r      )r      r
   r   r   r   r   r   r   N)nxGraphtree_broadcast_centertree_broadcast_time)	edge_listGb_Tb_Cs       ]/var/www/html/env/lib/python3.13/site-packages/networkx/algorithms/tests/test_broadcasting.pytest_example_tree_broadcastr!      s    I, 	A''*HC!8O82q'>>!!!R(A---!!!Q'1,,,!!!$***    c            	         [        SS5       H  n [        R                  " U 5      n[        R                  " U5      u  p#U[        R
                  " U S-  5      :X  d   eU[        R
                  " U S-  5      [        R                  " U S-  5      [        R
                  " U S-  S-
  5      [        R                  " U S-  S-
  5      1:X  d   e[        R                  " U5      U S-
  :X  a  M   e   g )Nr   r   r   )ranger   
path_graphr   mathceilfloorr   ir   r   r   s       r    test_path_broadcastr+   -   s    1b\MM!++A.diiA&&&&IIa!eJJq1uIIa!eai JJq1uqy!	
 
 	
 
 %%a(AE111 r"   c                      [         R                  " S5      n [         R                  " U 5      u  pUS:X  d   eUS1:X  d   e[         R                  " U 5      S:X  d   eg )Nr   r   )r   empty_graphr   r   )Hr   r   s      r    test_empty_graph_broadcastr/   ;   sT    
qA''*HC!8O81#::!!!$)))r"   c                  
   [        SS5       Hs  n [        R                  " U 5      n[        R                  " U5      u  p#X :X  d   eU[	        UR                  5       5      :X  d   e[        R                  " U5      U:X  a  Ms   e   g )Nr   r   )r$   r   
star_graphr   setnodesr   r)   s       r    test_star_broadcastr4   C   sl    1b\MM!++A.xxc!'')n$$$%%a(C/// r"   c                      [        SS5       Hj  n [        R                  " U 5      n[        R                  " U5      u  p#X :X  d   eUSSU S-
  -  1:X  d   e[        R                  " U5      SU -  S-
  :X  a  Mj   e   g )Nr   r   r   r   )r$   r   binomial_treer   r   r)   s       r    test_binomial_tree_broadcastr7   L   sy    1a[Q++A.xxq!A,''''%%a(AEAI555 r"   )	__doc__r&   networkxr   r!   r+   r/   r4   r7    r"   r    <module>r;      s(    -  "+J2*06r"   