code: def test_imports_strategies():
      # Make sure different import strategies work or fail as expected.
  
      # Since Python caches the imported modules, we need to run a child process
      # for every test case. Else, the tests would not be independent
      # (manually removing the imports from the cache (sys.modules) is not
      # recommended and can lead to many complications).
      pattern = "IterativeImputer is experimental"
      good_import = """
      from sklearn.experimental import enable_iterative_imputer
      from sklearn.impute import IterativeImputer
      """
      assert_run_python_script_without_output(
          textwrap.dedent(good_import), pattern=pattern
      )
  
      good_import_with_ensemble_first = """
      import sklearn.ensemble
      from sklearn.experimental import enable_iterative_imputer
      from sklearn.impute import IterativeImputer
      """
      assert_run_python_script_without_output(
          textwrap.dedent(good_import_with_ensemble_first),
          pattern=pattern,
      )
  
      bad_imports = f"""
      import pytest
  
      with pytest.raises(ImportError, match={pattern!r}):
          from sklearn.impute import IterativeImputer
  
      import sklearn.experimental
      with pytest.raises(ImportError, match={pattern!r}):
          from sklearn.impute import IterativeImputer
      """
      assert_run_python_script_without_output(
          textwrap.dedent(bad_imports),
          pattern=pattern,
      )
  
imports: import textwrap
  import pytest
  from sklearn.utils import _IS_WASM
  from sklearn.utils._testing import assert_run_python_script_without_output
label_desc: Use image node_id 1 for calling a global function with example usage: test_imports_strategies() without return types