code: def test_extension_array_codes(self, verify):
      a = array([1, 3, 2], dtype="Int64")
      result, codes = safe_sort(
          a, [0, 1, -1, 2], use_na_sentinel=True, verify=verify
      )
      expected_values = array([1, 2, 3], dtype="Int64")
      expected_codes = np.array([0, 2, -1, 1], dtype=np.intp)
      tm.assert_extension_array_equal(result, expected_values)
      tm.assert_numpy_array_equal(codes, expected_codes)
  
imports: from collections import defaultdict
  from datetime import datetime
  from itertools import product
  import numpy
  import pytest
  from pandas import NA, DataFrame, MultiIndex, Series, array, concat, merge
  import pandas._testing
  from pandas.core.algorithms import safe_sort
  import pandas.core.common
  from pandas.core.sorting import _decons_group_index, get_group_index, is_int64_overflow_possible, lexsort_indexer, nargsort
label_desc: Use image node_id 9 for calling the TestSafeSort obj's underlying member method code with example usage: obj.test_extension_array_codes(verify) without return types