code: def _default_robustness_tests(
      self, data: Optional[Iterable[str]], num_test_cases: int = 100
  ):
      template = self.editor.template(
          (
              "{nouns1} and {nouns2} are {adjectives}.",
              "{nouns2} and {nouns1} are {adjectives}.",
          ),
          remove_duplicates=True,
          nsamples=num_test_cases,
      )
  
      test = MFT(
          **template,
          labels=self._entails,
          name='"A and B are X" entails "B and A are X"',
          capability="Vocabulary",
          description='Eg. "tigers and lions are huge" entails that "lions and tigers are huge"',
      )
  
      self.add_test(test)
  
      if data:
          template = Perturb.perturb(
              data,
              _wrap_apply_to_each(utils.add_random_strings),
              nsamples=num_test_cases,
          )
          test = INV(
              template.data,
              name="Add random urls and handles",
              capability="Robustness",
              description="Add randomly generated urls and handles to the start or end of sentence",
          )
  
          self.add_test(test)
  
imports: from typing import Optional, Tuple, Iterable, Callable, Union
  import itertools
  import numpy
  from checklist.test_suite import TestSuite
  from checklist.test_types import MFT, INV, DIR, Expect
  from checklist.perturb import Perturb
  from allennlp.confidence_checks.task_checklists.task_suite import TaskSuite
  from allennlp.confidence_checks.task_checklists import utils
  from allennlp.predictors import Predictor
label_desc: Use image node_id 12 for calling the TextualEntailmentSuite obj's underlying member method code with example usage: obj._default_robustness_tests(data, num_test_cases) without return types