code: def test_get_columns_type_inference(self):
      data = [
          (
              1.2,
              1,
              "foo",
              datetime(2018, 10, 19, 23, 39, 16, 660000),
              True,
          ),
          (
              3.14,
              2,
              "bar",
              datetime(2019, 10, 19, 23, 39, 16, 660000),
              False,
          ),
      ]
      cursor_descr = (
          ("a", None),
          ("b", None),
          ("c", None),
          ("d", None),
          ("e", None),
      )
      results = SupersetResultSet(data, cursor_descr, BaseEngineSpec)
      self.assertEqual(
          results.columns,
          [
              {
                  "is_dttm": False,
                  "type": "FLOAT",
                  "type_generic": GenericDataType.NUMERIC,
                  "column_name": "a",
                  "name": "a",
              },
              {
                  "is_dttm": False,
                  "type": "INT",
                  "type_generic": GenericDataType.NUMERIC,
                  "column_name": "b",
                  "name": "b",
              },
              {
                  "is_dttm": False,
                  "type": "STRING",
                  "type_generic": GenericDataType.STRING,
                  "column_name": "c",
                  "name": "c",
              },
              {
                  "is_dttm": True,
                  "type": "DATETIME",
                  "type_generic": GenericDataType.TEMPORAL,
                  "column_name": "d",
                  "name": "d",
              },
              {
                  "is_dttm": False,
                  "type": "BOOL",
                  "type_generic": GenericDataType.BOOLEAN,
                  "column_name": "e",
                  "name": "e",
              },
          ],
      )
  
imports: from datetime import datetime
  import tests.integration_tests.test_app
  from superset.dataframe import df_to_records
  from superset.db_engine_specs import BaseEngineSpec
  from superset.result_set import dedup, SupersetResultSet
  from superset.utils.core import GenericDataType
  from .base_tests import SupersetTestCase
label_desc: Use image node_id 4 for calling the TestSupersetResultSet obj's underlying member method code with example usage: obj.test_get_columns_type_inference() without return types