code: def test_replace_variables_with_atoms(self):
      data = [
          resource_variable_ops.ResourceVariable(1),
          resource_variable_ops.ResourceVariable(2),
          constant_op.constant(3),
          [4],
          5,
      ]
      if not context.executing_eagerly():
          self.evaluate(variables.global_variables_initializer())
  
      results = variable_utils.replace_variables_with_atoms(data)
      expected_results = [0, 0, 3, [4], 5]
      # Only ResourceVariables are replaced with int 0s.
      self.assertIsInstance(results[0], int)
      self.assertIsInstance(results[1], int)
      self.assertIsInstance(results[2], tensor.Tensor)
      self.assertIsInstance(results[3], list)
      self.assertIsInstance(results[4], int)
      results[2] = self.evaluate(results[2])
      self.assertAllEqual(results, expected_results)
  
      # Make sure 0 is a tf.nest atom with expand_composites=True.
      flat_results = nest.flatten(results, expand_composites=True)
      expected_flat_results = [0, 0, 3, 4, 5]
      self.assertAllEqual(flat_results, expected_flat_results)
  
imports: from tensorflow.python.eager import context
  from tensorflow.python.framework import composite_tensor
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import resource_variable_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import test
  from tensorflow.python.util import nest
  from tensorflow.python.util import variable_utils
label_desc: Use image node_id 3 for calling the VariableUtilsTest obj's underlying member method code with example usage: obj.test_replace_variables_with_atoms() without return types