docstr: Test that from a post-processing token to an updated LLMFunction.
docstr_tok: ["Test","that","from","a","post-processing","token","to","an","updated","LLMFunction","."]
code: def test_parsed_post_process_add_fn(self):
      """Test that from a post-processing token to an updated LLMFunction."""
      parsed_exprs = post_process_utils.resolve_post_processing_tokens(
          [
              ["add_length"],
          ]
      )
      self.assertLen(parsed_exprs, 1)
      self.assertIsInstance(
          parsed_exprs[0], post_process_utils._ParsedPostProcessAddExpr
      )
      llm_fn = llm_function.LLMFunctionImpl(
          model=model_lib.EchoModel(), prompts=["hello"]
      )
      parsed_exprs[0].add_to_llm_function(llm_fn)
      results = llm_fn()
      self.assertEqual(
          {
              "Input Num": [0],
              "Prompt Num": [0],
              "Prompt": ["hello"],
              "Result Num": [0],
              "add_length": [5],
              "text_result": ["hello"],
          },
          results.as_dict(),
      )
  
imports: from __future__ import annotations
  import sys
  from unittest import mock
  from absl.testing import absltest
  from google.generativeai.notebook import post_process_utils
  from google.generativeai.notebook import post_process_utils_test_helper
  from google.generativeai.notebook.lib import llm_function
  from google.generativeai.notebook.lib import llmfn_output_row
  from google.generativeai.notebook.lib import model
label_desc: Use image node_id 2 for calling the PostProcessUtilsTest obj's underlying member method code with example usage: obj.test_parsed_post_process_add_fn() without return types