code: def test_UniformGeneratorWithLinearConstraints(self) -> None:
      # Enforce dim_0 <= dim_1 <= dim_2 <= dim_3.
      # Enforce both fixed and tunable constraints.
      generator = UniformGenerator(seed=0)
      n_tunable = fixed_param_index = 3
      bounds = self._create_bounds(n_tunable=n_tunable, n_fixed=1)
      generated_points, weights = generator.gen(
          n=3,
          bounds=bounds,
          linear_constraints=(
              np.array([[1, 1, 0, 0], [0, 1, 1, 0]]),
              np.array([1, 1]),
          ),
          fixed_features={fixed_param_index: 1},
          rounding_func=lambda x: x,
      )
      expected_points = np.array(
          [
              [0.0871293, 0.0202184, 0.83261985, 1.0],
              [0.11827443, 0.63992102, 0.14335329, 1.0],
              [0.56843395, 0.0187898, 0.6176355, 1.0],
          ]
      )
      self.assertTrue(
          np.shape(expected_points) == np.shape(generated_points)
      )
      self.assertTrue(np.allclose(expected_points, generated_points))
  
file_path: Ax/ax/models/tests/test_uniform.py
imports: import numpy
  from ax.exceptions.core import SearchSpaceExhausted
  from ax.models.random.uniform import UniformGenerator
  from ax.utils.common.testutils import TestCase
label_desc: Use image node_id 8 for calling the UniformGeneratorTest obj's underlying member method code with example usage: obj.test_UniformGeneratorWithLinearConstraints() without return types