code: def test_SobolGeneratorDedupe(self) -> None:
      generator = SobolGenerator(seed=0, deduplicate=True)
      n_tunable = fixed_param_index = 3
      bounds = self._create_bounds(n_tunable=n_tunable, n_fixed=1)
      generated_points, weights = generator.gen(
          n=2,
          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,
      )
      self.assertEqual(len(generated_points), 2)
      generated_points, weights = generator.gen(
          n=1,
          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,
      )
      self.assertEqual(len(generated_points), 1)
      self.assertIsNotNone(
          generator._get_state().get("generated_points")
      )
  
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 14 for calling the SobolGeneratorTest obj's underlying member method code with example usage: obj.test_SobolGeneratorDedupe() without return types