o
    ˷e_                     @   s>   d dl Z d dlZd dlZd dlmZmZmZ G dd dZdS )    N)edges_equalgraphs_equalnodes_equalc                   @   s(   e Zd Zedd Zdd Zdd ZdS )TestGpicklec           
      C   s   t jdd}g d}|j|dd |jddd d	|jd
< t |}t |}|dd t |}|dd |	 }|	 }|	 }|	 }	t 
| t 
| t 
| t 
|	 || _|| _|| _|| _|| _|| _|| _|	| _d S )Ntest)name))ab)r	   c)r
   d)r   e)r   f)r   r   
   )widthggreen)color   numberr   )nxGraphadd_edges_fromadd_nodegraphDiGraph
MultiGraphadd_edgeMultiDiGraphcopyfreezeGDGMGMDGfGfDGfMGfMDG)
clsr    r   r!   r"   r#   r$   r%   r&   r'    r)   \/var/www/ideatree/venv/lib/python3.10/site-packages/networkx/readwrite/tests/test_gpickle.pysetup_class	   s4   








zTestGpickle.setup_classc                 C   s   | j | j| j| j| j| j| j| jfD ]J}t	 \}}t
|| t
|}tt|jddt|jdds8J tt|jddt|jddsKJ t||sRJ t| t| qd S )NTdata)r    r!   r"   r#   r$   r%   r&   r'   tempfilemkstempr   write_gpickleread_gpickler   listnodesr   edgesr   oscloseunlink)selfr    fdfnameGinr)   r)   r*   test_gpickle&   s$   

&&
zTestGpickle.test_gpicklec              	   C   s   | j | j| j| j| j| j| j| jfD ]T}t	 F}t
||d |d t
|}tt|jddt|jdds=J tt|jddt|jddsPJ t||sWJ W d    n1 saw   Y  qd S )Nr   Tr,   )r    r!   r"   r#   r$   r%   r&   r'   r.   TemporaryFiler   r0   seekr1   r   r2   r3   r   r4   r   )r8   r    r   r;   r)   r)   r*   test_protocol:   s&   



&&zTestGpickle.test_protocolN)__name__
__module____qualname__classmethodr+   r<   r?   r)   r)   r)   r*   r      s
    
r   )	r5   r.   networkxr   networkx.utilsr   r   r   r   r)   r)   r)   r*   <module>   s
    