Файловый менеджер - Редактировать - /opt/imh-python/lib/python3.9/site-packages/tests/__pycache__/test_directed_graph.cpython-39.pyc
Ðазад
a ^�h� � @ sB d Z ddlZddlmZmZmZ ddlmZ G dd� dej�Z dS ) zMProvides unit testing of the DirectedGraph class in the main graphlib module.� N� )� DirectedGraph�NonexistentNodeError�NonexistentEdgeError� )�utility_functionsc @ sL e Zd Zdd� Zdd� Zdd� Zdd� Zd d � Zdd� Zd d� Z dd� Z dS )�DGTestc C s( t �d�}g }|�d�}| �||� t �d�}ddgfdg fg}|D ]*\}}|�|�}| �||d�|||�� qDt �d�}ddgfddgfddgfg}|D ]*\}}|�|�}| �||d�|||�� q�t �d�}dddgfddgfddgfdg fg}|D ]*\}}|�|�}| �||d�|||�� q�dS )zHDoes the ''neighbors'' method produce the proper list of neighbor nodes?Tr r z"Node {}: Expected {} != Actual {}� � N)r Zbuild_single_node_graph� neighbors�assertEqualZbuild_2_node_graph�formatZbuild_triangle_graph_with_costsZ"build_square_test_graph_with_costs)�self�graph�expectedr Z test_list�node_idZexpected_neighbors� r ��/root/rpmbuild/BUILDROOT/imh-python39-modules-3.9.7-92.el8.x86_64/opt/imh-python/lib/python3.9/site-packages/tests/test_directed_graph.py�test_correct_neighbors sD � � � � � �zDGTest.test_correct_neighborsc C s t � }d}d}z|�||� W n ty0 Y n0 | �d�||�� |�� }z|�||� W n tyn Y n0 | �d�|�� |�� }|�|� z|�||� W n ty� Y n0 | �d�|�� |�� }z|�||� W n ty� | �d� Y n0 dS )zJDoes the ''new_edge'' function throw errors when given non-existent nodes?r r z,New edge accepts invalid node ids "{}", "{}"z(New edge accepts an invalid node id "{}"z/New edge throws error when given existing nodesN)r �new_edger �failr �new_nodeZdelete_node)r r �node_a�node_br r r �&test_new_edge_non_existent_node_errors7 s6 z-DGTest.test_new_edge_non_existent_node_errorsc C s@ t � }d}z|�|� W n ty* Y n0 | �d�|�� dS )zRDoes the ''neighbors'' function throw an error when given an non-existent node id?r z2neighbors function accepts non-existent node id {}N)r r r r r �r r r r r r �&test_neighbors_non_existent_node_errorb s z-DGTest.test_neighbors_non_existent_node_errorc C s0 t � }|�� }|�� }|�||�}| �|� dS )z/Does the ''new_edge'' method return an edge id?N)r r r ZassertIsNotNone)r r r r �edge_idr r r �test_new_edge_return_valueo s z!DGTest.test_new_edge_return_valuec C s@ t � }d}z|�|� W n ty* Y n0 | �d�|�� dS )zSDoes the ''delete_edge_by_id'' method raise an error when given an invalid edge id?r z+Delete edge accepts an invalid edge id "{}"N)r Zdelete_edge_by_idr r r �r r r r r r �+test_delete_edge_with_bad_edge_raises_errorz s z2DGTest.test_delete_edge_with_bad_edge_raises_errorc C s@ t � }d}z|�|� W n ty* Y n0 | �d�|�� dS )zJDoes the ''get_node'' method raise an error when given an invalid node id?r z(Get node accepts an invalid node id "{}"N)r Zget_noder r r r r r r �(test_get_node_with_bad_node_raises_error� s z/DGTest.test_get_node_with_bad_node_raises_errorc C s@ t � }d}z|�|� W n ty* Y n0 | �d�|�� dS )zJDoes the ''get_edge'' method raise an error when given an invalid edge id?r z(Get edge accepts an invalid edge id "{}"N)r Zget_edger r r r r r r �(test_get_edge_with_bad_edge_raises_error� s z/DGTest.test_get_edge_with_bad_edge_raises_errorc C sH t �d�}g d�}|D ],\}}}|�||�}| �||d�||�� qdS )zUDoes the ''adjacent'' function correctly identify neighbor nodes in a directed graph?T) )r r T)r r T)� � T)r � T)r r F)r r F)r$ r# F)r r% F)r r F)r r# Fznode_a {}, node_b {}N)r Zbuild_simple_test_graphZadjacentr r )r r �pairsr r r �actualr r r �test_adjacency� s zDGTest.test_adjacencyN)�__name__� __module__�__qualname__r r r r r r! r"