code: def test_function_io(self):
      function_io = FunctionIOCatalogEntry(
          "name",
          ColumnType.NDARRAY,
          True,
          NdArrayType.UINT8,
          [2, 3],
          True,
          1,
      )
      self.assertEqual(function_io.row_id, None)
      self.assertEqual(function_io.function_id, 1)
      self.assertEqual(function_io.is_input, True)
      self.assertEqual(function_io.is_nullable, True)
      self.assertEqual(function_io.array_type, NdArrayType.UINT8)
      self.assertEqual(function_io.array_dimensions, [2, 3])
      self.assertEqual(function_io.name, "name")
      self.assertEqual(function_io.type, ColumnType.NDARRAY)
  
file_path: evadb/test/unit_tests/catalog/models/test_models.py
imports: import unittest
  from evadb.catalog.catalog_type import ColumnType, NdArrayType, TableType
  from evadb.catalog.models.column_catalog import ColumnCatalogEntry
  from evadb.catalog.models.function_catalog import FunctionCatalogEntry
  from evadb.catalog.models.function_io_catalog import FunctionIOCatalogEntry
  from evadb.catalog.models.index_catalog import IndexCatalogEntry
  from evadb.catalog.models.table_catalog import TableCatalogEntry
label_desc: Use image node_id 7 for calling the CatalogModelsTest obj's underlying member method code with example usage: obj.test_function_io() without return types