File: //lib/python3/dist-packages/samba/tests/kcc/__pycache__/graph_utils.cpython-310.pyc
o
�/a� � @ sh d Z ddlZddlZddlmZ ddlmZmZmZmZm Z m
Z
ddlZdd� ZG dd� dej
j�ZdS ) zTests for samba.kcc.graph_utils� N)�
GraphError)�verify_graph_complete�verify_graph_connected�*verify_graph_connected_under_edge_failures�verify_graph_forest�,verify_graph_connected_under_vertex_failures�verify_graph_no_lonely_verticesc C s� t | �dk rdS t| �}t� }t� }|�|�� � |�|�� � |�t|�� |rA|�� }|�� }||f}|�|� |�|� |s)t|�S )N� � )�len�set�add�pop�tuple�update)�vertices� remaining�used�edges�v�w�er
r
�=/usr/lib/python3/dist-packages/samba/tests/kcc/graph_utils.py� make_tree# s
�r c sd e Zd Z� fdd�Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Z� Z
S )�UndirectedGraphTestsc s t t| ��� td�}td�}tt�|d��}tt�|d��}tt|dd � |d d� ��}||d |d fg }t|�}t|�}|||g| _ || || || g| _
||| |g| _|||g| _|||g| _
|||g| _|| || || g| _d|df| _d S )N�abcdefgh�ijkr � ���r r
)�superr �setUpr � itertools�combinations�list�zipr �complete_graph�disconnected_clusters�graph_with_unreachables�ring�line�tree�forest�unconnected_graph) �selfr � vertices2r �edges2�
line_edges�
ring_edgesr* �tree2�� __class__r
r r 9 s4 ���zUndirectedGraphTests.setUpc G s | j t|g|�R � S �N)�assertRaisesr )r- �fn�argsr
r
r �assertGraphErrorY s z%UndirectedGraphTests.assertGraphErrorc C sh t }| j|g| j�R � | j|g| j�R � | j|g| j�R � | j|g| j�R � | �|| j� � d S r5 )r r9 r&