code: def pytest_generate_tests(metafunc):
      """Test parameterization routine for pytest.
  
      Fixtures parameterized
      ----------------------
      scitype : str - scitype of fixture
      mtype : str - mtype of fixture
      fixture_index : int - index of fixture tuple with that scitype and mtype
      """
      # we assume all four arguments are present in the test below
  
      fixturenames = set(metafunc.fixturenames)
  
      if {"scitype", "mtype", "fixture_index"}.issubset(fixturenames):
          keys = _generate_scitype_mtype_fixtureindex_combinations()
  
          ids = []
          for tuple in keys:
              ids += [f"{tuple[0]}-{tuple[1]}-fixture:{tuple[2]}"]
  
          # parameterize test with from-mtpes
          metafunc.parametrize(
              "scitype,mtype,fixture_index", keys, ids=ids
          )
  
      elif {"scitype", "mtype"}.issubset(fixturenames):
          keys = _generate_scitype_mtype_combinations()
  
          ids = []
          for tuple in keys:
              ids += [f"{tuple[0]}-{tuple[1]}"]
  
          # parameterize test with from-mtpes
          metafunc.parametrize("scitype,mtype", keys, ids=ids)
  
file_path: sktime/sktime/datatypes/tests/test_check.py
imports: import numpy
  from sktime.datatypes._check import AMBIGUOUS_MTYPES, check_dict, check_is_mtype, check_is_scitype
  from sktime.datatypes._check import mtype
  from sktime.datatypes._check import scitype
  from sktime.datatypes._examples import get_examples
  from sktime.datatypes._registry import SCITYPE_LIST, scitype_to_mtype
label_desc: Use image node_id 3 for calling a global function with example usage: pytest_generate_tests(metafunc) without return types