code: def test_input_dimensions(self):
      space = [
          {
              "name": "var_1",
              "type": "continuous",
              "domain": (-3, 1),
              "dimensionality": 1,
          },
          {
              "name": "var_2",
              "type": "discrete",
              "domain": (0, 1, 2, 3),
              "dimensionality": 1,
          },
          {"name": "var_3", "type": "categorical", "domain": (2, 4, 6)},
      ]
  
      design_space = Design_space(space)
  
      self.assertEqual(design_space.input_dim(), 2)
  
      space[0]["dimensionality"] = 3
  
      design_space = Design_space(space)
  
      self.assertEqual(design_space.input_dim(), 4)
  
imports: import numpy
  import unittest
  from GPyOpt.core.task.space import Design_space
  from GPyOpt.core.task.variables import BanditVariable, DiscreteVariable, CategoricalVariable, ContinuousVariable
  from GPyOpt.core.errors import InvalidConfigError
label_desc: Use image node_id 14 for calling the TestDesignSpace obj's underlying member method code with example usage: obj.test_input_dimensions() without return types