code: def testSortByCost(self):
      a = dispatch.MakeInstanceChecker(int)
      b = dispatch.MakeInstanceChecker(float)
      c = dispatch.MakeUnionChecker([a, b])
      d = dispatch.MakeListChecker(a)
      e = dispatch.MakeListChecker(c)
      checker = dispatch.PySignatureChecker(
          [(0, e), (1, c), (2, d), (3, a)]
      )
  
      # Note: `repr(checker)` lists the args in the order they will be checked.
      self.assertEqual(
          repr(checker),
          "<PySignatureChecker "
          "args[3]:int, "  # a: cost=1
          "args[1]:Union[int, float], "  # c: cost=3
          "args[2]:List[int], "  # d: cost=10
          "args[0]:List[Union[int, float]]>",  # e: cost=30
      )
  
imports: import collections
  import numpy
  from tensorflow.python.framework import _pywrap_python_api_dispatcher
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import tensor
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops.ragged import ragged_factory_ops
  from tensorflow.python.ops.ragged import ragged_tensor
  from tensorflow.python.platform import googletest
label_desc: Use image node_id 5 for calling the PythonSignatureCheckerTest obj's underlying member method code with example usage: obj.testSortByCost() without return types