o
    ]ZŽhå  ã                   @   s@   d Z ddlZddlZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )z'Unit tests for the broadcasting module.é    Nc                  C   sz   g d¢} t  | ¡}t  |¡\}}|dksJ ‚|ddhksJ ‚t  |d¡dks(J ‚t  |d¡dks2J ‚t  |¡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)ÚnxZGraphÚtree_broadcast_centerÚtree_broadcast_time)Z	edge_listÚGÚb_TÚb_C© r   úZ/var/www/auris/lib/python3.10/site-packages/networkx/algorithms/tests/test_broadcasting.pyÚtest_example_tree_broadcast   s   
r   c               	   C   sœ   t ddƒD ]F} t | ¡}t |¡\}}|t | d ¡ksJ ‚|t | d ¡t | d ¡t | d d ¡t | d d ¡hks@J ‚t |¡| d ksKJ ‚qd S )Nr   r   r   )Úranger   Z
path_graphr   ÚmathÚceilÚfloorr   ©Úir   r   r   r   r   r   Útest_path_broadcast-   s   

üör%   c                  C   sH   t  d¡} t  | ¡\}}|dksJ ‚|dhksJ ‚t  | ¡dks"J ‚d S )Nr   r   )r   Zempty_graphr   r   )ÚHr   r   r   r   r   Útest_empty_graph_broadcast;   s
   
r'   c                  C   s^   t ddƒD ]'} t | ¡}t |¡\}}|| ksJ ‚|t| ¡ ƒks#J ‚t |¡|ks,J ‚qd S )Nr   r   )r   r   Z
star_graphr   ÚsetÚnodesr   r#   r   r   r   Útest_star_broadcastC   s   
ûr*   c                  C   sj   t ddƒD ]-} t | ¡}t |¡\}}|| ksJ ‚|dd| d  hks%J ‚t |¡d|  d ks2J ‚qd S )Nr   r
   r   r   )r   r   Zbinomial_treer   r   r#   r   r   r   Útest_binomial_tree_broadcastL   s   
ûr+   )	Ú__doc__r    Znetworkxr   r   r%   r'   r*   r+   r   r   r   r   Ú<module>   s    %	