code: def testGenerateShardArgs(self):
      num_examples = 37
      num_shards = 4
      outfiles = [str(i) for i in range(num_shards)]
      shard_args = gene_expression.generate_shard_args(
          outfiles, num_examples
      )
  
      starts, ends, fnames = zip(*shard_args)
      self.assertAllEqual([0, 9, 18, 27], starts)
      self.assertAllEqual([9, 18, 27, 37], ends)
      self.assertAllEqual(fnames, outfiles)
  
file_path: tensor2tensor/tensor2tensor/data_generators/gene_expression_test.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import numpy
  from tensor2tensor.data_generators import dna_encoder
  from tensor2tensor.data_generators import gene_expression
  import tensorflow.compat.v1
label_desc: Use image node_id 3 for calling the GeneticsTest obj's underlying member method code with example usage: obj.testGenerateShardArgs() without return types