code: def test_handle_missing_error_2cols(self):
      # See issue #213
      non_null = pd.DataFrame(
          {
              "country": ["us", "uk"],
              "city": ["chicago", "los angeles"],
              "color": ["red", np.nan],
          }
      )  # only 'city' column is going to be transformed
      has_null = pd.DataFrame(
          {
              "country": ["us", "uk"],
              "city": ["chicago", np.nan],
              "color": ["red", np.nan],
          }
      )
      y = pd.Series([1, 0])
  
      for encoder_name in set(encoders.__all__) - {
          "HashingEncoder"
      }:  # HashingEncoder supports new values by design -> excluded
          with self.subTest(encoder_name=encoder_name):
              enc = getattr(encoders, encoder_name)(
                  handle_missing="error", cols=["country", "city"]
              )
              with self.assertRaises(ValueError):
                  enc.fit(has_null, y)
  
              enc.fit(
                  non_null, y
              )  # we raise an error only if a missing value is in one of the transformed columns
  
              with self.assertRaises(ValueError):
                  enc.transform(has_null)
  
imports: import warnings
  from datetime import timedelta
  import numpy
  from numpy.testing import assert_array_equal
  import pandas
  import sklearn
  import tests.helpers
  from sklearn.utils.estimator_checks import check_transformer_general, check_transformers_unfitted, check_n_features_in
  from sklearn.compose import ColumnTransformer
  from unittest import TestCase
  from copy import deepcopy
  import category_encoders
label_desc: Use image node_id 8 for calling the TestEncoders obj's underlying member method code with example usage: obj.test_handle_missing_error_2cols() without return types