
    PiZ                     b    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dS )    Nc                  x    t          j        t          j        d                    t          d          k    sJ d S )N   inf)nxwiener_indexempty_graphfloat     y/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/networkx/algorithms/tests/test_wiener.py'test_wiener_index_of_disconnected_graphr      s3    ?2>!,,--u======r   c                      t          j        d          } t          j        |           }dt          j        |           z  t          j        |          k    sJ d S )N   r   )r   complete_graphDiGraphr   )GHs     r   #test_wiener_index_of_directed_graphr      sO    
!A

1A"""rq'9'9999999r   c                  x    d} t          j        |           }t          j        |          | | dz
  z  dz  k    sJ d S )N
      r   )r   r   r   nr   s     r   #test_wiener_index_of_complete_graphr      sD    
A
!A?1!q1u+/222222r   c            	          dt          j                  } dt          fdt          ddz  dz             D                       z  }t          j        |           }||k    sJ d S )N	   r   c              3   (   K   | ]}||z
  z  V  d S )Nr
   ).0ir   s     r   	<genexpr>z2test_wiener_index_of_path_graph.<locals>.<genexpr>-   s+      CCqqAE{CCCCCCr   r   )r   
path_graphsumranger   )r   expectedactualr   s      @r   test_wiener_index_of_path_graphr&      sx    . 	
A
aA3CCCCE!a1f\,B,BCCCCCCH_QFvr   c            	      |   d} t          j                    }|                    t          t	          d| dz                                  t          d          }|                    dd           |                    dd           t          j        |          }t          j        |          }||k    sJ ||k    sJ 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_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 d S )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 d S )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 d S )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 d S )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 d S )Nr=   r   )r   r   hyper_wiener_indexr   s     r   #test_hyper_wiener_of_complete_graphrI   ~   sC     	
A
!A ##qAE{222222r   c                  b    t          j        d          } t          j        |           dk    sJ d S )Nr(   g      >@)r   r!   rH   r   s    r   test_hyper_wiener_of_path_graphrL      s3    
aA ##t++++++r   c                  b    t          j        d          } t          j        |           dk    sJ d S )Nr(         4@)r   rC   rH   rK   s    r    test_hyper_wiener_of_cycle_graphrO      s3    
qA ##t++++++r   c                      t          j        ddg          } t          j        |           t          d          k    sJ d S )Nr   r   )r   r   r   )r   r)   rH   r	   rK   s    r   'test_hyper_wiener_of_disconnected_graphrR      s>    
&&!""A ##uU||333333r   c                      t          j        d          } d| j        d         d<   t          j        | d          dk    sJ d S )Nr   r   rQ   weight)rT   rN   )r   r!   edgesrH   rK   s    r   #test_hyper_wiener_of_weighted_graphrV      sH    
aAAGDM( 8444<<<<<<r   )networkxr   r   r   r   r&   r1   r:   r>   rA   rF   rI   rL   rO   rR   rV   r
   r   r   <module>rX      s       > > >: : :3 3 3  <      " " "" " "" " "" " "
3 
3 
3, , ,
, , ,
4 4 4
= = = = =r   