code: def test_interactiveFunc():
      value = 0
  
      def myfunc(a=5):
          nonlocal value
          value = a
          return a
  
      interactive = InteractiveFunction(myfunc)
      host = interact(interactive, runOptions=[])
  
      host["a"] = 7
      assert interactive.runFromAction() == 7
  
      interactive.disconnect()
      interactive.runFromAction(a=10)
      assert value == 7
  
      interactive.reconnect()
      interactive.runFromAction(a=10)
      assert value == 10
  
      assert not interactive.setDisconnected(True)
      assert interactive.setDisconnected(False)
  
      host = interact(interactive, runOptions=RunOptions.ON_CHANGED)
      interactive.disconnect()
      host["a"] = 20
      assert value == 10
  
imports: from functools import wraps
  import numpy
  import pyqtgraph
  import pytest
  from pyqtgraph import functions
  from pyqtgraph.parametertree import InteractiveFunction, Interactor, interact, RunOptions
  from pyqtgraph.parametertree import Parameter
  from pyqtgraph.parametertree.Parameter import PARAM_TYPES
  from pyqtgraph.parametertree.parameterTypes import GroupParameter
  from pyqtgraph.Qt import QtGui
label_desc: Use image node_id 8 for calling a global function with example usage: test_interactiveFunc() and returns: a