code: def test_experiment_function() -> None:
      param = ng.p.Instrumentation(
          ng.p.Choice([1, 12]),
          "constant",
          ng.p.Array(shape=(2, 2)),
          constkwarg="blublu",
          plop=ng.p.Choice([3, 4]),
      )
      with pytest.raises(RuntimeError):
          base.ExperimentFunction(_arg_return, param)
      param.set_name("myparam")
      ifunc = base.ExperimentFunction(_arg_return, param)
      np.testing.assert_equal(ifunc.dimension, 8)
      data = [-100.0, 100, 1, 2, 3, 4, 100, -100]
      args0, kwargs0 = (
          ifunc.parametrization.spawn_child()
          .set_standardized_data(data)
          .value
      )
      output: tp.Any = ifunc(*args0, **kwargs0)
      args: tp.Any = output[0]
      kwargs: tp.Any = output[1]
      testing.printed_assert_equal(
          args, [12, "constant", [[1, 2], [3, 4]]]
      )
      testing.printed_assert_equal(
          kwargs, {"constkwarg": "blublu", "plop": 3}
      )
      testing.printed_assert_equal(
          ifunc.descriptors,
          {
              "dimension": 8,
              "name": "_arg_return",
              "function_class": "ExperimentFunction",
              "parametrization": "myparam",
          },
      )
  
imports: import pickle
  import numpy
  import pytest
  import nevergrad
  from nevergrad.common import testing
  from nevergrad.functions import ArtificialFunction
  import nevergrad.common.typing
  from .None import base
  from .None import helpers
label_desc: Use image node_id 2 for calling a global function with example usage: test_experiment_function() without return types