code: def test_pytype_from_type_name(self):
      self.assertEqual(pytype_from_type_name("str"), str)
      self.assertEqual(pytype_from_type_name("string"), str)
      self.assertEqual(pytype_from_type_name("float"), float)
      self.assertEqual(
          pytype_from_type_name("datetime"), datetime.datetime
      )
      self.assertEqual(pytype_from_type_name("image"), image.Image)
      self.assertEqual(pytype_from_type_name("list"), list)
      self.assertEqual(pytype_from_type_name("undefined"), type(None))
  
      self.assertRaises(
          ValueError, lambda: pytype_from_type_name("happiness")
      )
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  import unittest
  import numpy
  from numpy import nan
  import array
  import datetime
  from ..data_structures import image
  from ..None import SArray
  import os
  from .._cython.cy_flexible_type import _translate_through_flexible_type
  from .._cython.cy_flexible_type import _translate_through_flex_list
  from .._cython.cy_flexible_type import infer_type_of_list
  from .._cython.cy_flexible_type import _get_inferred_column_type, _all_convertable
  from .._cython.cy_flexible_type import _check_ft_pyobject_hint_path
  from .._cython.cy_flexible_type import pytype_from_type_name
  from .._cython.cy_flexible_type import GMT
  import datetime
  from itertools import product
  from copy import copy
  import pytest
  import sys
label_desc: Use image node_id 16 for calling the FlexibleTypeTest obj's underlying member method code with example usage: obj.test_pytype_from_type_name() without return types