docstr: Verify that the validate decorator doesn't swallow typeerrors that
  would be raised when calling a function with invalid arguments
docstr_tok: ["Verify","that","the","validate","decorator","does","n't","swallow","typeerrors","that","would","be","raised","when","calling","a","function","with","invalid","arguments"]
code: def _test_preprocess_doesnt_change_TypeErrors(
      self, name, args, kwargs
  ):
      """
      Verify that the validate decorator doesn't swallow typeerrors that
      would be raised when calling a function with invalid arguments
      """
  
      def undecorated(x, y):
          return x, y
  
      decorated = preprocess(x=noop, y=noop)(undecorated)
  
      with self.assertRaises(TypeError) as e:
          undecorated(*args, **kwargs)
      undecorated_errargs = e.exception.args
  
      with self.assertRaises(TypeError) as e:
          decorated(*args, **kwargs)
      decorated_errargs = e.exception.args
  
      self.assertEqual(len(decorated_errargs), 1)
      self.assertEqual(len(undecorated_errargs), 1)
  
      self.assertEqual(decorated_errargs[0], undecorated_errargs[0])
  
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 catalyst.utils.preprocess import call, preprocess
  from catalyst.utils.input_validation import expect_dimensions, ensure_timezone, expect_element, expect_dtypes, expect_types, optional, optionally
label_desc: Use image node_id 1 for calling the PreprocessTestCase obj's underlying member method code with example usage: obj._test_preprocess_doesnt_change_TypeErrors(name, args, kwargs) and returns: x,  y