code: def setUp(self):
      self.mock_model = Mock()
      self.mock_optimizer = Mock()
  
      domain = [
          {"name": "var_1", "type": "categorical", "domain": (0, 1)},
          {
              "name": "var_2",
              "type": "continuous",
              "domain": (-5, 5),
              "dimensionality": 2,
          },
      ]
      # con_1: if var_1 is 0, var_2_1 must be <= -1
      # con_2: 3 * (var_2_1 + var_2_2) <= 24
      constraints = [
          {
              "name": "con_1",
              "constraint": "(x[:,0] == 0) * (x[:,1] + 1)",
          },
          {
              "name": "con_2",
              "constraint": " 3 * (x[:,1] + x[:,2]) - 24",
          },
      ]
      self.space = Design_space(domain, constraints)
  
      self.ei_acquisition = AcquisitionEI(
          self.mock_model, self.space, self.mock_optimizer
      )
      self.ei_acquisition._compute_acq = Mock()
      self.ei_acquisition._compute_acq_withGradients = Mock()
  
file_path: GPyOpt/GPyOpt/testing/acquisitions_tests/test_ei_acquisition.py
imports: import unittest
  from mock import Mock
  import numpy
  from GPyOpt.acquisitions import AcquisitionEI
  from GPyOpt.core.task.space import Design_space
label_desc: Use image node_id 1 for calling the TestEIAcquisitionWithCategoricalVariables obj's underlying member method code with example usage: obj.setUp() without return types