Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 1762d7e

Browse files
committed
Refactor the event creator to call the private methods
1 parent 20527b6 commit 1762d7e

File tree

1 file changed

+47
-63
lines changed

1 file changed

+47
-63
lines changed

lib/matplotlib/tests/test_widgets.py

Lines changed: 47 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def get_ax():
2222
return ax
2323

2424

25-
def get_event(ax, button=1, xdata=0, ydata=0, key=None, step=1):
25+
def do_event(tool, etype, button=1, xdata=0, ydata=0, key=None, step=1):
2626
"""
2727
*name*
2828
the event name
@@ -61,6 +61,7 @@ def get_event(ax, button=1, xdata=0, ydata=0, key=None, step=1):
6161
"""
6262
event = mock.Mock()
6363
event.button = button
64+
ax = tool.ax
6465
event.x, event.y = ax.transData.transform([(xdata, ydata),
6566
(xdata, ydata)])[00]
6667
event.xdata, event.ydata = xdata, ydata
@@ -70,7 +71,9 @@ def get_event(ax, button=1, xdata=0, ydata=0, key=None, step=1):
7071
event.step = step
7172
event.guiEvent = None
7273
event.name = 'Custom'
73-
return event
74+
75+
func = getattr(tool, '_%s' % etype)
76+
func(event)
7477

7578

7679
@cleanup
@@ -85,15 +88,11 @@ def onselect(epress, erelease):
8588
assert erelease.ydata == 199
8689

8790
tool = widgets.RectangleSelector(ax, onselect, **kwargs)
88-
event = get_event(ax, xdata=100, ydata=100, button=1)
89-
tool.press(event)
90-
91-
event = get_event(ax, xdata=199, ydata=199, button=1)
92-
tool.onmove(event)
91+
do_event(tool, 'press', xdata=100, ydata=100, button=1)
92+
do_event(tool, 'onmove', xdata=199, ydata=199, button=1)
9393

9494
# purposely drag outside of axis for release
95-
event = get_event(ax, xdata=250, ydata=250, button=1)
96-
tool.release(event)
95+
do_event(tool, 'release', xdata=250, ydata=250, button=1)
9796

9897
assert_allclose(tool.geometry,
9998
[[100., 100, 199, 199, 100], [100, 199, 199, 100, 100]],
@@ -123,42 +122,43 @@ def onselect(epress, erelease):
123122
tool.extents = (100, 150, 100, 150)
124123

125124
# drag the rectangle
126-
event = get_event(ax, xdata=10, ydata=10, button=1,
125+
do_event(tool, 'press', xdata=10, ydata=10, button=1,
127126
key='alt')
128-
tool.press(event)
129-
event = get_event(ax, xdata=30, ydata=30, button=1)
130-
tool.onmove(event)
131-
tool.release(event)
127+
do_event(tool, 'onmove', xdata=30, ydata=30, button=1)
128+
do_event(tool, 'release', xdata=30, ydata=30, button=1)
132129
assert tool.extents == (120, 170, 120, 170)
133130

134131
# create from center
135-
event = get_event(ax, xdata=100, ydata=100, button=1,
132+
do_event(tool, 'on_key_press', xdata=100, ydata=100, button=1,
133+
key='control')
134+
do_event(tool, 'press', xdata=100, ydata=100, button=1)
135+
do_event(tool, 'onmove', xdata=125, ydata=125, button=1)
136+
do_event(tool, 'release', xdata=125, ydata=125, button=1)
137+
do_event(tool, 'on_key_release', xdata=100, ydata=100, button=1,
136138
key='control')
137-
tool.press(event)
138-
event = get_event(ax, xdata=125, ydata=125, button=1)
139-
tool.onmove(event)
140-
tool.release(event)
141-
assert tool.extents == (75, 125, 75, 125)
139+
assert tool.extents == (75, 125, 75, 125), tool.extents
142140

143141
# create a square
144-
event = get_event(ax, xdata=10, ydata=10, button=1,
142+
do_event(tool, 'on_key_press', xdata=10, ydata=10, button=1,
143+
key='shift')
144+
do_event(tool, 'press', xdata=10, ydata=10, button=1)
145+
do_event(tool, 'onmove', xdata=35, ydata=30, button=1)
146+
do_event(tool, 'release', xdata=35, ydata=30, button=1)
147+
do_event(tool, 'on_key_release', xdata=10, ydata=10, button=1,
145148
key='shift')
146-
tool.press(event)
147-
event = get_event(ax, xdata=35, ydata=30, button=1)
148-
tool.onmove(event)
149-
tool.release(event)
150149
extents = [int(e) for e in tool.extents]
151-
assert extents == [10, 35, 10, 35]
150+
assert extents == [10, 35, 10, 34]
152151

153152
# create a square from center
154-
event = get_event(ax, xdata=100, ydata=100, button=1,
153+
do_event(tool, 'on_key_press', xdata=100, ydata=100, button=1,
154+
key='ctrl+shift')
155+
do_event(tool, 'press', xdata=100, ydata=100, button=1)
156+
do_event(tool, 'onmove', xdata=125, ydata=130, button=1)
157+
do_event(tool, 'release', xdata=125, ydata=130, button=1)
158+
do_event(tool, 'on_key_release', xdata=100, ydata=100, button=1,
155159
key='ctrl+shift')
156-
tool.press(event)
157-
event = get_event(ax, xdata=125, ydata=130, button=1)
158-
tool.onmove(event)
159-
tool.release(event)
160160
extents = [int(e) for e in tool.extents]
161-
assert extents == [70, 130, 70, 130], extents
161+
assert extents == [70, 129, 70, 130], extents
162162

163163
assert tool.geometry.shape == (2, 74)
164164
assert_allclose(tool.geometry[:, 0], [70., 100])
@@ -181,27 +181,21 @@ def onselect(epress, erelease):
181181
assert tool.extents == (100, 150, 100, 150)
182182

183183
# grab a corner and move it
184-
event = get_event(ax, xdata=100, ydata=100)
185-
tool.press(event)
186-
event = get_event(ax, xdata=120, ydata=120)
187-
tool.onmove(event)
188-
tool.release(event)
184+
do_event(tool, 'press', xdata=100, ydata=100)
185+
do_event(tool, 'onmove', xdata=120, ydata=120)
186+
do_event(tool, 'release', xdata=120, ydata=120)
189187
assert tool.extents == (120, 150, 120, 150)
190188

191189
# grab the center and move it
192-
event = get_event(ax, xdata=132, ydata=132)
193-
tool.press(event)
194-
event = get_event(ax, xdata=120, ydata=120)
195-
tool.onmove(event)
196-
tool.release(event)
190+
do_event(tool, 'press', xdata=132, ydata=132)
191+
do_event(tool, 'onmove', xdata=120, ydata=120)
192+
do_event(tool, 'release', xdata=120, ydata=120)
197193
assert tool.extents == (108, 138, 108, 138)
198194

199195
# create a new rectangle
200-
event = get_event(ax, xdata=10, ydata=10)
201-
tool.press(event)
202-
event = get_event(ax, xdata=100, ydata=100)
203-
tool.onmove(event)
204-
tool.release(event)
196+
do_event(tool, 'press', xdata=10, ydata=10)
197+
do_event(tool, 'onmove', xdata=100, ydata=100)
198+
do_event(tool, 'release', xdata=100, ydata=100)
205199
assert tool.extents == (10, 100, 10, 100)
206200

207201

@@ -223,14 +217,9 @@ def onmove(vmin, vmax):
223217
kwargs['onmove_callback'] = onmove
224218

225219
tool = widgets.SpanSelector(ax, onselect, *args, **kwargs)
226-
event = get_event(ax, xdata=100, ydata=100, button=1)
227-
tool.press(event)
228-
229-
event = get_event(ax, xdata=125, ydata=125, button=1)
230-
tool.onmove(event)
231-
232-
event = get_event(ax, xdata=150, ydata=150, button=1)
233-
tool.release(event)
220+
do_event(tool, 'press', xdata=100, ydata=100, button=1)
221+
do_event(tool, 'onmove', xdata=125, ydata=125, button=1)
222+
do_event(tool, 'release', xdata=150, ydata=150, button=1)
234223

235224
assert ax._got_onselect
236225

@@ -253,14 +242,9 @@ def onselect(verts):
253242
assert verts == [(100, 100), (125, 125), (150, 150)]
254243

255244
tool = widgets.LassoSelector(ax, onselect, **kwargs)
256-
event = get_event(ax, xdata=100, ydata=100, button=1)
257-
tool.press(event)
258-
259-
event = get_event(ax, xdata=125, ydata=125, button=1)
260-
tool.onmove(event)
261-
262-
event = get_event(ax, xdata=150, ydata=150, button=1)
263-
tool.release(event)
245+
do_event(tool, 'press', xdata=100, ydata=100, button=1)
246+
do_event(tool, 'onmove', xdata=125, ydata=125, button=1)
247+
do_event(tool, 'release', xdata=150, ydata=150, button=1)
264248

265249
assert ax._got_onselect
266250

0 commit comments

Comments
 (0)