code: def test_branin(self) -> None:
      self.assertEqual(branin.name, "Branin")
      self.assertAlmostEqual(branin(1, 2), 21.62763539206238)
      self.assertAlmostEqual(branin(x1=1, x2=2), 21.62763539206238)
      self.assertAlmostEqual(
          branin(np.array([1, 2])), 21.62763539206238
      )
      # pyre-fixme[16]: Item `float` of `Union[float, ndarray]` has no attribute
      #  `__getitem__`.
      self.assertAlmostEqual(
          branin(np.array([[1, 2], [1, 2]]))[0], 21.62763539206238
      )
      self.assertAlmostEqual(branin.minimums[0][0], -np.pi)
      self.assertAlmostEqual(branin.fmin, 0.397887, places=6)
      self.assertAlmostEqual(branin.fmax, 308.129, places=3)
      self.assertAlmostEqual(branin.fmax, branin(-5, 0), places=3)
      self.assertEqual(branin.domain[0], (-5, 10))
      self.assertEqual(branin.required_dimensionality, 2)
      with self.assertRaisesRegex(
          NotImplementedError, "Branin does not specify"
      ):
          branin.maximums
      with self.assertRaisesRegex(
          ValueError, "Synthetic function call"
      ):
          branin(np.array([[[1, 3]]]))
  
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 1 for calling the TestSyntheticFunctions obj's underlying member method code with example usage: obj.test_branin() without return types