o
    h                     @   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/vscode/kcb/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a t | _d S )Nr   )atlas)networkx.generatorsr+   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__classmethodr0   r3   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      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  r:   r:   r:   r:   r;   r;   r;   r   r   r   r   r   r      r9   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   rA   rG   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   rN   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 )Nr8   )r:   r:   r:   r:   r:   r;   r;   r;   r;   r;   r   rB   )
g   f   rP   rP   rP   rP   rP   rP   rP   rP   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   rJ   )rM   rL   r   r   r   test_small_directed_sequences[   s"   rV   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
rC   r:   r:   r:   r:   r;   r;   r;   r   r   rD   )rE   r9   r=   r;   r   r   r   rF   rR   rT   )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 )NrW   rB   )
rC   r:   r:   r:   r:   r;   r;   rQ   r   r   rR   rT   )r   is_pseudographicalrZ   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   )rS   r;   r;   r;   r   )	r"   importorskiparrayint64r   r   float64r#   r$   )npdsr   r   r   test_numpy_degree_sequence   s   
rg   )r"   networkxr   r   r   r%   r&   r)   r*   r@   rG   rN   rV   r\   r^   rg   r   r   r   r   <module>   s    
	