
    ިsg                     p    d dl Z d dlZd Zd Zd Zd Zd Z G d d      Zd	 Z	d
 Z
d Zd Zd Zd Zd Zy)    Nc                      d} d}t        d      D ]a  }t        j                  | |      }d |j                         D        }t        j                  |d      sJ t        j                  |d      raJ  y )Nd   g333333?
   c              3   &   K   | ]	  \  }}|  y wN .0nds      [/var/www/html/venv/lib/python3.12/site-packages/networkx/algorithms/tests/test_graphical.py	<genexpr>z.test_valid_degree_sequence1.<locals>.<genexpr>        (TQq(   egmethodhh)rangenxerdos_renyi_graphdegreeis_graphical)r   piGdegs        r   test_valid_degree_sequence1r      si    AA2Y 1  A&(QXXZ(s4000s4000	1    c                      d} t        d      D ]a  }t        j                  | d      }d |j                         D        }t        j                  |d      sJ t        j                  |d      raJ  y )Nr   r      c              3   &   K   | ]	  \  }}|  y wr   r   r	   s      r   r   z.test_valid_degree_sequence2.<locals>.<genexpr>   r   r   r   r   r   )r   r   barabasi_albert_graphr   r   )r   r   r   r   s       r   test_valid_degree_sequence2r$      sd    A2Y 1$$Q*(QXXZ(s4000s4000	1r   c                  @   t        j                  t        j                  t        j                  g d       t        j                  t        j                  t        j                  dgd       t        j                  t        j                  t        j                  dgd       y )Nfooredr   r   pytestraisesr   NetworkXExceptionr   r   r   r   test_string_inputr,      sZ    
MM"&&UC
MM"&&%$G
MM"&&%$Gr   c                      t        j                  t        j                  t        j                  dgd       t        j                  t        j                  t        j                  dgd       y )Ng      R@r   r   r(   r   r   r   test_non_integer_inputr.      s>    
MM"&&$F
MM"&&$Fr   c                  h    t        j                  dgd      rJ t        j                  dgd      rJ y )Nr   r   r   r   r   r   r   test_negative_inputr2   $   s1    tT***tT****r   c                   "    e Zd Zed        Zd Zy)	TestAtlasc                 B    ddl ma t        j                         | _        y )Nr   )atlas)networkx.generatorsr6   graph_atlas_gGAG)clss    r   setup_classzTestAtlas.setup_class*   s     	.%%'r   c                     | j                   D ]K  }d |j                         D        }t        j                  |d      sJ t        j                  |d      rKJ  y )Nc              3   &   K   | ]	  \  }}|  y wr   r   r	   s      r   r   z'TestAtlas.test_atlas.<locals>.<genexpr>3   s     0A10r   r   r   r   )r9   r   r   r   )selfgraphr   s      r   
test_atlaszTestAtlas.test_atlas1   sM    XX 	5E00C??3t444??3t444	5r   N)__name__
__module____qualname__classmethodr;   r@   r   r   r   r4   r4   )   s    ( (5r   r4   c                  H   g d} t        j                  | d      sJ t        j                  | d      sJ g d} t        j                  | d      sJ t        j                  | d      sJ g d} t        j                  | d      sJ t        j                  | d      sJ y )N      rH   rH   rH      rI   rI   r!   r!   r!   r   r   r   )r   rH   rH   rH   rH   rI   rI   rI   rI   rI   rI   
r!   r!   r!   r!   r!   rI   rI   rI   rH      r1   zs    r   test_small_graph_truerN   8   s    )A??1T***??1T****A??1T***??1T***&A??1T***??1T***r   c                  H   g d} t        j                  | d      rJ t        j                  | d      rJ g d} t        j                  | d      rJ t        j                  | d      rJ g d} t        j                  | d      rJ t        j                  | d      rJ y )N  rH   rH   rH   rH   rI   rI   rI   r!   r!   r!   r   r   r      rG   rK   rK   rI   r!   r!   r!   r!   r!   r!   r!   r!   r!   rI   rI   rI   rH   rK   r1   rL   s    r   test_small_graph_falserU   D   s    ,Aq...q... Aq...q...)Aq...q....r   c                      d\  } }d|z  }t        |      D ]f  }t        j                  | ||dz   z  d d      }d |j                         D        }d |j	                         D        }t        j
                  ||      rfJ  y )N)r   r   g      ?r!   Tc              3   &   K   | ]	  \  }}|  y wr   r   r	   s      r   r   z0test_directed_degree_sequence.<locals>.<genexpr>V   s     +TQq+r   c              3   &   K   | ]	  \  }}|  y wr   r   r	   s      r   r   z0test_directed_degree_sequence.<locals>.<genexpr>W   s     -da-r   )r   r   r   	in_degree
out_degreeis_digraphical)r   rr   r   r   dindouts          r   test_directed_degree_sequencer_   P   s{    DAqaA1X ,  AQKt<+Q[[]+-alln-  d+++	,r   c                     g d} g d}t        j                  ||       sJ g d} g d}t        j                  ||       rJ g d} g d}t        j                  ||       sJ g d}t        j                  ||       rJ g d}t        j                  ||       rJ g d	x}} t        j                  ||       rJ g d
x}} t        j                  ||       rJ y )NrF   )rH   rH   rH   rH   rH   rI   rI   rI   rI   rI   r!   rP   )
g   f   rb   rb   rb   rb   rb   rb   rb   rb   rJ   )
rI   rI   rI   rI   rI   rI   rI   rI   r!   r!   )rI   rI   rI   rI   rI   rI   rI   rI   r!   r!   r!   )rI   rI   rI   rI   rI   rI   rI   r!   r!   rK   r!   r!   皙?r!   r!   r!   rerr!   )r   r[   )r^   r]   s     r   test_small_directed_sequencesrh   [   s    ,D
+CS$'''/D
<C  d+++)D
(CS$'''
+C  d+++
,C  d+++C$  d+++!!C$  d++++r   c                  H   g d} t        j                  |       rJ g d} t        j                  |       sJ g d} t        j                  |       rJ g d} t        j                  |       rJ g d} t        j                  |       rJ g d} t        j                  |       rJ y )N
rQ   rH   rH   rH   rH   rI   rI   rI   r!   r!   rR   )rS   rG   rK   rI   r!   r!   r!   rT   rd   rf   )r   is_multigraphicalseqs    r   test_multi_sequencero   t   s    
+C##C(((
"C$$$
#C##C(((
+C##C(((
C##C(((
C##C((((r   c                     g d} t        j                  |       sJ g d} t        j                  |       rJ g d} t        j                  |       rJ g d} t        j                  |       rJ g d} t        j                  |       rJ y )Nrj   rP   )
rQ   rH   rH   rH   rH   rI   rI   rc   r!   r!   rd   rf   )r   is_pseudographicalrm   s    r   test_pseudo_sequencerr      s    
+C  %%%
.C$$S)))
,C$$S)))
C$$S)))
C$$S))))r   c                  x   t        j                  d      } | j                  g d| j                        }t	        j
                  |d      sJ t	        j
                  |d      sJ | j                  g d| j                        }t	        j
                  |d      sJ t	        j
                  |d      sJ | j                  g d| j                        }t        j                  t        j                  t        j
                  |d       t        j                  t        j                  t        j
                  |d       y )Nnumpy)r!   rI   rI   rI   r!   )dtyper   r   )re   rI   rI   rI   r!   )	r)   importorskiparrayint64r   r   float64r*   r+   )npdss     r   test_numpy_degree_sequencer|      s    			W	%B	/	2B??2t$$$??2t$$$	/	4B??2t$$$??2t$$$	#2::	6B
MM"&&TB
MM"&&TBr   )r)   networkxr   r   r$   r,   r.   r2   r4   rN   rU   r_   rh   ro   rr   r|   r   r   r   <module>r~      sT     11HG
+
5 5	+	/,,2)(*"
Cr   