
    ܛ7iZ                     `    d dl Zd Zd Zd Zd Zd 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     b/home/rose/Desktop/poly/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     C,BqqAE{,Bs   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_graphr1   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_2r0   s          r   ;test_schultz_and_gutman_index_of_complete_bipartite_graph_1r:   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   r3   r5   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   cgr8   r/   r9   r0   s         r   /test_schultz_and_gutman_index_of_complete_graphrA   `   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   ocgr8   r/   r9   r0   s          r   0test_schultz_and_gutman_index_of_odd_cycle_graphrF   o   s    	A	A	A
..
CQa!e$J$HQa!e$Js#H!!!!!!r   c                  r    d} t        j                  |       }t        j                  |      | | dz
  z  k(  sJ y )Nr=   r   )r   r   hyper_wiener_indexr   s     r   #test_hyper_wiener_of_complete_graphrI   ~   s:     	
A
!A  #qAE{222r   c                  b    t        j                  d      } t        j                  |       dk(  sJ y )Nr(   g      >@)r   r!   rH   r   s    r   test_hyper_wiener_of_path_graphrL      s)    
aA  #t+++r   c                  b    t        j                  d      } t        j                  |       dk(  sJ y )Nr(         4@)r   rC   rH   rK   s    r    test_hyper_wiener_of_cycle_graphrO      s)    
qA  #t+++r   c                  x    t        j                  ddg      } t        j                  |       t        d      k(  sJ y )Nr   r   )r   r   r   )r   r)   rH   r	   rK   s    r   'test_hyper_wiener_of_disconnected_graphrR      s2    
&&!"A  #uU|333r   c                      t        j                  d      } d| j                  d   d<   t        j                  | d      dk(  sJ y )Nr   r   rQ   weight)rT   rN   )r   r!   edgesrH   rK   s    r   #test_hyper_wiener_of_weighted_graphrV      s=    
aAAGGDM(  84<<<r   )networkxr   r   r   r   r&   r1   r:   r>   rA   rF   rI   rL   rO   rR   rV   r
   r   r   <module>rX      sN    >:3<  """"
3,
,
4
=r   