code: def test_drop_and_add_columns(
      fill_value, expected_studies, expected_age, df_vartypes, df_na
  ):
      train = df_na.copy()
      test = df_vartypes.copy()
      test = test.drop("Age", axis=1)  # to add more than one column
  
      # adding columns to test if they are removed
      for new_col in ["test1", "test2"]:
          test.loc[:, new_col] = new_col
  
      match_columns = MatchVariables(
          fill_value=fill_value,
          missing_values="ignore",
      )
      match_columns.fit(train)
  
      transformed_df = match_columns.transform(test)
  
      expected_result = pd.DataFrame(
          {
              "Name": ["tom", "nick", "krish", "jack"],
              "City": ["London", "Manchester", "Liverpool", "Bristol"],
              "Studies": expected_studies,
              "Age": expected_age,
              "Marks": [0.9, 0.8, 0.7, 0.6],
              "dob": pd.date_range("2020-02-24", periods=4, freq="T"),
          }
      )
  
      # test init params
      if fill_value is np.nan:
          assert match_columns.fill_value is np.nan
      else:
          assert match_columns.fill_value == fill_value
      assert match_columns.verbose is True
      assert match_columns.missing_values == "ignore"
      # test fit attrs
      assert list(match_columns.feature_names_in_) == list(
          train.columns
      )
      assert match_columns.n_features_in_ == 6
      # test transform output
      pd.testing.assert_frame_equal(expected_result, transformed_df)
  
file_path: feature_engine/tests/test_preprocessing/test_match_columns.py
imports: import numpy
  import pandas
  import pytest
  from sklearn.exceptions import NotFittedError
  from feature_engine.preprocessing import MatchVariables
label_desc: Use image node_id 1 for calling a global function with example usage: test_drop_and_add_columns(fill_value, expected_studies, expected_age, df_vartypes, df_na) without return types