code: def test_rename_symbols_basic(self):
      node = parser.parse("a + b")
      node = qual_names.resolve(node)
  
      node = ast_util.rename_symbols(
          node, {qual_names.QN("a"): qual_names.QN("renamed_a")}
      )
      source = parser.unparse(node, include_encoding_marker=False)
      expected_node_src = "renamed_a + b"
  
      self.assertIsInstance(node.value.left.id, str)
      self.assertAstMatches(node, source)
      self.assertAstMatches(node, expected_node_src)
  
imports: import ast
  import collections
  import textwrap
  import gast
  from tensorflow.python.autograph.pyct import anno
  from tensorflow.python.autograph.pyct import ast_util
  from tensorflow.python.autograph.pyct import loader
  from tensorflow.python.autograph.pyct import parser
  from tensorflow.python.autograph.pyct import pretty_printer
  from tensorflow.python.autograph.pyct import qual_names
  from tensorflow.python.platform import test
label_desc: Use image node_id 3 for calling the AstUtilTest obj's underlying member method code with example usage: obj.test_rename_symbols_basic() without return types