Sindbad~EG File Manager
a
��g_! � @ sV d dl mZ d dlZd dlZd dlZd dlmZ G dd� dej�Ze dkrRe�
� dS )� )�chainN)�assert_python_okc @ s� e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#S )$�TestTopologicalSortc sp dd� }t �|�}| �t||��t|�� t �|�}t|�� �� |D ]&}� fdd�|D �}| �t|�|� qDd S )Nc s s@ | � � | �� r<| �� }|D ]}| �|� qtt|��V qd S �N)�prepare� is_active� get_ready�done�tuple�sorted)�ts�nodes�node� r �./usr/local/lib/python3.9/test/test_graphlib.py�static_order_with_groups
s zATestTopologicalSort._test_graph.<locals>.static_order_with_groupsc s h | ]}t � ��qS r )�next)�.0�element��itr r � <setcomp> � z2TestTopologicalSort._test_graph.<locals>.<setcomp>)�graphlib�TopologicalSorter�assertEqual�list�iter�static_order�set)�self�graphZexpectedr r �groupZtsgroupr r r �_test_graph s
zTestTopologicalSort._test_graphc C s� t �� }|�� D ]\}}|j|g|�R � qz|�� W nX t jy� } z>|j\}}| �d�t t
|��d�t t
|d ��� W Y d }~nd }~0 0 � d S )N� � )r r �items�addr Z
CycleError�argsZassertIn�join�map�str) r r! �cycler r � dependson�e�msg�seqr r r �
_assert_cycle s
>z!TestTopologicalSort._assert_cyclec
C s( | � dhddhddhddhddhd�g d�� | � di id g� | � d
d� td�D �d
d� tddd�D �� | � dhdhdhdhdhdhdhdhd�g d�� | � ddgdgddgdgdgdgdgdgdgg d�
g d�� | � ddgg dgg d�g d�� | � ddgg dgg dgdgg d�g d�� d S ) N� � � � � )r% � �
r2 r3 ))r4 r6 r5 )r3 r2 )r% r7 r8 � �r9 c S s i | ]}||d h�qS r: r �r �xr r r �
<dictcomp>3 r z9TestTopologicalSort.test_simple_cases.<locals>.<dictcomp>r8 c S s g | ]
}|f�qS r r r; r r r �
<listcomp>3 r z9TestTopologicalSort.test_simple_cases.<locals>.<listcomp>���� � �
� � )r% r4 r@ r6 r2 rA rB rC ))r9 rD )r6 rC )r@ rB )r4 rA )r% r2 r% � r7 )
r r9 r% r4 r@ r6 rE r5 r3 r7 ))r7 )r@ )r4 r3 )r9 r6 r5 )rE �r% �r )r r9 r% r4 ))r9 r4 rF rG )r r9 r% r4 r@ r6 rE ))r9 r4 rE )r% r6 )r r@ )r# �range�r r r r �test_simple_cases* s>