code: def test_update_cost_model_repeat(self):
      cost_model = CostModel("evaluation_time")
  
      x1 = np.array([[3, 0], [4, 1], [5, 1]])
      cost_model.update_cost_model(x1, np.array([4, 5, 6]))
      x2 = np.array([[1, 1], [3, 2], [4, 3]])
      cost_model.update_cost_model(x2, np.array([4, 2, 1]))
  
      self.assertTrue(cost_model.num_updates == 2)
      self.assertEqual(
          np.concatenate((x1, x2)).all(),
          cost_model.cost_model.model.X.all(),
      )
      self.assertTrue(
          np.isclose(
              cost_model.cost_model.model.Y,
              np.array(
                  [
                      [1.38629436],
                      [1.60943791],
                      [1.79175947],
                      [1.38629436],
                      [0.69314718],
                      [0.0],
                  ]
              ),
          ).all()
      )
  
file_path: GPyOpt/GPyOpt/testing/core_tests/test_cost.py
imports: import unittest
  import numpy
  from GPyOpt.core.task import CostModel
  from GPyOpt.core.task.cost import constant_cost_withGradients
label_desc: Use image node_id 8 for calling the TestCostModel obj's underlying member method code with example usage: obj.test_update_cost_model_repeat() without return types