code: def test_circular_indices(self):
      # All valid.
      indices, mask = utils._circular_indices(3, [3])
      self.assertAllEqual(indices, [[0, 1, 2]])
      self.assertAllEqual(mask, [[True, True, True]])
      # One invalid.
      indices, mask = utils._circular_indices(3, [2])
      self.assertAllEqual(indices, [[0, 1, 0]])
      self.assertAllEqual(mask, [[True, True, False]])
      # All invalid.
      indices, mask = utils._circular_indices(3, [0])
      self.assertAllEqual(indices, [[0, 0, 0]])
      self.assertAllEqual(mask, [[False, False, False]])
      # batch_size = 2
      indices, mask = utils._circular_indices(3, [3, 2])
      self.assertAllEqual(indices, [[0, 1, 2], [0, 1, 0]])
      self.assertAllEqual(
          mask, [[True, True, True], [True, True, False]]
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  import tensorflow
  from tensorflow_ranking.python import utils
label_desc: Use image node_id 14 for calling the UtilsTest obj's underlying member method code with example usage: obj.test_circular_indices() without return types