o
    ]Zh                     @   s   d dl Z d dlZdd Zdd Zdd Zdd	 Zd
d ZG dd dZdd Z	dd Z
dd Zdd Zdd Zdd Zdd ZdS )    Nc                  C   s\   d} d}t dD ]#}t| |}dd | D }tj|dds"J tj|dds+J qd S )	Nd   g333333?
   c                 s       | ]\}}|V  qd S N .0ndr   r   W/var/www/auris/lib/python3.10/site-packages/networkx/algorithms/tests/test_graphical.py	<genexpr>       z.test_valid_degree_sequence1.<locals>.<genexpr>egmethodhh)rangenxerdos_renyi_graphdegreeis_graphical)r	   piGdegr   r   r   test_valid_degree_sequence1   s   r   c                  C   sX   d} t dD ]#}t| d}dd | D }tj|dds J tj|dds)J qd S )	Nr   r      c                 s   r   r   r   r   r   r   r   r      r   z.test_valid_degree_sequence2.<locals>.<genexpr>r   r   r   )r   r   Zbarabasi_albert_graphr   r   )r	   r   r   r   r   r   r   test_valid_degree_sequence2   s   r   c                   C   sD   t tjtjg d t tjtjdgd t tjtjdgd d S )NZfooredr   r   pytestraisesr   NetworkXExceptionr   r   r   r   r   test_string_input   s   r#   c                   C   s0   t tjtjdgd t tjtjdgd d S )Ng      R@r   r   r   r   r   r   r   test_non_integer_input   s   r$   c                   C   s(   t dgdr	J t dgdrJ d S )Nr   r   r   r   r   r   r   r   test_negative_input$   s   r'   c                   @   s    e Zd Zedd Zdd ZdS )	TestAtlasc                 C   s   ddl ma t | _d S )Nr   )atlas)Znetworkx.generatorsr)   Zgraph_atlas_gGAG)clsr   r   r   setup_class*   s   zTestAtlas.setup_classc                 C   sF   | j D ]}dd | D }tj|ddsJ tj|dds J qd S )Nc                 s   r   r   r   r   r   r   r   r   3   r   z'TestAtlas.test_atlas.<locals>.<genexpr>r   r   r   )r*   r   r   r   )selfgraphr   r   r   r   
test_atlas1   s
   
zTestAtlas.test_atlasN)__name__
__module____qualname__classmethodr,   r/   r   r   r   r   r(   )   s    
r(   c                  C   s   g d} t j| ddsJ t j| ddsJ g d} t j| dds#J t j| dds,J g d} t j| dds9J t j| ddsBJ d S )N      r6   r6   r6      r7   r7   r   r   r   r   r   r   )r   r6   r6   r6   r6   r7   r7   r7   r7   r7   r7   
r   r   r   r   r   r7   r7   r7   r6      r&   zr   r   r   test_small_graph_true8      r<   c                  C   s   g d} t j| ddrJ t j| ddrJ g d} t j| ddr#J t j| ddr,J g d} t j| ddr9J t j| ddrBJ d S )N  r6   r6   r6   r6   r7   r7   r7   r   r   r   r   r   r      r5   r9   r9   r7   r   r   r   r   r   r   r   r   r   r7   r7   r7   r6   r9   r&   r:   r   r   r   test_small_graph_falseD   r=   rC   c                  C   sn   d\} }d| }t |D ](}t| ||d  d d}dd | D }dd | D }t||s4J qd S )N)r   r   g      ?r   Tc                 s   r   r   r   r   r   r   r   r   V   r   z0test_directed_degree_sequence.<locals>.<genexpr>c                 s   r   r   r   r   r   r   r   r   W   r   )r   r   r   Z	in_degreeZ
out_degreeis_digraphical)r	   rr   r   r   dindoutr   r   r   test_directed_degree_sequenceP   s   rH   c                  C   s   g d} g d}t || sJ g d} g d}t || r J g d} g d}t || s0J g d}t || r<J g d}t || rHJ g d	 }} t || rVJ g d
 }} t || rdJ d S )Nr4   )r6   r6   r6   r6   r6   r7   r7   r7   r7   r7   r   r>   )
g   f   rJ   rJ   rJ   rJ   rJ   rJ   rJ   rJ   r8   )
r7   r7   r7   r7   r7   r7   r7   r7   r   r   )r7   r7   r7   r7   r7   r7   r7   r7   r   r   r   )r7   r7   r7   r7   r7   r7   r7   r   r   r9   r   r   皙?r   r   r   Zrerr   )r   rD   )rG   rF   r   r   r   test_small_directed_sequences[   s"   rO   c                  C   s   g d} t | rJ g d} t | sJ g d} t | r!J g d} t | r,J g d} t | r7J g d} t | rBJ d S )N
r?   r6   r6   r6   r6   r7   r7   r7   r   r   r@   )rA   r5   r9   r7   r   r   r   rB   rL   rN   )r   Zis_multigraphicalseqr   r   r   test_multi_sequencet   s   rT   c                  C   sr   g d} t | sJ g d} t | rJ g d} t | r!J g d} t | r,J g d} t | r7J d S )NrP   r>   )
r?   r6   r6   r6   r6   r7   r7   rK   r   r   rL   rN   )r   Zis_pseudographicalrR   r   r   r   test_pseudo_sequence   s   rU   c                  C   s   t d} | jg d| jd}t|dsJ t|dsJ | jg d| jd}t|ds1J t|ds9J | jg d| jd}t tjtj|d t tjtj|d d S )Nnumpy)r   r7   r7   r7   r   )Zdtyper   r   )rM   r7   r7   r7   r   )	r    ZimportorskiparrayZint64r   r   Zfloat64r!   r"   )npZdsr   r   r   test_numpy_degree_sequence   s   
rY   )r    Znetworkxr   r   r   r#   r$   r'   r(   r<   rC   rH   rO   rT   rU   rY   r   r   r   r   <module>   s    
	