code: def test_check_permitted_range_with_unknown_feature(
      self, permitted_range
  ):
      iris = load_iris(as_frame=True)
      feature_names = iris.feature_names
      dataset = iris.frame
  
      dice_data = dice_ml.Data(
          dataframe=dataset,
          continuous_features=feature_names,
          outcome_name="target",
      )
  
      if permitted_range is not None:
          with pytest.raises(
              UserConfigValidationException,
              match="Got features {"
              + "'not_a_feature'"
              + "} which are not present in training data",
          ):
              dice_data.check_permitted_range(
                  permitted_range=permitted_range
              )
      else:
          dice_data.check_permitted_range(
              permitted_range=permitted_range
          )
  
imports: from enum import Enum
  import numpy
  import pandas
  import pytest
  from raiutils.exceptions import UserConfigValidationException
  from sklearn.datasets import load_iris
  import dice_ml
  from dice_ml.utils import helpers
label_desc: Use image node_id 2 for calling the TestChecksPublicDataInterface obj's underlying member method code with example usage: obj.test_check_permitted_range_with_unknown_feature(permitted_range) without return types