Code Duplication    Length = 23-27 lines in 2 locations

tests/graphinate/renderers/test_matplotlib_draw.py 2 locations

@@ 86-112 (lines=27) @@
83
84
85
# Drawing a graph with both node and edge labels turned on
86
def test_draw_with_both_labels_on(mocker):
87
    # Arrange
88
    mock_nx_draw = mocker.patch('networkx.draw')
89
    mock_nx_draw_edge_labels = mocker.patch('networkx.draw_networkx_edge_labels')
90
    mock_spring_layout = mocker.patch('networkx.spring_layout', return_value='mock_pos')
91
    mock_is_planar = mocker.patch('networkx.is_planar', return_value=False)
92
    mock_node_color_mapping = mocker.patch('graphinate.renderers.matplotlib.node_color_mapping',
93
                                           return_value={0: 'red', 1: 'blue'})
94
95
    graph = nx.Graph()
96
    graph.add_node(0, label='Node0')
97
    graph.add_node(1, label='Node1')
98
    graph.add_edge(0, 1, label='Edge0-1')
99
100
    # Act
101
    draw(graph, with_node_labels=True, with_edge_labels=True)
102
103
    # Assert
104
    mock_is_planar.assert_called_once_with(graph)
105
    mock_spring_layout.assert_called_once_with(graph)
106
    mock_node_color_mapping.assert_called_once_with(graph)
107
    mock_nx_draw.assert_called_once()
108
    mock_nx_draw_edge_labels.assert_called_once()
109
110
    # Check that node labels are enabled
111
    _args, kwargs = mock_nx_draw.call_args
112
    assert kwargs.get('with_labels') is True
113
114
115
# Drawing a planar graph uses planar_layout first
@@ 60-82 (lines=23) @@
57
58
59
# Drawing a graph with edge labels turned on
60
def test_draw_with_edge_labels_on(mocker):
61
    # Arrange
62
    mock_nx_draw = mocker.patch('networkx.draw')
63
    mock_nx_draw_edge_labels = mocker.patch('networkx.draw_networkx_edge_labels')
64
    mock_spring_layout = mocker.patch('networkx.spring_layout', return_value='mock_pos')
65
    mock_is_planar = mocker.patch('networkx.is_planar', return_value=False)
66
    mock_node_color_mapping = mocker.patch('graphinate.renderers.matplotlib.node_color_mapping',
67
                                           return_value={0: 'red', 1: 'blue'})
68
69
    graph = nx.Graph()
70
    graph.add_node(0, label='Node0')
71
    graph.add_node(1, label='Node1')
72
    graph.add_edge(0, 1, label='Edge0-1')
73
74
    # Act
75
    draw(graph, with_edge_labels=True)
76
77
    # Assert
78
    mock_is_planar.assert_called_once_with(graph)
79
    mock_spring_layout.assert_called_once_with(graph)
80
    mock_node_color_mapping.assert_called_once_with(graph)
81
    mock_nx_draw.assert_called_once()
82
    mock_nx_draw_edge_labels.assert_called_once()
83
84
85
# Drawing a graph with both node and edge labels turned on