code: def test_impute_with_99_and_automatically_select_variables(df_na):
      # set up the transformer
      imputer = ArbitraryNumberImputer(
          arbitrary_number=99, variables=None
      )
      X_transformed = imputer.fit_transform(df_na)
  
      # set up output reference
      X_reference = df_na.copy()
      X_reference["Age"] = X_reference["Age"].fillna(99)
      X_reference["Marks"] = X_reference["Marks"].fillna(99)
  
      # test init params
      assert imputer.arbitrary_number == 99
      assert imputer.variables is None
  
      # test fit attributes
      assert imputer.variables_ == ["Age", "Marks"]
      assert imputer.n_features_in_ == 6
      assert imputer.imputer_dict_ == {"Age": 99, "Marks": 99}
  
      # test transform output
      # selected variables should not contain NA
      # non selected variables should still contain NA
      assert X_transformed[["Age", "Marks"]].isnull().sum().sum() == 0
      assert X_transformed[["Name", "City"]].isnull().sum().sum() > 0
      pd.testing.assert_frame_equal(X_transformed, X_reference)
  
file_path: feature_engine/tests/test_imputation/test_arbitrary_number_imputer.py
imports: import pandas
  import pytest
  from feature_engine.imputation import ArbitraryNumberImputer
label_desc: Use image node_id 1 for calling a global function with example usage: test_impute_with_99_and_automatically_select_variables(df_na) without return types