code: def test_verbose_print_out(capfd, df_vartypes, df_na):
      match_columns = MatchVariables(
          missing_values="ignore", verbose=True
      )
  
      train = df_na.copy()
      train.loc[:, "new_variable"] = 5
  
      match_columns.fit(train)
      match_columns.transform(df_vartypes)
  
      out, err = capfd.readouterr()
      assert (
          out == "The following variables are added to the DataFrame: "
          "['new_variable', 'Studies']\n"
          or out
          == "The following variables are added to the DataFrame: "
          "['Studies', 'new_variable']\n"
      )
  
      match_columns.fit(df_vartypes)
      match_columns.transform(train)
  
      out, err = capfd.readouterr()
      assert (
          out
          == "The following variables are dropped from the DataFrame: "
          "['new_variable', 'Studies']\n"
          or out
          == "The following variables are dropped from the DataFrame: "
          "['Studies', 'new_variable']\n"
      )
  
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 5 for calling a global function with example usage: test_verbose_print_out(capfd, df_vartypes, df_na) without return types