code: def test_pareto_front(configspace_small):
      """Tests whether the pareto front is correctly calculated."""
      rh = RunHistory()
      isb_key = InstanceSeedBudgetKey(
          instance=None, seed=0, budget=None
      )
      configs = configspace_small.sample_configuration(20)
      config_instance_seed_budget_keys = [[isb_key]] * 20
  
      # Add points on pareto
      rh.add(
          configs[0],
          cost=[5, 5],
          instance=isb_key.instance,
          budget=isb_key.budget,
          seed=isb_key.seed,
      )
      rh.add(
          configs[1],
          cost=[4, 6],
          instance=isb_key.instance,
          budget=isb_key.budget,
          seed=isb_key.seed,
      )
  
      # Add points not on pareto
      rh.add(
          configs[2],
          cost=[5, 6],
          instance=isb_key.instance,
          budget=isb_key.budget,
          seed=isb_key.seed,
      )
      rh.add(
          configs[3],
          cost=[5, 6],
          instance=isb_key.instance,
          budget=isb_key.budget,
          seed=isb_key.seed,
      )
  
      # Calculate pareto front
      configs = calculate_pareto_front(
          rh, configs[:4], config_instance_seed_budget_keys[:4]
      )
      assert len(configs) == 2
  
imports: from smac.runhistory import RunHistory
  from smac.runhistory.dataclasses import InstanceSeedBudgetKey
  from smac.utils.pareto_front import calculate_pareto_front, sort_by_crowding_distance
label_desc: Use image node_id 1 for calling a global function with example usage: test_pareto_front(configspace_small) without return types