class_docstr: Wrap ``validator_*`` methods with test method testing instances
  
  * Find methods with names starting with 'validate_'
  * Create test method with same name
  * Test method iterates, running validate method over all obj, param pairs
code: def __new__(mcs, name, bases, dict):
      klass = type.__new__(mcs, name, bases, dict)
  
      def make_test(name, validator):
          def meth(self):
              for imaker, params in self.obj_params():
                  validator(self, imaker, params)
  
          meth.__name__ = "test_" + name[len("validate_") :]
          meth.__doc__ = (
              f"autogenerated test from {klass.__name__}.{name}"
          )
          if hasattr(validator, "pytestmark"):
              meth.pytestmark = validator.pytestmark
          return meth
  
      for name in dir(klass):
          if not name.startswith("validate_"):
              continue
          # Assume this is a validation method; make a test
          test_meth = make_test(name, getattr(klass, name))
          setattr(klass, test_meth.__name__, test_meth)
      return klass
  
file_path: nibabel/nibabel/tests/test_api_validators.py
imports: import os
  import pytest
label_desc: Use image node_id 1 for calling the validator2test obj's underlying member method code with example usage: obj.__new__(mcs, name, bases, dict) and returns: klass, meth