code: def test_1d_fill_nonna(self, dtype_fill_out_dtype):
      dtype, fill_value, out_dtype = dtype_fill_out_dtype
      data = np.random.default_rng(2).integers(0, 2, 4).astype(dtype)
      indexer = [2, 1, 0, -1]
  
      result = algos.take_nd(data, indexer, fill_value=fill_value)
      assert (result[[0, 1, 2]] == data[[2, 1, 0]]).all()
      assert result[3] == fill_value
      assert result.dtype == out_dtype
  
      indexer = [2, 1, 0, 1]
  
      result = algos.take_nd(data, indexer, fill_value=fill_value)
      assert (result[[0, 1, 2, 3]] == data[indexer]).all()
      assert result.dtype == dtype
  
imports: from datetime import datetime
  import numpy
  import pytest
  from pandas._libs import iNaT
  import pandas._testing
  import pandas.core.algorithms
label_desc: Use image node_id 1 for calling the TestTake obj's underlying member method code with example usage: obj.test_1d_fill_nonna(dtype_fill_out_dtype) without return types