code: def test_botorch_ackley(self) -> None:
      ackley = FromBotorch(
          botorch_synthetic_function=botorch_synthetic.Ackley()
      )
      self.assertEqual(ackley.name, "FromBotorch_Ackley")
      self.assertAlmostEqual(ackley(1.0, 2.0), 5.422131717799505)
      self.assertAlmostEqual(ackley(x1=1.0, x2=2.0), 5.422131717799505)
      self.assertAlmostEqual(
          ackley(np.array([1, 2])), 5.422131717799505
      )
      # pyre-fixme[16]: Item `float` of `Union[float, ndarray]` has no attribute
      #  `__getitem__`.
      self.assertAlmostEqual(
          ackley(np.array([[1, 2], [1, 2]]))[0], 5.422131717799505
      )
      # pyre-fixme[6]: For 2nd param expected `SupportsRSub[Variable[_T],
      #  SupportsAbs[SupportsRound[object]]]` but got `Tuple[float, float]`.
      self.assertAlmostEqual(
          ackley.domain[0], (-32.768, 32.768), places=3
      )
      self.assertEqual(ackley.required_dimensionality, 2)
      self.assertEqual(ackley.fmin, 0.0)
      with self.assertRaisesRegex(
          NotImplementedError, "Ackley does not specify"
      ):
          ackley.maximums
      with self.assertRaisesRegex(
          NotImplementedError, "Ackley does not specify"
      ):
          ackley.minimums
      with self.assertRaisesRegex(
          NotImplementedError, "Ackley does not specify"
      ):
          ackley.fmax
  
file_path: Ax/ax/utils/measurement/tests/test_synthetic_functions.py
imports: import numpy
  from ax.utils.common.testutils import TestCase
  from ax.utils.measurement.synthetic_functions import aug_branin, aug_hartmann6, branin, FromBotorch, hartmann6
  from botorch.test_functions import synthetic
label_desc: Use image node_id 5 for calling the TestSyntheticFunctions obj's underlying member method code with example usage: obj.test_botorch_ackley() without return types