code: def test_full_update2(runhistory, config1, config2):
      runhistory.add(
          config=config1,
          cost=[10],
          time=20,
          status=StatusType.SUCCESS,
          instance=1,
          seed=1,
      )
  
      runhistory.add(
          config=config2,
          cost=[10],
          time=20,
          status=StatusType.SUCCESS,
          instance=1,
          seed=1,
      )
  
      runhistory.add(
          config=config2,
          cost=[20],
          time=20,
          status=StatusType.SUCCESS,
          instance=2,
          seed=2,
      )
  
      cost_config2 = runhistory.get_cost(config2)
  
      runhistory.update_costs()
      updated_cost_config2 = runhistory.get_cost(config2)
      assert cost_config2 == updated_cost_config2
  
      runhistory.update_costs(instances=[2])
      updated_cost_config2 = runhistory.get_cost(config2)
      assert cost_config2 != updated_cost_config2
      assert updated_cost_config2 == 20
  
imports: from __future__ import annotations
  import os
  import pickle
  import tempfile
  import pytest
  from smac.runhistory.runhistory import RunHistory, TrialKey
  from smac.runner.abstract_runner import StatusType
label_desc: Use image node_id 10 for calling a global function with example usage: test_full_update2(runhistory, config1, config2) without return types