code: def test_transform_dirty_float():
      dirty = make_dirty_float()
      dfc = DirtyFloatCleaner()
      dfc.fit(dirty)
      res = dfc.transform(dirty)
      # TODO test for new values in test etc
      assert res.shape == (100, 3)
      assert (
          res.columns
          == [
              "a_column_garbage",
              "a_column_missing",
              "a_column_dabl_continuous",
          ]
      ).all()
      assert res.a_column_missing.sum() == 9
      assert res.a_column_garbage.sum() == 1
      assert (dfc.get_feature_names_out() == res.columns).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 15 for calling a global function with example usage: test_transform_dirty_float() without return types