code: def test_argsort(self):
      keys = [5, 4, 3, 2, 1]
      items = ["five", "four", "three", "two", "one"]
      items2 = ["e", "d", "c", "b", "a"]
      torch_keys = torch.LongTensor(keys)
      assert argsort(keys, items, items2) == [
          list(reversed(items)),
          list(reversed(items2)),
      ]
      assert argsort(keys, items, items2, descending=True) == [
          items,
          items2,
      ]
  
      assert np.all(
          argsort(torch_keys, torch_keys)[0].numpy() == np.arange(1, 6)
      )
  
imports: import torch
  import numpy
  import unittest
  from parlai.utils.torch import padded_tensor, argsort, PipelineHelper, neginf, IdentityLayer, trainable_parameters, total_parameters
label_desc: Use image node_id 3 for calling the TestTorchUtils obj's underlying member method code with example usage: obj.test_argsort() without return types