Code Duplication    Length = 23-23 lines in 2 locations

tests/graphinate/renderers/test_matplotlib_draw.py 2 locations

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