code: def form_test_info(
      self, name=None, description=None, capability=None
  ):
      n_run = n = len(self.data)
      if self.run_idxs is not None:
          n_run = len(self.run_idxs)
      fails = self.fail_idxs().shape[0]
      filtered = self.filtered_idxs().shape[0]
      return {
          "name": name if name else self.name,
          "description": description
          if description
          else self.description,
          "capability": capability if capability else self.capability,
          "type": self.__class__.__name__.lower(),
          "tags": [],
          "stats": {
              "nfailed": fails,
              "npassed": n_run - filtered - fails,
              "nfiltered": filtered,
          },
      }
  
imports: from abc import ABC, abstractmethod
  import dill
  from munch import Munch
  import numpy
  import inspect
  from .expect import iter_with_optional, Expect
  from .viewer.test_summarizer import TestSummarizer
label_desc: Use image node_id 26 for calling the AbstractTest obj's underlying member method code with example usage: obj.form_test_info(name, description, capability) and returns: dict