o
    ˷e                     @   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   _/var/www/ideatree/venv/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   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 )N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  ma t | _d S )Nr   )networkx.generators.atlas
generatorsatlas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__classmethodr1   r4   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      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   r<   r<   r<   r;      r(   zr   r   r   test_small_graph_true8      rA   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  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<   r<   r<   r;   r>   r(   r?   r   r   r   test_small_graph_falseD   rB   rH   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   	in_degree
out_degreeis_digraphical)r	   rr   r   r   dindoutr   r   r   test_directed_degree_sequenceP   s   rO   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 )Nr9   )r;   r;   r;   r;   r;   r<   r<   r<   r<   r<   r   rC   )
g   f   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   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<   r<   r<   r   r   r>   r   r   皙?r   r   r   rerr   )r   rK   )rN   rM   r   r   r   test_small_directed_sequences[   s"   rW   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
rD   r;   r;   r;   r;   r<   r<   r<   r   r   rE   )rF   r:   r>   r<   r   r   r   rG   rS   rU   )r   is_multigraphicalseqr   r   r   test_multi_sequencet   s   r]   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 )NrX   rC   )
rD   r;   r;   r;   r;   r<   r<   rR   r   r   rS   rU   )r   is_pseudographicalr[   r   r   r   test_pseudo_sequence   s   r_   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   r<   r<   r<   r   )dtyper   r   )rT   r<   r<   r<   r   )	r"   importorskiparrayint64r   r   float64r#   r$   )npdsr   r   r   test_numpy_degree_sequence   s   
rh   )r"   networkxr   r   r   r%   r&   r)   r*   rA   rH   rO   rW   r]   r_   rh   r   r   r   r   <module>   s    
	