code: def test_drift_with_different_sort(drifted_data_and_model):
      # Arrange
      train, test, model = drifted_data_and_model
  
      # Act
      check = FeatureDrift(
          categorical_drift_method="PSI",
          sort_feature_by="feature importance",
      )
      result = check.run(train, test, model)
      fi_display = result.display
  
      check = FeatureDrift(
          categorical_drift_method="PSI",
          sort_feature_by="drift + importance",
      )
      result = check.run(train, test, model)
      sum_display = result.display
  
      check = FeatureDrift(
          categorical_drift_method="PSI",
          sort_feature_by="drift + importance",
      )
      result = check.run(train, test)
      no_model_drift_display = result.display
  
      # Assert
      assert_that(fi_display[0], is_not(equal_to(sum_display[0])))
      assert_that(
          sum_display[0], is_not(equal_to(no_model_drift_display[0]))
      )
      assert_that(
          fi_display[0], is_not(equal_to(no_model_drift_display[0]))
      )
  
imports: import numpy
  import pandas
  from hamcrest import assert_that, calling, close_to, equal_to, greater_than, has_entries, has_item, has_length, is_not, raises
  from deepchecks.core.errors import NotEnoughSamplesError
  from deepchecks.tabular.checks import FeatureDrift
  from tests.base.utils import equal_condition_result
label_desc: Use image node_id 3 for calling a global function with example usage: test_drift_with_different_sort(drifted_data_and_model) without return types