code: def test_simple_preprocessor_imputed_features():
      # Issue: 211
  
      data = pd.DataFrame({"A": [0, 1, 2, 1, np.NaN]}, dtype="Int64")
      types = detect_types(data, type_hints={"A": "categorical"})
  
      ep = EasyPreprocessor(types=types)
      ep.fit(data)
  
      expected_names = ["A_0.0", "A_1.0", "A_2.0", "A_imputed_1.0"]
      assert (ep.get_feature_names_out() == expected_names).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 24 for calling a global function with example usage: test_simple_preprocessor_imputed_features() without return types