code: def test_run_fill_median_convert_integer_validation_dataset(self):
      # training data
      d = {
          "col1": [1, 1, np.nan, 3],
          "col2": ["a", "a", np.nan, "a"],
          "col3": [1, 1, 1, 3],
          "col4": ["a", "a", "b", "c"],
          "y": [0, 1, 1, 1],
      }
      df = pd.DataFrame(data=d)
      X_train = df.loc[:, ["col1", "col2", "col3", "col4"]]
      y_train = df.loc[:, "y"]
  
      d_test = {
          "col1": [1, 1, np.nan, 3],
          "col2": ["a", "a", np.nan, "a"],
          "col3": [1, 1, 1, 3],
          "col4": ["a", "a", "b", "c"],
          "y": [np.nan, 1, np.nan, 1],
      }
      df_test = pd.DataFrame(data=d_test)
      X_test = df_test.loc[:, ["col1", "col2", "col3", "col4"]]
      y_test = df_test.loc[:, "y"]
  
      preprocessing_params = {
          "columns_preprocessing": {
              "col1": [
                  PreprocessingMissingValues.FILL_NA_MEDIAN,
                  PreprocessingCategorical.CONVERT_INTEGER,
              ],
              "col2": [
                  PreprocessingMissingValues.FILL_NA_MEDIAN,
                  PreprocessingCategorical.CONVERT_INTEGER,
              ],
              "col3": [
                  PreprocessingMissingValues.FILL_NA_MEDIAN,
                  PreprocessingCategorical.CONVERT_INTEGER,
              ],
              "col4": [
                  PreprocessingMissingValues.FILL_NA_MEDIAN,
                  PreprocessingCategorical.CONVERT_INTEGER,
              ],
          }
      }
  
      ps = Preprocessing(preprocessing_params)
  
      X_train, y_train, _ = ps.fit_and_transform(X_train, y_train)
      X_test, y_test, _ = ps.transform(X_test, y_test)
  
      for col in ["col1", "col2", "col3", "col4"]:
          self.assertTrue(col in X_train.columns)
          self.assertTrue(col in X_test.columns)
  
      self.assertEqual(4, X_train.shape[0])
      self.assertEqual(4, y_train.shape[0])
      self.assertEqual(2, X_test.shape[0])
      self.assertEqual(2, y_test.shape[0])
  
imports: import json
  import copy
  import unittest
  import tempfile
  import numpy
  import pandas
  import uuid
  from supervised.preprocessing.preprocessing_missing import PreprocessingMissingValues
  from supervised.preprocessing.preprocessing_categorical import PreprocessingCategorical
  from supervised.preprocessing.preprocessing import Preprocessing
label_desc: Use image node_id 7 for calling the PreprocessingTest obj's underlying member method code with example usage: obj.test_run_fill_median_convert_integer_validation_dataset() without return types