code: def test_argparse_recursive_prefixing(self):
      self.maxDiff = None
      parser = ArgumentParser()
      gen_parser_from_dataclass(parser, C(), True, "")
      args = parser.parse_args(
          [
              "--encoder-arch-data",
              "ENCODER_ARCH_DATA",
              "--encoder-arch-num-layers",
              "10",
              "--encoder-foo",
              "10",
              "--decoder-data",
              "DECODER_DATA",
              "--decoder-num-layers",
              "10",
              "--lr",
              "10",
              "the/data/path",
          ]
      )
      self.assertEqual(args.encoder_arch_data, "ENCODER_ARCH_DATA")
      self.assertEqual(args.encoder_arch_num_layers, 10)
      self.assertEqual(args.encoder_foo, 10)
      self.assertEqual(args.decoder_data, "DECODER_DATA")
      self.assertEqual(args.decoder_num_layers, 10)
      self.assertEqual(args.lr, 10)
      self.assertEqual(args.data, "the/data/path")
  
file_path: fairseq/tests/test_dataclass_utils.py
imports: import unittest
  from argparse import ArgumentParser
  from dataclasses import dataclass, field
  from fairseq.dataclass import FairseqDataclass
  from fairseq.dataclass.utils import gen_parser_from_dataclass
label_desc: Use image node_id 3 for calling the TestDataclassUtils obj's underlying member method code with example usage: obj.test_argparse_recursive_prefixing() without return types