class_docstr: Transformer-based (duplex) decoder model for TN/ITN.
docstr: Lightning calls this inside the test loop with the data from the test dataloader
  passed in as `batch`.
code: def test_step(self, batch, batch_idx, dataloader_idx: int = 0):
      """
      Lightning calls this inside the test loop with the data from the test dataloader
      passed in as `batch`.
      """
      return self.validation_step(
          batch, batch_idx, dataloader_idx, split="test"
      )
  
imports: import json
  import os
  from collections import defaultdict
  from math import ceil
  from typing import Dict, List, Optional, Union
  import torch
  from omegaconf import DictConfig
  from pytorch_lightning import Trainer
  from transformers import AutoModelForSeq2SeqLM, AutoTokenizer, DataCollatorForSeq2Seq
  import nemo.collections.nlp.data.text_normalization.constants
  from nemo.collections.common.tokenizers.moses_tokenizers import MosesProcessor
  from nemo.collections.nlp.data.text_normalization import TextNormalizationTestDataset
  from nemo.collections.nlp.data.text_normalization.decoder_dataset import TarredTextNormalizationDecoderDataset, TextNormalizationDecoderDataset
  from nemo.collections.nlp.models.duplex_text_normalization.utils import get_formatted_string
  from nemo.collections.nlp.models.nlp_model import NLPModel
  from nemo.core.classes.common import PretrainedModelInfo, typecheck
  from nemo.core.neural_types import ChannelType, LabelsType, LossType, MaskType, NeuralType
  from nemo.utils import logging
label_desc: Use image node_id 9 for calling the DuplexDecoderModel obj's underlying member method code with example usage: obj.test_step(batch, batch_idx, dataloader_idx) and returns: self