code: def test_surface_point_picking(sphere, left_clicking):
      picked = []
  
      def callback(point):
          picked.append(point)
  
      pl = pv.Plotter()
      pl.add_mesh(sphere)
      pl.enable_surface_point_picking(
          callback=callback, left_clicking=left_clicking
      )
      pl.show(auto_close=False)
  
      width, height = pl.window_size
  
      if left_clicking:
          pl.iren._mouse_left_button_click(width // 2, height // 2)
      else:
          pl.iren._mouse_right_button_click(width // 2, height // 2)
  
      assert len(picked)
      assert pl.picked_point is not None
  
      # invalid selection
      if left_clicking:
          pl.iren._mouse_left_button_click(0, 0)
      else:
          pl.iren._mouse_right_button_click(0, 0)
  
      assert pl.picked_point is None
  
imports: import os
  import numpy
  import pytest
  import vtk
  import pyvista
  from pyvista.plotting.errors import PyVistaPickingError
label_desc: Use image node_id 5 for calling a global function with example usage: test_surface_point_picking(sphere, left_clicking) without return types