o
    ]ZŽh‰  ã                   @   sT   d dl Zdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Z	dd„ Z
dS )é    Nc                   C   s    t  t  d¡¡tdƒksJ ‚d S )Né   Úinf)ÚnxÚwiener_indexZempty_graphÚfloat© r   r   úT/var/www/auris/lib/python3.10/site-packages/networkx/algorithms/tests/test_wiener.pyÚ'test_wiener_index_of_disconnected_graph   s    r	   c                  C   s4   t  d¡} t  | ¡}dt  | ¡ t  |¡ksJ ‚d S )Né   r   )r   Úcomplete_graphZDiGraphr   )ÚGÚHr   r   r   Ú#test_wiener_index_of_directed_graph   s   

 r   c                  C   s0   d} t  | ¡}t  |¡| | d  d ksJ ‚d S )Né
   é   r   )r   r   r   )Únr   r   r   r   Ú#test_wiener_index_of_complete_graph   s   
"r   c                     sP   d‰ t  ˆ ¡} dt‡ fdd„tdˆ d d ƒD ƒƒ }t  | ¡}||ks&J ‚d S )Né	   r   c                 3   s    | ]	}|ˆ |  V  qd S )Nr   )Ú.0Úi©r   r   r   Ú	<genexpr>-   s   € z2test_wiener_index_of_path_graph.<locals>.<genexpr>r   )r   Z
path_graphÚsumÚranger   )r   ÚexpectedÚactualr   r   r   Útest_wiener_index_of_path_graph   s
   
(
r   c                  C   st   d} t  ¡ }| ttd| d ƒƒ¡ tdƒ}| dd¡ | dd¡ t  |¡}t  |¡}||ks2J ‚||ks8J ‚d S )Né   r   r   r   r
   )	r   ZGraphZadd_nodes_fromÚlistr   r   Zadd_edgeÚschultz_indexÚgutman_index)r   r   r   Úactual_1Úactual_2r   r   r   Ú3test_schultz_and_gutman_index_of_disconnected_graph2   s   

r#   c                  C   s´   d} d}t  | |¡}| | | |  d|  | d  |  d| |d  |   }t  |¡}| | | |  | | d  | |  ||d  |  |   }t  |¡}||ksRJ ‚||ksXJ ‚d S )Nr
   r   r   ©r   Zcomplete_bipartite_graphr   r    ©r   ÚmZcbgÚ
expected_1r!   Ú
expected_2r"   r   r   r   Ú;test_schultz_and_gutman_index_of_complete_bipartite_graph_1B   ó   8
8
r)   c                  C   s´   d} d}t  | |¡}| | | |  d|  | d  |  d| |d  |   }t  |¡}| | | |  | | d  | |  ||d  |  |   }t  |¡}||ksRJ ‚||ksXJ ‚d S )Nr   é   r   r$   r%   r   r   r   Ú;test_schultz_and_gutman_index_of_complete_bipartite_graph_2Q   r*   r,   c                  C   sr   d} t  | ¡}| | d  | d  }t  |¡}||ksJ ‚| | d  | d  | d  d }t  |¡}||ks7J ‚d S )Nr+   r   r   )r   r   r   r    )r   Zcgr'   r!   r(   r"   r   r   r   Ú/test_schultz_and_gutman_index_of_complete_graph`   s   

 
r-   c                  C   sr   d} d|  d }t  |¡}d| |  | d  }t  |¡}d| |  | d  }t  |¡}||ks1J ‚||ks7J ‚d S )Nr+   r   r   )r   Zcycle_graphr   r    )Úkr   Zocgr'   r!   r(   r"   r   r   r   Ú0test_schultz_and_gutman_index_of_odd_cycle_grapho   s   


r/   )Znetworkxr   r	   r   r   r   r#   r)   r,   r-   r/   r   r   r   r   Ú<module>   s    