code: def test_sort_nat(self):
      # GH 16836
  
      d1 = [
          Timestamp(x)
          for x in ["2016-01-01", "2015-01-01", np.nan, "2016-01-01"]
      ]
      d2 = [
          Timestamp(x)
          for x in [
              "2017-01-01",
              "2014-01-01",
              "2016-01-01",
              "2015-01-01",
          ]
      ]
      df = DataFrame({"a": d1, "b": d2}, index=[0, 1, 2, 3])
  
      d3 = [
          Timestamp(x)
          for x in ["2015-01-01", "2016-01-01", "2016-01-01", np.nan]
      ]
      d4 = [
          Timestamp(x)
          for x in [
              "2014-01-01",
              "2015-01-01",
              "2017-01-01",
              "2016-01-01",
          ]
      ]
      expected = DataFrame({"a": d3, "b": d4}, index=[1, 3, 0, 2])
      sorted_df = df.sort_values(by=["a", "b"])
      tm.assert_frame_equal(sorted_df, expected)
  
imports: import numpy
  import pytest
  import pandas
  from pandas import Categorical, DataFrame, NaT, Timestamp, date_range
  import pandas._testing
  from pandas.util.version import Version
label_desc: Use image node_id 14 for calling the TestDataFrameSortValues obj's underlying member method code with example usage: obj.test_sort_nat() without return types