code: def test_deprecated():
      # Test whether the deprecated decorator issues appropriate warnings
      # Copied almost verbatim from https://docs.python.org/library/warnings.html
  
      # First a function...
      with warnings.catch_warnings(record=True) as w:
          warnings.simplefilter("always")
  
          @deprecated()
          def ham():
              return "spam"
  
          spam = ham()
  
          assert spam == "spam"  # function must remain usable
  
          assert len(w) == 1
          assert issubclass(w[0].category, FutureWarning)
          assert "deprecated" in str(w[0].message).lower()
  
      # ... then a class.
      with warnings.catch_warnings(record=True) as w:
          warnings.simplefilter("always")
  
          @deprecated("don't use this")
          class Ham:
              SPAM = 1
  
          ham = Ham()
  
          assert hasattr(ham, "SPAM")
  
          assert len(w) == 1
          assert issubclass(w[0].category, FutureWarning)
          assert "deprecated" in str(w[0].message).lower()
  
imports: import string
  import timeit
  import warnings
  from copy import copy
  from itertools import chain
  import numpy
  import pytest
  from sklearn import config_context
  from sklearn.utils import _approximate_mode, _determine_key_type, _get_column_indices, _is_polars_df, _message_with_time, _print_elapsed_time, _safe_assign, _safe_indexing, _to_object_array, check_random_state, column_or_1d, deprecated, gen_even_slices, get_chunk_n_rows, is_scalar_nan, resample, safe_mask, shuffle
  from sklearn.utils._mocking import MockDataFrame
  from sklearn.utils._testing import _convert_container, assert_allclose_dense_sparse, assert_array_equal, assert_no_warnings
  from sklearn.utils.fixes import CSC_CONTAINERS, CSR_CONTAINERS
label_desc: Use image node_id 2 for calling a global function with example usage: test_deprecated() and returns: str