code: def test_custom_full_lift_prefix(self, lift_fn, expected_name):
      def my_creator(next_creator, shape, dtype, init, context):
          self.assertEqual(context.lifted_prefix_name, expected_name)
          return next_creator(shape, dtype, init)
  
      def my_getter(next_getter, value, context):
          if transform.running_init():
              self.assertEqual(
                  context.lifted_prefix_name, expected_name
              )
          return next_getter(value)
  
      class Outer(module.Module):
          def __call__(self, x):
              with base.custom_getter(my_getter), base.custom_creator(
                  my_creator
              ):
                  return lift_fn(lambda x: Bias()(x))(
                      x
                  )  # pylint: disable=unnecessary-lambda
  
      @transform.transform
      def fn(x):
          return Outer()(x)
  
      x = jnp.ones([10, 10])
      params_with_lift = fn.init(None, x)
      fn.apply(params_with_lift, None, x)
  
imports: from absl.testing import absltest
  from absl.testing import parameterized
  from haiku._src import base
  from haiku._src import config
  from haiku._src import lift
  from haiku._src import module
  from haiku._src import multi_transform
  from haiku._src import stateful
  from haiku._src import test_utils
  from haiku._src import transform
  import jax
  import jax.numpy
  import numpy
label_desc: Use image node_id 25 for calling the LiftTest obj's underlying member method code with example usage: obj.test_custom_full_lift_prefix(lift_fn, expected_name) and returns: next_creator, next_getter, Outer, lift_fn