code: def test_checkpoint(self, enable_async_ckpt):
      a = Wrapper(Inner(variables_lib.Variable(15.0)))
      b = Wrapper(Inner(variables_lib.Variable(-15.0)))
      self.evaluate([a.v.initializer, b.v.initializer])
  
      test_dir = self.get_temp_dir()
      prefix = os.path.join(test_dir, "ckpt")
      ckpt = util.Checkpoint(a=a, b=b)
      ckpt_options = checkpoint_options.CheckpointOptions(
          experimental_enable_async_checkpoint=enable_async_ckpt
      )
      prefix_tensor = ckpt.save(prefix, options=ckpt_options)
  
      self.assertEqual([15, -15], self.evaluate([a.v, b.v]))
      self.evaluate(a.v.assign(-3))
      self.evaluate(b.v.assign(12))
      self.assertEqual([-3, 12], self.evaluate([a.v, b.v]))
  
      # Test that the model can be saved with the wrapper and loaded without it.
      ckpt2 = util.Checkpoint(a=a.inner, b=b.inner)
      if enable_async_ckpt:
          ckpt.sync()
      ckpt2.restore(prefix_tensor).assert_consumed().run_restore_ops()
      self.assertEqual([15, -15], self.evaluate([a.v, b.v]))
  
imports: import os
  from absl.testing import parameterized
  from tensorflow.python.checkpoint import checkpoint
  from tensorflow.python.checkpoint import checkpoint_options
  from tensorflow.python.eager import test
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import variables
  from tensorflow.python.saved_model import load
  from tensorflow.python.saved_model import save
  from tensorflow.python.trackable import base
  from tensorflow.python.trackable import base_delegate
label_desc: Use image node_id 1 for calling the BaseDelegateTest obj's underlying member method code with example usage: obj.test_checkpoint(enable_async_ckpt) without return types