U
    ?h                     @   s   d dl Z d dlZd dlmZmZ e jdejej	fdd Z
e jdddd	d
ddddgdddgddddgdddddgfdd Zdd Zdd Zdd ZdS )    N)arbitrary_elementgraphs_equalprefix_tree_fnc                    s  ddddddddg}| | d	\}} fd
d}t  | |d\}}}t | dksZtt | }t | dksztt | dkstt  | |d\}}	t | dkstt |	 dkstt  |	 |d\}}
t | dkstt |
 dkstt |
 }t | dks*tt  | |d\}}t | dksTtt | }t | dksvtt  | |d\}}}t | dkstt | dkstt | dkstt | }t | dkstt | }t | dkstt | }t | dks4t||d ksFt||dksXt||dksjt||dks|t||	dkst||
dkst||dkst||dkst||dkst||dkst||dkst||dkstd S )Natoteatedteniininn)r   c                    s    j |  d S )Nsource)Znodes)vT V/var/www/html/venv/lib/python3.8/site-packages/networkx/generators/tests/test_trees.pysource_label   s    z,test_basic_prefix_tree.<locals>.source_label)key   r      tnoedNIL)sortedlenAssertionErrorr   )r   stringsrootr   r   r   r
   r   nilZin_r   ter   r   r   r	   r   r   r   test_basic_prefix_tree   sV    r%   r!   r   r   r   r   r	   r
   r   r   ababsad ZdistantZdisparagingZdiamondrubyc                 C   s   t t| t| stdS )zBEnsure results are consistent between prefix_tree implementations.N)r   nxprefix_treeprefix_tree_recursiver    )r!   r   r   r   test_implementations_consistentG   s    r.   c                  C   s    t jddd} t | stdS )z+Tests that a random tree is in fact a tree.
     seedN)r+   random_treeis_treer    r   r   r   r   test_random_treeU   s    r5   c               	   C   s*   t tj tjddd} W 5 Q R X dS )zETests if n = 0 then the NetworkXPointlessConcept exception is raised.r   r0   r1   N)pytestZraisesr+   ZNetworkXPointlessConceptr3   r   r   r   r   test_random_tree_n_zero[   s    r7   c                  C   s*   t  } t jdd| d}t |s&tdS )z8Tests that creating a ramdom tree with a generator worksr/   r0   )r2   Zcreate_usingN)r+   ZGraphr3   r4   r    )Gr   r   r   r    test_random_tree_using_generatora   s    r9   )r6   Znetworkxr+   Znetworkx.utilsr   r   markZparametrizer,   r-   r%   r.   r5   r7   r9   r   r   r   r   <module>   s    
?
	
