code: def test_picking_basic():
      """Test basic picking behavior.
  
      Based on https://github.com/vispy/vispy/issues/2107.
  
      """
      with TestingCanvas(size=(125, 125), show=True, title="run") as c:
          view = c.central_widget.add_view()
          view.margin = 5  # add empty space where there are no visuals
          view.camera = "panzoom"
  
          x = np.linspace(0, 400, 100)
          y = np.linspace(0, 200, 100)
          line = scene.Line(np.array((x, y)).T.astype(np.float32))
          line.interactive = True
          view.add(line)
          view.camera.set_range()
  
          c.render()  # initial basic draw
          for _ in range(
              2
          ):  # run picking twice to make sure it is repeatable
              # get Visuals on a Canvas point that Line is drawn on
              picked_visuals = c.visuals_at((100, 25))
              assert len(picked_visuals) == 2
              assert any(
                  isinstance(vis, scene.ViewBox)
                  for vis in picked_visuals
              )
              assert any(
                  isinstance(vis, scene.Line) for vis in picked_visuals
              )
  
file_path: vispy/vispy/scene/tests/test_canvas.py
imports: from vispy import gloo, scene
  from vispy.testing import requires_application, TestingCanvas
  from vispy.visuals.transforms import STTransform
  import numpy
  import pytest
label_desc: Use image node_id 2 for calling a global function with example usage: test_picking_basic() without return types