o
    ñ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_indexÚempty_graphÚfloat© r   r   úY/var/www/vscode/kcb/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_graphÚ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   Ú
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   ÚGraphÚadd_nodes_fromÚlistr   r   Ú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   Úcomplete_bipartite_graphr%   r&   ©r   ÚmÚcbgÚ
expected_1r'   Ú
expected_2r(   r   r   r	   Ú;test_schultz_and_gutman_index_of_complete_bipartite_graph_1B   ó   8
8
r1   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   r2   r4   c                  C   sr   d} t  | ¡}| | d  | d  }t  |¡}||ksJ ‚| | d  | d  | d  d }t  |¡}||ks7J ‚d S )Nr3   r   r   )r   r   r%   r&   )r   Úcgr/   r'   r0   r(   r   r   r	   Ú/test_schultz_and_gutman_index_of_complete_graph`   s   

 
r6   c                  C   sr   d} d|  d }t  |¡}d| |  | d  }t  |¡}d| |  | d  }t  |¡}||ks1J ‚||ks7J ‚d S )Nr3   r   r   )r   Úcycle_graphr%   r&   )Úkr   Úocgr/   r'   r0   r(   r   r   r	   Ú0test_schultz_and_gutman_index_of_odd_cycle_grapho   s   


r:   )Únetworkxr   r
   r   r   r   r)   r1   r4   r6   r:   r   r   r   r	   Ú<module>   s    