class TestPVSliceTool(object): def setup_method(self, method): self.cube = Data(label='cube', x=np.arange(1000).reshape((5, 10, 20))) self.application = GlueApplication() self.application.data_collection.append(self.cube) self.viewer = self.application.new_data_viewer(ImageViewer) self.viewer.add_data(self.cube) def teardown_method(self, method): self.viewer.close() self.viewer = None self.application.close() self.application = None @requires_astropy @requires_scipy def test_basic(self): self.viewer.toolbar.active_tool = 'slice' self.viewer.axes.figure.canvas.draw() process_events() x, y = self.viewer.axes.transData.transform([[0.9, 4]])[0] self.viewer.axes.figure.canvas.button_press_event(x, y, 1) x, y = self.viewer.axes.transData.transform([[7.2, 6.6]])[0] self.viewer.axes.figure.canvas.button_press_event(x, y, 1) process_events() assert len(self.application.tab().subWindowList()) == 1 self.viewer.axes.figure.canvas.key_press_event('enter') process_events() assert len(self.application.tab().subWindowList()) == 2 pv_widget = self.application.tab().subWindowList()[1].widget() assert pv_widget._x.shape == (6, ) assert pv_widget._y.shape == (6, )