
    Vh                     &    d dl Zd Z G d d      Zy)    Nc                  X    g d} t        j                         }|j                  |        |S )z=The sample network from https://arxiv.org/pdf/1310.6753v1.pdf))ab)r   c)r   r   )r   d)r   e)r   f)r   r   )r   r	   )r   h)r   r	   )r   r	   )r	   r
   )r
   j)r
   k)ir   )r   r   )r   r   )ur   )r   r   )r   r   )r   r   )r   r   )r   r	   )r   g)r   r
   )r   r   )r   r   )r   r   )nxGraphadd_edges_from)edgesGs     d/home/dcms/DCMS/lib/python3.12/site-packages/networkx/algorithms/centrality/tests/test_dispersion.pysmall_ego_Gr      s)    E< 	
AUH    c                   $    e Zd Zd Zd Zd Zd Zy)TestDispersionc                     t               }t        j                  |ddd      }t        j                  |ddd      }|dk(  sJ |dk(  sJ y)	zour algorithm matches article'sr   r
   F)
normalizedr         Nr   r   
dispersion)selfr   disp_uhdisp_ubs       r   test_articlezTestDispersion.test_article+   sI    M--3>--3>!||!||r   c                 *   t               }t        j                  |      }t        j                  |d      }t        j                  |dd      }t        |      t        |      k(  sJ t        |      t        |      dz
  k(  sJ t	        |t
              sJ y)z there is a result for every noder   r
   r   N)r   r   r   len
isinstancefloat)r    r   dispdisp_Gudisp_uvs        r   test_results_lengthz"TestDispersion.test_results_length3   sy    M}}Q--3'--3,4yCF"""7|s1vz)))'5)))r   c                     t               }t        j                  |dd      }t        j                  |dd      }|ddddddk(  sJ |ddddd	dk(  sJ y )
Nr
   F)vr   Tr   r   )r   r	   r   r   r   g        g      ?r   )r    r   disp_G_hdisp_G_h_normalizeds       r   test_dispersion_v_onlyz%TestDispersion.test_dispersion_v_only=   sa    M==ce< mmAFCCCC"Cc#TW&XXXXr   c                     t        j                         }t        j                  |      }|D ]  }||   D ]  }||   |   dk\  rJ   y )Nr   )r   karate_club_graphr   )r    r   r(   r   r-   s        r   test_impossible_thingsz%TestDispersion.test_impossible_thingsD   sT      "}}Q 	'A!W 'AwqzQ&'	'r   N)__name__
__module____qualname__r#   r+   r0   r3    r   r   r   r   *   s    *Y'r   r   )networkxr   r   r   r7   r   r   <module>r9      s    #L' 'r   