
    fi                     8    d Z ddlZddlZd Zd Zd Zd Zd ZdS )z'Unit tests for the broadcasting module.    Nc                  (   g d} t          j        |           }t          j        |          \  }}|dk    sJ |ddhk    sJ t          j        |d          dk    sJ t          j        |d          dk    sJ t          j        |          dk    sJ d	S )
zo
    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/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/networkx/algorithms/tests/test_broadcasting.pytest_example_tree_broadcastr!      s      I, 	A'**HC!88882q'>>>>!!R((A----!!Q''1,,,,!!$$******    c            	         t          dd          D ]} t          j        |           }t          j        |          \  }}|t	          j        | dz            k    sJ |t	          j        | dz            t	          j        | dz            t	          j        | dz  dz
            t	          j        | dz  dz
            hk    sJ t          j        |          | dz
  k    sJ d S )Nr   r   r   )ranger   
path_graphr   mathceilfloorr   ir   r   r   s       r    test_path_broadcastr+   -   s    1b\\ 
2 
2M!+A..SdiA&&&&&&Ia!eJq1uIa!eai  Jq1uqy!!	
 
 
 
 
 %a((AE11111
2 
2r"   c                      t          j        d          } t          j        |           \  }}|dk    sJ |dhk    sJ t          j        |           dk    sJ d S )Nr   r   )r   empty_graphr   r   )Hr   r   s      r    test_empty_graph_broadcastr/   ;   sc    
qA'**HC!88881#::::!!$$))))))r"   c                     t          dd          D ]v} t          j        |           }t          j        |          \  }}|| k    sJ |t	          |                                          k    sJ t          j        |          |k    sJ wd S )Nr   r   )r$   r   
star_graphr   setnodesr   r)   s       r    test_star_broadcastr4   C   s    1b\\ 0 0M!+A..Saxxxxc!''))nn$$$$%a((C/////0 0r"   c                      t          dd          D ]e} t          j        |           }t          j        |          \  }}|| k    sJ |dd| dz
  z  hk    sJ t          j        |          d| z  dz
  k    sJ fd S )Nr   r   r   r   )r$   r   binomial_treer   r   r)   s       r    test_binomial_tree_broadcastr7   L   s    1a[[ 6 6Q+A..Saxxxxq!A,'''''%a((AEAI555556 6r"   )	__doc__r&   networkxr   r!   r+   r/   r4   r7    r"   r    <module>r;      sv    - -     "+ "+ "+J2 2 2* * *0 0 06 6 6 6 6r"   