code: def test_full_update(scenario, runhistory, config1, config2):
      runhistory.multi_objective_algorithm = MeanAggregationStrategy(
          scenario
      )
      runhistory.overwrite_existing_runs = True
  
      runhistory.add(
          config=config1,
          cost=[10, 40],
          time=20,
          status=StatusType.SUCCESS,
          instance=1,
          seed=1,
      )
  
      runhistory.add(
          config=config1,
          cost=[0, 100],
          time=20,
          status=StatusType.SUCCESS,
          instance=2,
          seed=2,
      )
  
      runhistory.add(
          config=config2,
          cost=[10, 40],
          time=20,
          status=StatusType.SUCCESS,
          instance=1,
          seed=1,
      )
  
      runhistory.add(
          config=config2,
          cost=[20, 80],
          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 updated_cost_config2 == pytest.approx(0.833, 0.001)
  
imports: import pickle
  import tempfile
  import pytest
  from smac.multi_objective.aggregation_strategy import MeanAggregationStrategy
  from smac.runner.abstract_runner import StatusType
  from smac.scenario import Scenario
label_desc: Use image node_id 9 for calling a global function with example usage: test_full_update(scenario, runhistory, config1, config2) without return types