MCPcopy Index your code
hub / github.com/matplotlib/matplotlib / test_rectangle_resize_center

Function test_rectangle_resize_center

lib/matplotlib/tests/test_widgets.py:228–298  ·  view source on GitHub ↗
(ax, add_state)

Source from the content-addressed store, hash-verified

226
227@pytest.mark.parametrize('add_state', [True, False])
228def test_rectangle_resize_center(ax, add_state):
229 tool = widgets.RectangleSelector(ax, interactive=True)
230 # Create rectangle
231 click_and_drag(tool, start=(70, 65), end=(125, 130))
232 assert tool.extents == (70.0, 125.0, 65.0, 130.0)
233
234 if add_state:
235 tool.add_state('center')
236 use_key = None
237 else:
238 use_key = 'control'
239
240 # resize NE handle
241 extents = tool.extents
242 xdata, ydata = extents[1], extents[3]
243 xdiff, ydiff = 10, 5
244 xdata_new, ydata_new = xdata + xdiff, ydata + ydiff
245 click_and_drag(tool, start=(xdata, ydata), end=(xdata_new, ydata_new),
246 key=use_key)
247 assert tool.extents == (extents[0] - xdiff, xdata_new,
248 extents[2] - ydiff, ydata_new)
249
250 # resize E handle
251 extents = tool.extents
252 xdata, ydata = extents[1], extents[2] + (extents[3] - extents[2]) / 2
253 xdiff = 10
254 xdata_new, ydata_new = xdata + xdiff, ydata
255 click_and_drag(tool, start=(xdata, ydata), end=(xdata_new, ydata_new),
256 key=use_key)
257 assert tool.extents == (extents[0] - xdiff, xdata_new,
258 extents[2], extents[3])
259
260 # resize E handle negative diff
261 extents = tool.extents
262 xdata, ydata = extents[1], extents[2] + (extents[3] - extents[2]) / 2
263 xdiff = -20
264 xdata_new, ydata_new = xdata + xdiff, ydata
265 click_and_drag(tool, start=(xdata, ydata), end=(xdata_new, ydata_new),
266 key=use_key)
267 assert tool.extents == (extents[0] - xdiff, xdata_new,
268 extents[2], extents[3])
269
270 # resize W handle
271 extents = tool.extents
272 xdata, ydata = extents[0], extents[2] + (extents[3] - extents[2]) / 2
273 xdiff = 15
274 xdata_new, ydata_new = xdata + xdiff, ydata
275 click_and_drag(tool, start=(xdata, ydata), end=(xdata_new, ydata_new),
276 key=use_key)
277 assert tool.extents == (xdata_new, extents[1] - xdiff,
278 extents[2], extents[3])
279
280 # resize W handle negative diff
281 extents = tool.extents
282 xdata, ydata = extents[0], extents[2] + (extents[3] - extents[2]) / 2
283 xdiff = -25
284 xdata_new, ydata_new = xdata + xdiff, ydata
285 click_and_drag(tool, start=(xdata, ydata), end=(xdata_new, ydata_new),

Callers

nothing calls this directly

Calls 2

click_and_dragFunction · 0.90
add_stateMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…