Code Duplication    Length = 23-23 lines in 2 locations

tests/graphinate/renderers/test_matplotlib_draw.py 2 locations

@@ 142-164 (lines=23) @@
139
140
141
# Drawing a non-planar graph uses spring_layout directly
142
def test_draw_non_planar_graph(mocker):
143
    # Arrange
144
    mock_nx_draw = mocker.patch('networkx.draw')
145
    mock_planar_layout = mocker.patch('networkx.planar_layout')
146
    mock_spring_layout = mocker.patch('networkx.spring_layout', return_value='spring_pos')
147
    mock_is_planar = mocker.patch('networkx.is_planar', return_value=False)
148
    mock_node_color_mapping = mocker.patch('graphinate.renderers.matplotlib.node_color_mapping',
149
                                           return_value={0: 'red', 1: 'blue'})
150
151
    graph = nx.Graph()
152
    graph.add_node(0)
153
    graph.add_node(1)
154
    graph.add_edge(0, 1)
155
156
    # Act
157
    draw(graph)
158
159
    # Assert
160
    mock_is_planar.assert_called_once_with(graph)
161
    mock_planar_layout.assert_not_called()
162
    mock_spring_layout.assert_called_once_with(graph)
163
    mock_node_color_mapping.assert_called_once_with(graph)
164
    mock_nx_draw.assert_called_once()
165
166
167
# Drawing an empty graph
@@ 116-138 (lines=23) @@
113
114
115
# Drawing a planar graph uses planar_layout first
116
def test_draw_planar_graph(mocker):
117
    # Arrange
118
    mock_nx_draw = mocker.patch('networkx.draw')
119
    mock_planar_layout = mocker.patch('networkx.planar_layout', return_value='planar_pos')
120
    mock_spring_layout = mocker.patch('networkx.spring_layout', return_value='spring_pos')
121
    mock_is_planar = mocker.patch('networkx.is_planar', return_value=True)
122
    mock_node_color_mapping = mocker.patch('graphinate.renderers.matplotlib.node_color_mapping',
123
                                           return_value={0: 'red', 1: 'blue'})
124
125
    graph = nx.Graph()
126
    graph.add_node(0)
127
    graph.add_node(1)
128
    graph.add_edge(0, 1)
129
130
    # Act
131
    draw(graph)
132
133
    # Assert
134
    mock_is_planar.assert_called_once_with(graph)
135
    mock_planar_layout.assert_called_once_with(graph)
136
    mock_spring_layout.assert_called_once_with(graph, pos='planar_pos')
137
    mock_node_color_mapping.assert_called_once_with(graph)
138
    mock_nx_draw.assert_called_once()
139
140
141
# Drawing a non-planar graph uses spring_layout directly