code: def test_round_trip_perturbation_descriptions(self):
      descriptions = [
          PerturbationDescription(
              name="unknown",
          ),
          DialectPerturbation.Description(
              name=DialectPerturbation.name,
              fairness=True,
              prob=0.5,
              source_class="source_class",
              target_class="target_class",
              mapping_file_path="mapping_file_path",
          ),
          ExtraSpacePerturbation.Description(
              name=ExtraSpacePerturbation.name,
              robustness=True,
              num_spaces=2,
          ),
          FillerWordsPerturbation.Description(
              name=FillerWordsPerturbation.name,
              robustness=True,
              insert_prob=0.5,
          ),
          GenderPerturbation.Description(
              name=GenderPerturbation.name,
              mode="mode",
              fairness=True,
              prob=0.5,
              source_class="source_class",
              target_class="target_class",
              bidirectional=True,
          ),
          MisspellingPerturbation.Description(
              name=MisspellingPerturbation.name,
              robustness=True,
              prob=0.5,
          ),
          PersonNamePerturbation.Description(
              name=PersonNamePerturbation.name,
              fairness=True,
              prob=0.5,
              source_class="source_str",
              target_class="target_str",
              name_file_path="name_file_path",
              person_name_type="person_name_type",
              preserve_gender=True,
          ),
          SpacePerturbation.Description(
              name=SpacePerturbation.name, robustness=True, max_spaces=2
          ),
          SynonymPerturbation.Description(
              name=SynonymPerturbation.name, robustness=True, prob=0.5
          ),
          TyposPerturbation.Description(
              name=TyposPerturbation.name, robustness=True, prob=0.5
          ),
      ]
      for description in descriptions:
          self.assertEqual(
              description,
              from_json(to_json(description), PerturbationDescription),
          )
  
imports: import unittest
  import json
  from dataclasses import dataclass
  from typing import Dict, List, Optional
  from helm.benchmark.augmentations.dialect_perturbation import DialectPerturbation
  from helm.benchmark.augmentations.extra_space_perturbation import ExtraSpacePerturbation
  from helm.benchmark.augmentations.filler_words_perturbation import FillerWordsPerturbation
  from helm.benchmark.augmentations.gender_perturbation import GenderPerturbation
  from helm.benchmark.augmentations.misspelling_perturbation import MisspellingPerturbation
  from helm.benchmark.augmentations.person_name_perturbation import PersonNamePerturbation
  from helm.benchmark.augmentations.space_perturbation import SpacePerturbation
  from helm.benchmark.augmentations.synonym_perturbation import SynonymPerturbation
  from helm.benchmark.augmentations.typos_perturbation import TyposPerturbation
  from helm.benchmark.augmentations.perturbation_description import PerturbationDescription
  from helm.common.codec import from_json, to_json
label_desc: Use image node_id 6 for calling the TestJsonCodec obj's underlying member method code with example usage: obj.test_round_trip_perturbation_descriptions() without return types