code: def make_decorator(test_case_generator):
      # `test_case_generator` is a callable that receives the source test class
      # (typically a subclass of unittest.TestCase) and returns an iterable of
      # generated test cases.
      # Each element of the iterable is a 3-element tuple:
      # [0] Generated class name
      # [1] Dict of members
      # [2] Method generator
      # The method generator is also a callable that receives an original test
      # method and returns a new test method.
  
      def f(cls):
          # The input is a bare test case
          module_name = cls.__module__
  
          # Generate parameterized test cases out of the input test case.
          module = sys.modules[module_name]
          assert module.__name__ == module_name
          for (
              cls_name,
              members,
              method_generator,
          ) in test_case_generator(cls):
              _generate_case(
                  cls, module, cls_name, members, method_generator
              )
  
          # Remove original base class
          return None
  
      return f
  
label_desc: Use image node_id 1 for calling a global function with example usage: make_decorator(test_case_generator) and returns: f, None