code: def test_suggest_num_population_size_sample_broken(
      self, space: Space, mocker: MockerFixture
  ):
      population_size = 10
      pbt = _create_algo(space, population_size=population_size).unwrap(
          PBT
      )
  
      pbt_sample_mock = mocker.spy(pbt, "_sample")
      pbt_fork_mock = mocker.spy(pbt, "_fork_lineages")
  
      num = 10
      trials = pbt.suggest(num)
      assert len(trials) == num
  
      pbt_sample_mock.assert_called_with(num)
      pbt_fork_mock.assert_called_with(0)
  
      n_broken = 3
      for trial in trials[:n_broken]:
          trial.status = "broken"
  
      pbt.observe(trials)
  
      assert len(pbt.suggest(num)) == n_broken
  
      # 3 trials are broken, need to resample 3 trials, and can try to fork 7 trials
      pbt_sample_mock.assert_called_with(n_broken)
      pbt_fork_mock.assert_called_with(7)
  
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 15 for calling the TestPBTSuggest obj's underlying member method code with example usage: obj.test_suggest_num_population_size_sample_broken(space, mocker) without return types