o
    3ήci<                     @   s   d dl Z d dlZd dlZG dd dZG dd dZG dd deZG dd	 d	ZG d
d dZG dd deZ	G dd deZ
G dd dZdS )    Nc                   @   T   e Zd Z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d ZdS )TestAtlasViewc                 C   s.   dddi ddid| _ tjj| j | _d S )Nblue333333?colorweightr      r   r	      )dnxclasses	coreviews	AtlasViewavself r   L/tmp/pip-target-vg8gfxp4/lib/python/networkx/classes/tests/test_coreviews.pysetup_method
   s   zTestAtlasView.setup_methodc                 C   sd   | j }tt|d}||ksJ |j|jksJ tt|}||ks(J |j|jks0J d S Nr   pickleloadsdumps	__slots__r   viewpviewr   r   r   test_pickle   s   zTestAtlasView.test_picklec                 C      t | jt | jksJ d S N)lenr   r   r   r   r   r   test_len      zTestAtlasView.test_lenc                 C   r"   r#   )listr   r   r   r   r   r   	test_iter   r&   zTestAtlasView.test_iterc                 C   sD   | j d | jd u sJ | j d d dksJ tt| j jd d S )Nr	   r   r      )r   r   pytestraisesKeyError__getitem__r   r   r   r   test_getitem   s   zTestAtlasView.test_getitemc                 C   s   | j  }|d | j d ksJ || j ksJ |d | j d us"J || j us)J i |d< || j ks4J d|d d< |d | j d ksEJ d| j d d< |d | j d ksWJ | j d d= t| j dreJ d S Nr         ht__setitem__r   copyhasattrr   avcopyr   r   r   	test_copy"   s   
zTestAtlasView.test_copyc                 C   s$   t | j t | j ksJ d S r#   )sortedr   itemsr   r   r   r   r   
test_items3   s   $zTestAtlasView.test_itemsc                 C   s    t | j}t | j|ksJ d S r#   )strr   r   r   outr   r   r   test_str6   s   
zTestAtlasView.test_strc                 C   s(   dt | j d }t| j|ksJ d S )Nz
AtlasView())r=   r   reprr   r>   r   r   r   	test_repr:   s   zTestAtlasView.test_reprN__name__
__module____qualname__r   r!   r%   r(   r.   r9   r<   r@   rC   r   r   r   r   r      s    	r   c                   @   r   )TestAdjacencyViewc                 C   sP   ddd}|i ddid| _ | j d|ii dddiid| _tjj| j| _d S )	Nr   r   r   r   r	   r
   r)   r)   r   r	   r   )ndadjr   r   r   AdjacencyViewadjviewr   ddr   r   r   r   A   s   
zTestAdjacencyView.setup_methodc                 C   8   | j }tt|d}||ksJ |j|jksJ d S r   rM   r   r   r   r   r   r   r   r   r!   G      zTestAdjacencyView.test_picklec                 C   r"   r#   )r$   rM   rK   r   r   r   r   r%   M   r&   zTestAdjacencyView.test_lenc                 C   r"   r#   )r'   rM   rK   r   r   r   r   r(   P   r&   zTestAdjacencyView.test_iterc                 C   h   | j d | jd usJ | j d d | j d d u sJ | j d d d dks)J tt| j jd d S Nr	   r)   r   r   r   r1   rM   rK   r*   r+   r,   r-   r   r   r   r   r.   S       zTestAdjacencyView.test_getitemc                 C      | j  }|d | j d ksJ |d | j d usJ d|d d d< |d | j d ks.J d| j d d d< |d | j d ksBJ | j d d d= t| j drRJ d S Nr   r1   r   r)   r2   r3   rM   r5   r6   r7   r   r   r   r9   Y      
zTestAdjacencyView.test_copyc                 C   s2   t dd | j D }|t | j ksJ d S )Nc                 s   s     | ]\}}|t |fV  qd S r#   )dict).0nr   r   r   r   	<genexpr>g   s    z/TestAdjacencyView.test_items.<locals>.<genexpr>)r:   rM   r;   rK   )r   
view_itemsr   r   r   r<   f   s   zTestAdjacencyView.test_itemsc                 C   s$   t t| j}t | j|ksJ d S r#   )r=   r[   rK   rM   r>   r   r   r   r@   j      zTestAdjacencyView.test_strc                 C   s2   | j jjd t| j d }t| j |ksJ d S )N(rA   )rM   	__class__rE   r=   rK   rB   r>   r   r   r   rC   n   s   zTestAdjacencyView.test_reprNrD   r   r   r   r   rH   ?   s    rH   c                   @   $   e Zd Zdd Zdd Zdd ZdS )TestMultiAdjacencyViewc                 C   sv   ddd}|i ddid| _ | j d|idi idddiid	| _| jdd|iii dd
i iid	| _tjj| j| _d S )Nr   r   r   r   r	   r
   r)   r   rI      )kdrJ   rK   r   r   r   MultiAdjacencyViewrM   rN   r   r   r   r   u   s
   
""z#TestMultiAdjacencyView.setup_methodc                 C   st   | j d | jd usJ | j d d d | j d d d u s J | j d d d d dks/J tt| j jd d S rT   rU   r   r   r   r   r.   |      (z#TestMultiAdjacencyView.test_getitemc                 C   s   | j  }|d | j d ksJ |d | j d usJ d|d d d d< |d | j d ks0J d| j d d d d< |d | j d ksFJ | j d d d d= t| j drXJ d S Nr   r1   r   r)   re   r2   r3   rY   r7   r   r   r   r9      s   
z TestMultiAdjacencyView.test_copyNrE   rF   rG   r   r.   r9   r   r   r   r   rd   s   s    rd   c                   @   r   )TestUnionAtlasc                 C   sJ   dddi ddid| _ dddi ddid	| _tjj| j | j| _d S )
Nr   r   r   r   r	   r
   watchr   )r)   r1   r   )spr   r   r   
UnionAtlasr   r   r   r   r   r      s   zTestUnionAtlas.setup_methodc                 C   rP   r   r   r   r   r   r   r!      rR   zTestUnionAtlas.test_picklec                 C   &   t | jt | jt | j ksJ d S r#   )r$   r   rm   rn   r   r   r   r   r%         &zTestUnionAtlas.test_lenc                 C   s&   t | jt | jt | jB ksJ d S r#   )setr   rm   rn   r   r   r   r   r(      rq   zTestUnionAtlas.test_iterc                 C   sr   | j d | jd u sJ | j d | jd u sJ | j d d dks#J tt| j d jd tt| j jd d S )Nr   r1   r   r   r	   rl   re   )r   rm   rn   r*   r+   r,   r-   r   r   r   r   r.      s
   zTestUnionAtlas.test_getitemc                 C   s   | j  }|d | j d ksJ |d | j d usJ || j us"J i |d< || j ks-J d|d d< |d | j d ks>J d| j d d< |d | j d ksPJ | j d d= t| j dr^J d S r/   r4   r7   r   r   r   r9      s   
zTestUnionAtlas.test_copyc                 C   s<   t | j }|| j t| j t| ksJ d S r#   )r[   rn   r;   updaterm   r:   r   )r   expectedr   r   r   r<      s   "zTestUnionAtlas.test_itemsc                 C   $   t t| j}t | j|ksJ d S r#   )r=   r[   r   r>   r   r   r   r@      r`   zTestUnionAtlas.test_strc                 C   s6   | j jj d| j d| j d}t| j |ksJ d S Nra   z, rA   )r   rb   rE   rm   rn   rB   r>   r   r   r   rC      s    zTestUnionAtlas.test_reprNrD   r   r   r   r   rk      s    rk   c                   @   sL   e Zd Z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 )TestUnionAdjacencyc                 C   sp   ddd}|i ddid| _ | j i i dddiid| _i d|id	i idddiid| _tjj| j| j| _d S )
Nr   r   r   r   r	   r
   r)   rI   r   )rJ   rm   rn   r   r   r   UnionAdjacencyrM   rN   r   r   r   r      s
   
 zTestUnionAdjacency.setup_methodc                 C   rP   r   rQ   r   r   r   r   r!      rR   zTestUnionAdjacency.test_picklec                 C   r"   r#   )r$   rM   rm   r   r   r   r   r%      r&   zTestUnionAdjacency.test_lenc                 C   r"   r#   )r:   rM   rm   r   r   r   r   r(      r&   zTestUnionAdjacency.test_iterc                 C   rS   rT   rM   rm   r*   r+   r,   r-   r   r   r   r   r.      rV   zTestUnionAdjacency.test_getitemc                 C   rW   rX   rY   r7   r   r   r   r9      rZ   zTestUnionAdjacency.test_copyc                 C   ru   r#   )r=   r[   rM   r>   r   r   r   r@      r`   zTestUnionAdjacency.test_strc                 C   s:   | j jj}| d| j d| j d}t| j |ksJ d S rv   )rM   rb   rE   rm   rn   rB   )r   clsnamer?   r   r   r   rC      s   
zTestUnionAdjacency.test_reprN)rE   rF   rG   r   r!   r%   r(   r.   r9   r@   rC   r   r   r   r   rw      s    rw   c                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
TestUnionMultiInnerc                 C   sp   ddd}i i ddid| _ | j d|ii dddiid	| _i d
|ii dddiid	| _tjj| j| j| _d S )Nr   r   r   r   r	   )   ekey	   r|   keyrI   r)   spanr   )rf   rm   rn   r   r   r   UnionMultiInnerrM   rN   r   r   r   r      s
   
z TestUnionMultiInner.setup_methodc                 C   rp   r#   )r$   rM   rm   rn   r   r   r   r   r%     rq   zTestUnionMultiInner.test_lenc                 C   s   | j d | jd usJ | j d d | j d d u sJ | j d d d dks)J | j d d d dks6J tt| j jd	 tt| j d jd d S )
Nr	   r   r|   r)   r   r   r   r   r1   ry   r   r   r   r   r.     s    z TestUnionMultiInner.test_getitemc                 C   s   | j  }|d | j d ksJ |d | j d usJ d|d d d< |d | j d ks.J d| j d d d< |d | j d ksBJ | j d d d= t| j drRJ t|dsYJ d S )Nr   re   r   r	   widthr3   rY   r7   r   r   r   r9     s   
zTestUnionMultiInner.test_copyN)rE   rF   rG   r   r%   r.   r9   r   r   r   r   r{      s
    r{   c                   @   rc   )TestUnionMultiAdjacencyc                 C   s   ddd}i i ddid| _ | j d|idi idddiid	| _| jd
d|iii d
di iid	| _i d
d|iii ddi iid	| _tjj| j| j| _d S )Nr   r   r   r   r	   )r|   re   r~   r~   re   rI   r)   r|   )	rf   rJ   rm   rn   r   r   r   UnionMultiAdjacencyrM   rN   r   r   r   r     s   
"" z$TestUnionMultiAdjacency.setup_methodc                 C   st   | j d | jd usJ | j d d d | j d d d u s J | j d d d d dks/J tt| j jd d S )Nr	   r)   r   r~   r   r   r1   ry   r   r   r   r   r.   '  rh   z$TestUnionMultiAdjacency.test_getitemc                 C   s   | j  }|d | j d ksJ |d | j d usJ d|d d d d< |d | j d ks0J d| j d d d d< |d | j d ksFJ | j d d d d= t| j drXJ t|ds_J d S ri   rY   r7   r   r   r   r9   -  s   
z!TestUnionMultiAdjacency.test_copyNrj   r   r   r   r   r     s    r   c                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )TestFilteredGraphsc                 C   s   t jt jt jt jg| _d S r#   )r   GraphDiGraph
MultiGraphMultiDiGraphGraphsr   r   r   r   r   =  s   zTestFilteredGraphs.setup_methodc                 C   s   t jj}| jD ]B}t d|}|ddg}||t jddg}|j|jks)J |j	|j	ks1J |
 }|
 }|j|jksAJ |j	|j	ksIJ qd S Nr1   r   r)   r   r	   )r   
graphviewssubgraph_viewr   
path_graphsubgraphfilters
hide_nodesnodesedgesr5   )r   SubGraphr   GSGRGSGCRGCr   r   r   test_hide_show_nodes@  s   
z'TestFilteredGraphs.test_hide_show_nodesc                 C   s   t jj}| jD ]J}t d|}|ddg}||t jddg}t|j	 t|j	 t
|j	 t
|j	 t|j	d  t|j	d  t
|j	d  t
|j	d  qd S r   )r   r   r   r   r   r   r   r   r=   rK   rB   )r   r   r   r   r   r   r   r   r   test_str_reprM  s   




z TestFilteredGraphs.test_str_reprc                 C   s  t jj}| jD ]}t d|}|ddg}||t jddg}||t jddg}|j	
 |j	ks6J |j	d 
 |j	d ksDJ |j	
 |j	ksNJ |j	d 
 |j	d ks\J |j	
 |j	ksfJ |j	d 
 |j	d kstJ |j	
 |j	ks~J |j	d 
 |j	d ksJ qd S r   )r   r   r   r   r   r   r   r   
show_nodesrK   r5   )r   r   r   r   r   r   RsGr   r   r   r9   \  s   
zTestFilteredGraphs.test_copyc                 C   s2  t jj}| jD ]}t d|}|ddg}||t jddg}||t jddg}|j	
 |j	ks7J |jj
 |jjksCJ |jd j
 |jd jksSJ |jd jd 
 |jd jd ksgJ |jj
 |jjkssJ |jd j
 |jd jksJ |jd jd 
 |jd jd ksJ |j	
 |j	ksJ |jj
 |jjksJ |jd j
 |jd jksJ |jd jd 
 |jd jd ksJ |j	
 |j	ksJ | r*|jd jd d 
 |jd jd d ksJ |jd jd d 
 |jd jd d ksJ |jd jd d 
 |jd jd d ks*J t|j	j
 t|jjj
 | rFt|jjj
 | rUt|jd jj
 |dg}t|dgkseJ t d|}|ddg}||t jddg}||t jg d}|jj
 |jjksJ |jd j
 |jd jksJ |jd jd 
 |jd jd ksJ |j	
 |j	ksJ |jj
 |jjksJ |jd j
 |jd jksJ |jd jd 
 |jd jd ksJ |j	
 |j	ksJ |jj
 |jjksJ |jd j
 |jd jks"J |jd jd 
 |jd jd ks7J |j	
 |j	ksBJ | r|jd d j
 |jd d jks\J |jd d j
 |jd d jksqJ |jd d j
 |jd d jksJ |dg}t|dgksJ qd S )Nr1   r   r)   r   r	   r~   )r   r)   r1   r0      r|   re   )r   r   r   r   r   r   r   r   r   _noder5   rK   _atlasis_multigraphr*   deprecated_callr'   complete_graph)r   r   r   r   r   r   r   SSGr   r   r   test_filtered_copyl  sj    ( ( (
022

"*"*"*
***z%TestFilteredGraphs.test_filtered_copyN)rE   rF   rG   r   r   r   r9   r   r   r   r   r   r   <  s    r   )r   r*   networkxr   r   rH   rd   rk   rw   r{   r   r   r   r   r   r   <module>   s    7482#