code: def test_helpers(self):
      # check nullable
      @typecheck(x=nullable(int))
      def f(x):
          pass
  
      f(5)
      f(None)
      self.assertRaises(TypeError, lambda: f("2"))
  
      # check integral
      @typecheck(x=int)
      def f(x):
          pass
  
      f(1)
      self.assertRaises(TypeError, lambda: f(1.1))
  
      # check numeric
      @typecheck(x=numeric)
      def f(x):
          pass
  
      f(1)
      f(1.0)
      self.assertRaises(TypeError, lambda: f("1.1"))
  
      # check strlike
      @typecheck(x=str)
      def f(x):
          pass
  
      f("str")
      f("unicode")
      self.assertRaises(TypeError, lambda: f(["abc"]))
  
file_path: hail/hail/python/test/hail/typecheck/test_typecheck.py
imports: import unittest
  from hail.typecheck.check import *
label_desc: Use image node_id 2 for calling the Tests obj's underlying member method code with example usage: obj.test_helpers() without return types