code: def test_queue_broken_trials_from_jump_for_promotions(
      self, space: Space
  ):
      pbt = _create_algo(space).unwrap(PBT)
  
      parent_trial = sample_trials(
          pbt.space, num=1, status="completed", objective=1
      )[0]
      base_trial = sample_trials(
          pbt.space, num=1, seed=2, status="completed", objective=1
      )[0]
  
      pbt.register(parent_trial)
      pbt.register(base_trial)
  
      new_trial = parent_trial.branch(
          params={"f": pbt.fidelities[parent_trial.params["f"]]}
      )
      pbt.lineages.fork(parent_trial, new_trial)
      pbt.lineages.set_jump(base_trial, new_trial)
  
      new_trial.status = "broken"
      pbt.register(new_trial)
  
      # Should queue the parent of the broken trial
      pbt._queue_trials_for_promotions([new_trial])
      assert len(pbt._queue) == 1
      assert pbt._queue[0].id == base_trial.id
  
imports: from __future__ import annotations
  import functools
  import logging
  from typing import ClassVar
  import numpy
  import pytest
  from base import ExploitStub, ExploreStub, sample_trials
  from pytest_mock import MockerFixture
  from orion.algo.pbt.pbt import PBT, compute_fidelities
  from orion.algo.space import Space
  from orion.core.worker.primary_algo import SpaceTransform, create_algo
  from orion.core.worker.transformer import ReshapedSpace, TransformedSpace
  from orion.core.worker.trial import Trial
  from orion.testing.algo import BaseAlgoTests, TestPhase
label_desc: Use image node_id 7 for calling the TestPBTObserve obj's underlying member method code with example usage: obj.test_queue_broken_trials_from_jump_for_promotions(space) without return types