code: def test_SobolGeneratorOnline(self) -> None:
      # Verify that the generator will return the expected arms if called
      # one at a time.
      bulk_generator = SobolGenerator(seed=0)
      generator = SobolGenerator(seed=0)
      n_tunable = fixed_param_index = 3
      bounds = self._create_bounds(n_tunable=n_tunable, n_fixed=1)
      bulk_generated_points, bulk_weights = bulk_generator.gen(
          n=3,
          bounds=bounds,
          fixed_features={fixed_param_index: 1},
          rounding_func=lambda x: x,
      )
      np_bounds = np.array(bounds)
      for expected_points in bulk_generated_points:
          generated_points, weights = generator.gen(
              n=1,
              bounds=bounds,
              fixed_features={fixed_param_index: 1},
              rounding_func=lambda x: x,
          )
          self.assertEqual(weights, [1])
          self.assertTrue(
              np.alltrue(generated_points >= np_bounds[:, 0])
          )
          self.assertTrue(
              np.alltrue(generated_points <= np_bounds[:, 1])
          )
          self.assertTrue(generated_points[..., -1] == 1)
          self.assertTrue(
              np.array_equal(
                  expected_points, generated_points.flatten()
              )
          )
  
imports: from typing import List, Tuple
  from unittest import mock
  import numpy
  from ax.exceptions.core import SearchSpaceExhausted
  from ax.models.random.sobol import SobolGenerator
  from ax.utils.common.testutils import TestCase
  from botorch.utils.sampling import sample_polytope
label_desc: Use image node_id 6 for calling the SobolGeneratorTest obj's underlying member method code with example usage: obj.test_SobolGeneratorOnline() without return types