code: def test_get_facet_type_from_numpy_type():
      fs_proto = facet_feature_statistics_pb2.FeatureNameStatistics
      assert (
          fs_proto.INT
          == pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(np.int8)
          )
      )
      assert (
          fs_proto.INT
          == pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(np.uint8)
          )
      )
      assert (
          fs_proto.INT
          == pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(np.int16)
          )
      )
      assert (
          fs_proto.INT
          == pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(np.uint16)
          )
      )
      assert (
          fs_proto.INT
          == pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(np.int32)
          )
      )
      assert (
          fs_proto.INT
          == pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(np.longlong)
          )
      )
      # date and time types treated as int
      assert (
          fs_proto.INT
          == pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(np.datetime64)
          )
      )
      assert (
          fs_proto.INT
          == pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(np.timedelta64)
          )
      )
      assert (
          fs_proto.FLOAT
          == pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(np.float16)
          )
      )
      assert (
          fs_proto.FLOAT
          == pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(np.float32)
          )
      )
      assert (
          fs_proto.FLOAT
          == pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(np.float64)
          )
      )
      assert (
          fs_proto.STRING
          == pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(str)
          )
      )
      assert (
          fs_proto.STRING
          == pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(bool)
          )
      )
      # Unsupported types treated as string for now
      assert (
          fs_proto.STRING
          == pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(np.void)
          )
      )
  
      with pytest.raises(
          MlflowException,
          match="Found type complex, but expected one of: int, long, float, string, bool",
      ):
          pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(np.csingle)
          )
      with pytest.raises(
          MlflowException,
          match="Found type complex, but expected one of: int, long, float, string, bool",
      ):
          pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(np.cdouble)
          )
      with pytest.raises(
          MlflowException,
          match="Found type complex, but expected one of: int, long, float, string, bool",
      ):
          pandas_renderer.get_facet_type_from_numpy_type(
              np.dtype(np.clongdouble)
          )
  
file_path: mlflow/tests/recipes/cards/test_pandas_renderer.py
imports: import numpy
  import pandas
  import pytest
  from google.protobuf import text_format
  from mlflow.exceptions import MlflowException
  from mlflow.protos import facet_feature_statistics_pb2
  from mlflow.recipes.cards import pandas_renderer
label_desc: Use image node_id 2 for calling a global function with example usage: test_get_facet_type_from_numpy_type() without return types