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

Function test_rectangle_resize_square

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

Source from the content-addressed store, hash-verified

300
301@pytest.mark.parametrize('add_state', [True, False])
302def test_rectangle_resize_square(ax, add_state):
303 tool = widgets.RectangleSelector(ax, interactive=True)
304 # Create rectangle
305 click_and_drag(tool, start=(70, 65), end=(120, 115))
306 assert tool.extents == (70.0, 120.0, 65.0, 115.0)
307
308 if add_state:
309 tool.add_state('square')
310 use_key = None
311 else:
312 use_key = 'shift'
313
314 # resize NE handle
315 extents = tool.extents
316 xdata, ydata = extents[1], extents[3]
317 xdiff, ydiff = 10, 5
318 xdata_new, ydata_new = xdata + xdiff, ydata + ydiff
319 click_and_drag(tool, start=(xdata, ydata), end=(xdata_new, ydata_new),
320 key=use_key)
321 assert tool.extents == (extents[0], xdata_new,
322 extents[2], extents[3] + xdiff)
323
324 # resize E handle
325 extents = tool.extents
326 xdata, ydata = extents[1], extents[2] + (extents[3] - extents[2]) / 2
327 xdiff = 10
328 xdata_new, ydata_new = xdata + xdiff, ydata
329 click_and_drag(tool, start=(xdata, ydata), end=(xdata_new, ydata_new),
330 key=use_key)
331 assert tool.extents == (extents[0], xdata_new,
332 extents[2], extents[3] + xdiff)
333
334 # resize E handle negative diff
335 extents = tool.extents
336 xdata, ydata = extents[1], extents[2] + (extents[3] - extents[2]) / 2
337 xdiff = -20
338 xdata_new, ydata_new = xdata + xdiff, ydata
339 click_and_drag(tool, start=(xdata, ydata), end=(xdata_new, ydata_new),
340 key=use_key)
341 assert tool.extents == (extents[0], xdata_new,
342 extents[2], extents[3] + xdiff)
343
344 # resize W handle
345 extents = tool.extents
346 xdata, ydata = extents[0], extents[2] + (extents[3] - extents[2]) / 2
347 xdiff = 15
348 xdata_new, ydata_new = xdata + xdiff, ydata
349 click_and_drag(tool, start=(xdata, ydata), end=(xdata_new, ydata_new),
350 key=use_key)
351 assert tool.extents == (xdata_new, extents[1],
352 extents[2], extents[3] - xdiff)
353
354 # resize W handle negative diff
355 extents = tool.extents
356 xdata, ydata = extents[0], extents[2] + (extents[3] - extents[2]) / 2
357 xdiff = -25
358 xdata_new, ydata_new = xdata + xdiff, ydata
359 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…