
    Vh                     4    d dl Z d dlZd dlmZ  G d d      Zy)    N)NetworkXNotImplementedc                   4    e Zd Zed        Zd Zd Zd Zd Zy)TestAttractingComponentsc                 z   t        j                         | _        | j                  j                  g d       t        j                         | _        | j                  j                  g d       t        j                         | _        | j
                  j                  g d       t        j                         | _        y )N)	)      )r      )r   	   )r   
   )   r   )r      )r   r
   )   r   )r   r   )r      )r   r	   )r   r   r   r	   r	   r   )r   r   r   )r   r   r      )r   r   )nxDiGraphG1add_edges_fromG2G3G4)clss    d/home/dcms/DCMS/lib/python3.12/site-packages/networkx/algorithms/components/tests/test_attracting.pysetup_classz$TestAttractingComponents.setup_class   su    
	
 FGNO    c                 \   t        t        j                  | j                              }dh|v sJ dh|v sJ dh|v sJ t        t        j                  | j                              }|D cg c]  }t        t        |             }}|dgk(  sJ t        t        j                  | j                              }|D cg c]  }t        t        |             }}d|v sJ d|v sJ t        |      dk(  sJ t        t        j                  | j                              }|g k(  sJ y c c}w c c}w )Nr	   r
   r   r   r   )
listr   attracting_componentsr   r   tuplesortedr   lenr   )selfacxs      r   test_attracting_componentsz3TestAttractingComponents.test_attracting_components    s   "**47734sbyysbyytrzz"**47734(*+1eF1I++fX~~"**47734(*+1eF1I++||||2w!||"**47734Rxx , ,s   *D$;D)c                 $   t        j                  | j                        dk(  sJ t        j                  | j                        dk(  sJ t        j                  | j                        dk(  sJ t        j                  | j
                        dk(  sJ y )Nr   r   r	   r   )r   number_attracting_componentsr   r   r   r   )r&   s    r    test_number_attacting_componentsz9TestAttractingComponents.test_number_attacting_components3   sv    ..tww71<<<..tww71<<<..tww71<<<..tww71<<<r   c                 t   t        j                  | j                        rJ t        j                  | j                        rJ t        j                  | j                        rJ | j                  j                  ddg      }t        j                  |      sJ t        j                  | j                        rJ y )Nr   r	   )r   is_attracting_componentr   r   r   subgraphr   )r&   g2s     r   test_is_attracting_componentz5TestAttractingComponents.test_is_attracting_component9   s    --dgg666--dgg666--dgg666WWq!f%))"-----dgg6666r   c                 h   t        j                         }t        j                  t              5  t        t        j                  |             d d d        t        j                  t        t         j                  |       t        j                  t        t         j                  |       y # 1 sw Y   \xY w)N)	r   Graphpytestraisesr   nextr"   r+   r.   )r&   Gs     r   test_connected_raisez-TestAttractingComponents.test_connected_raiseA   sp    HHJ]]12 	.))!,-	.,b.M.MqQ,b.H.H!L	. 	.s   B((B1N)	__name__
__module____qualname__classmethodr   r)   r,   r1   r8    r   r   r   r      s)     .&=7Mr   r   )r4   networkxr   r   r   r=   r   r   <module>r?      s      +?M ?Mr   