code: def test_titanic_detection():
      path = os.path.dirname(__file__)
      titanic = pd.read_csv(
          os.path.join(path, "../datasets/titanic.csv")
      )
      types_table = detect_types(titanic)
      types = types_table.T.idxmax()
      true_types = [
          "categorical",
          "categorical",
          "free_string",
          "categorical",
          "dirty_float",
          "low_card_int_ordinal",
          "low_card_int_ordinal",
          "free_string",
          "dirty_float",
          "free_string",
          "categorical",
          "categorical",
          "dirty_float",
          "free_string",
      ]
  
      assert (types == true_types).all()
      titanic_clean, clean_types = clean(titanic, return_types=True)
      assert (clean_types == detect_types(titanic_clean)).all(axis=None)
      titanic_nan = pd.read_csv(
          os.path.join(path, "../datasets/titanic.csv"), na_values="?"
      )
      types_table = detect_types(titanic_nan)
      types = types_table.T.idxmax()
      true_types_clean = [
          t if t != "dirty_float" else "continuous" for t in true_types
      ]
      assert (types == true_types_clean).all()
  
imports: import os
  import pytest
  import random
  import string
  import warnings
  import numpy
  import pandas
  from sklearn.datasets import load_iris, load_digits
  from sklearn.model_selection import train_test_split
  from sklearn.pipeline import make_pipeline
  from sklearn.linear_model import LogisticRegression
  from dabl.preprocessing import USELESS_TYPES, detect_types, EasyPreprocessor, DirtyFloatCleaner, clean, _FLOAT_REGEX, _float_matching, detect_type_series
  from dabl.utils import data_df_from_bunch
  from dabl.datasets import load_titanic
  from dabl import plot
label_desc: Use image node_id 19 for calling a global function with example usage: test_titanic_detection() without return types