code: def test_full(scenario, runhistory, config1, config2, config3):
      runhistory.multi_objective_algorithm = MeanAggregationStrategy(
          scenario
      )
      runhistory.add(
          config=config1,
          cost=[50, 100],
          time=20,
          status=StatusType.SUCCESS,
      )
  
      # Only one value: Normalization goes to 1.0
      assert runhistory.get_cost(config1) == 1.0
  
      runhistory.add(
          config=config2,
          cost=[150, 50],
          time=30,
          status=StatusType.SUCCESS,
      )
  
      # The cost of the first config must be updated
      # We would expect [0, 1] and the normalized value would be 0.5
      assert runhistory.get_cost(config1) == 0.5
  
      # We would expect [1, 0] and the normalized value would be 0.5
      assert runhistory.get_cost(config2) == 0.5
  
      runhistory.add(
          config=config3,
          cost=[100, 0],
          time=40,
          status=StatusType.SUCCESS,
      )
  
      # [0, 1] -> 0.5
      assert runhistory.get_cost(config1) == 0.5
  
      # [1, 0.5] -> 0.75
      assert runhistory.get_cost(config2) == 0.75
  
      # [0.5, 0] -> 0.25
      assert runhistory.get_cost(config3) == 0.25
  
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 8 for calling a global function with example usage: test_full(scenario, runhistory, config1, config2, config3) without return types