
    ިsg                     B    d dl Zd Zd Zd Zd Zd Zd Zd Zd	 Z	d
 Z
y)    Nc                  p    t        j                  t        j                  d            t        d      k(  sJ y )N   inf)nxwiener_indexempty_graphfloat     X/var/www/html/venv/lib/python3.12/site-packages/networkx/algorithms/tests/test_wiener.py'test_wiener_index_of_disconnected_graphr      s&    ??2>>!,-u===r   c                      t        j                  d      } t        j                  |       }dt        j                  |       z  t        j                  |      k(  sJ y )N   r   )r   complete_graphDiGraphr   )GHs     r   #test_wiener_index_of_directed_graphr      sD    
!A


1A""rq'9999r   c                  x    d} t        j                  |       }t        j                  |      | | dz
  z  dz  k(  sJ y )N
      r   )r   r   r   )nr   s     r   #test_wiener_index_of_complete_graphr      s:    
A
!A??1!q1u+/222r   c            	          dt        j                        } dt        fdt        ddz  dz         D              z  }t        j                  |       }||k(  sJ y )N	   r   c              3   .   K   | ]  }||z
  z    y w)Nr
   ).0ir   s     r   	<genexpr>z2test_wiener_index_of_path_graph.<locals>.<genexpr>-   s     CqqAE{Cs   r   )r   
path_graphsumranger   )r   expectedactualr   s      @r   test_wiener_index_of_path_graphr%      sX    . 	
A
aA3CE!a1f\,BCCCH__QFvr   c            	      L   d} t        j                         }|j                  t        t	        d| dz                      t        d      }|j                  dd       |j                  dd       t        j                  |      }t        j                  |      }||k(  sJ ||k(  sJ y )N   r   r   r   r   )	r   Graphadd_nodes_fromlistr"   r	   add_edgeschultz_indexgutman_index)r   r   r#   actual_1actual_2s        r   3test_schultz_and_gutman_index_of_disconnected_graphr0   2   s    	A

AT%1q5/*+U|HJJq!JJq!"Hq!Hxxr   c                  L   d} d}t        j                  | |      }| |z  | |z   z  d| z  | dz
  z  |z  z   d|z  |dz
  z  | z  z   }t        j                  |      }| |z  | |z  z  | | dz
  z  |z  |z  z   ||dz
  z  | z  | z  z   }t        j                  |      }||k(  sJ ||k(  sJ y )Nr   r   r   r   complete_bipartite_graphr,   r-   r   mcbg
expected_1r.   
expected_2r/   s          r   ;test_schultz_and_gutman_index_of_complete_bipartite_graph_1r9   B       	A	A

%
%a
+CQ!a%1q5AE?Q#66Q!a%19LLJ$HQ!a%1A;?Q#66a!eq19LLJs#H!!!!!!r   c                  L   d} d}t        j                  | |      }| |z  | |z   z  d| z  | dz
  z  |z  z   d|z  |dz
  z  | z  z   }t        j                  |      }| |z  | |z  z  | | dz
  z  |z  |z  z   ||dz
  z  | z  | z  z   }t        j                  |      }||k(  sJ ||k(  sJ y )Nr      r   r2   r4   s          r   ;test_schultz_and_gutman_index_of_complete_bipartite_graph_2r=   Q   r:   r   c                      d} t        j                  |       }| | dz
  z  | dz
  z  }t        j                  |      }||k(  sJ | | dz
  z  | dz
  z  | dz
  z  dz  }t        j                  |      }||k(  sJ y )Nr<   r   r   )r   r   r,   r-   )r   cgr7   r.   r8   r/   s         r   /test_schultz_and_gutman_index_of_complete_graphr@   `   s    	A			1	Ba!eA&J#H!!!a!eA&!a%014Jr"H!!!r   c                      d} d| z  dz   }t        j                  |      }d|z  | z  | dz   z  }t        j                  |      }d|z  | z  | dz   z  }t        j                  |      }||k(  sJ ||k(  sJ y )Nr<   r   r   )r   cycle_graphr,   r-   )kr   ocgr7   r.   r8   r/   s          r   0test_schultz_and_gutman_index_of_odd_cycle_graphrE   o   s    	A	A	A
..
CQa!e$J$HQa!e$Js#H!!!!!!r   )networkxr   r   r   r   r%   r0   r9   r=   r@   rE   r
   r   r   <module>rG      s5    >:3<  """"r   