Code Duplication    Length = 27-29 lines in 2 locations

tests/graphinate/renderers/test_matplotlib_draw.py 2 locations

@@ 217-245 (lines=29) @@
214
        assert kwargs.get('labels') == {}
215
216
    # Drawing a graph with no edge attributes for labels when with_edge_labels=True
217
    def test_draw_no_edge_labels_attribute(self, mocker):
218
        # Arrange
219
        mock_nx_draw = mocker.patch('networkx.draw')
220
        mock_nx_draw_edge_labels = mocker.patch('networkx.draw_networkx_edge_labels')
221
        mock_get_edge_attributes = mocker.patch('networkx.get_edge_attributes', return_value={})
222
        mock_spring_layout = mocker.patch('networkx.spring_layout', return_value='mock_pos')
223
        mock_is_planar = mocker.patch('networkx.is_planar', return_value=False)
224
        mock_node_color_mapping = mocker.patch('graphinate.renderers.matplotlib.node_color_mapping',
225
                                               return_value={0: 'red', 1: 'blue'})
226
227
        graph = nx.Graph()
228
        graph.add_node(0)
229
        graph.add_node(1)
230
        graph.add_edge(0, 1)  # No label attribute
231
232
        # Act
233
        draw(graph, with_edge_labels=True)
234
235
        # Assert
236
        mock_is_planar.assert_called_once_with(graph)
237
        mock_spring_layout.assert_called_once_with(graph)
238
        mock_node_color_mapping.assert_called_once_with(graph)
239
        mock_get_edge_attributes.assert_called_once_with(graph, 'label')
240
        mock_nx_draw.assert_called_once()
241
        mock_nx_draw_edge_labels.assert_called_once()
242
243
        # Check that edge_labels parameter is empty dict
244
        args, kwargs = mock_nx_draw_edge_labels.call_args
245
        assert kwargs.get('edge_labels') == {}
246
@@ 188-214 (lines=27) @@
185
        assert kwargs.get('node_color') == []
186
187
    # Drawing a graph with no node attributes for labels when with_node_labels=True
188
    def test_draw_no_node_labels_attribute(self, mocker):
189
        # Arrange
190
        mock_nx_draw = mocker.patch('networkx.draw')
191
        mock_get_node_attributes = mocker.patch('networkx.get_node_attributes', return_value={})
192
        mock_spring_layout = mocker.patch('networkx.spring_layout', return_value='mock_pos')
193
        mock_is_planar = mocker.patch('networkx.is_planar', return_value=False)
194
        mock_node_color_mapping = mocker.patch('graphinate.renderers.matplotlib.node_color_mapping',
195
                                               return_value={0: 'red', 1: 'blue'})
196
197
        graph = nx.Graph()
198
        graph.add_node(0)  # No label attribute
199
        graph.add_node(1)  # No label attribute
200
        graph.add_edge(0, 1)
201
202
        # Act
203
        draw(graph, with_node_labels=True)
204
205
        # Assert
206
        mock_is_planar.assert_called_once_with(graph)
207
        mock_spring_layout.assert_called_once_with(graph)
208
        mock_node_color_mapping.assert_called_once_with(graph)
209
        mock_get_node_attributes.assert_called_once_with(graph, 'label')
210
        mock_nx_draw.assert_called_once()
211
212
        # Check that labels parameter is empty dict
213
        args, kwargs = mock_nx_draw.call_args
214
        assert kwargs.get('labels') == {}
215
216
    # Drawing a graph with no edge attributes for labels when with_edge_labels=True
217
    def test_draw_no_edge_labels_attribute(self, mocker):