code: def test_normalize_dimensions_consecutive_calls(dimensions):
      """Test that :func:`normalize_dimensions` can be safely invoked consecutively on the space each
      invocation returns. This doesn't test that the result of :func:`normalize_dimensions` is
      actually correct - Only that the result remains unchanged after multiple invocations
      """
      space_0 = normalize_dimensions(dimensions)
      space_1 = normalize_dimensions(space_0)
      space_2 = normalize_dimensions(space_1)
      # Same as above, but starting with a `Space` instance to make sure nothing changes
      space_3 = normalize_dimensions(Space(dimensions))
      space_4 = normalize_dimensions(space_3)
      space_5 = normalize_dimensions(space_4)
  
      assert (
          space_0 == space_1 == space_2 == space_3 == space_4 == space_5
      )
  
imports: from hyperparameter_hunter.optimization.backends.skopt.engine import Optimizer
  from hyperparameter_hunter.space.dimensions import Real, Integer, Categorical
  from hyperparameter_hunter.space.space_core import Space, check_dimension, normalize_dimensions
  import numbers
  import numpy
  import pytest
  from sklearn.utils.testing import assert_array_almost_equal, assert_array_equal, assert_equal
label_desc: Use image node_id 31 for calling a global function with example usage: test_normalize_dimensions_consecutive_calls(dimensions) without return types