code: def test_preprocess_bad_processor_name(self):
      a_processor = preprocess(a=int)
  
      # Should work fine.
      @a_processor
      def func_with_arg_named_a(a):
          pass
  
      @a_processor
      def func_with_default_arg_named_a(a=1):
          pass
  
      message = "Got processors for unknown arguments: %s." % {"a"}
      with self.assertRaises(TypeError) as e:
  
          @a_processor
          def func_with_no_args():
              pass
  
      self.assertEqual(e.exception.args[0], message)
  
      with self.assertRaises(TypeError) as e:
  
          @a_processor
          def func_with_arg_named_b(b):
              pass
  
      self.assertEqual(e.exception.args[0], message)
  
imports: from operator import attrgetter
  from types import FunctionType
  from unittest import TestCase
  from nose_parameterized import parameterized
  from numpy import arange, array, dtype
  import pytz
  from six import PY3
  from zipline.utils.preprocess import call, preprocess
  from zipline.utils.input_validation import expect_dimensions, ensure_timezone, expect_element, expect_dtypes, expect_types, optional, optionally
label_desc: Use image node_id 6 for calling the PreprocessTestCase obj's underlying member method code with example usage: obj.test_preprocess_bad_processor_name() without return types