code: def test_get_best_trial_across_jumps(self):
      root_a = build_full_tree(4, starting_objective=1)
      root_b = build_full_tree(4, starting_objective=10)
  
      a_leafs = root_a.get_nodes_at_depth(3)
      b_leafs = root_b.get_nodes_at_depth(3)
      assert b_leafs[0].get_best_trial() == root_b.item
      a_leafs[0].set_jump(b_leafs[0].parent)
  
      # Should look past jump of parent
      assert b_leafs[0].get_best_trial() == root_a.item
      # Should look past jump directly
      assert b_leafs[0].parent.get_best_trial() == root_a.item
      # Should look towards root, there is no jump between root and this node
      assert b_leafs[0].parent.parent.get_best_trial() == root_b.item
  
imports: import os
  import random
  import pytest
  from base import ObjectiveStub, TrialStub, build_full_tree, build_population, compare_generations
  from orion.algo.pbt.pbt import LineageNode, Lineages
label_desc: Use image node_id 12 for calling the TestLineageNode obj's underlying member method code with example usage: obj.test_get_best_trial_across_jumps() without return types