code: def testMeshShapeIterator(self):
      self.assertCountEqual(
          list(mesh_tensorflow.auto_mtf.api._mesh_shape_iterator(1)),
          [[1]],
      )
      self.assertCountEqual(
          list(mesh_tensorflow.auto_mtf.api._mesh_shape_iterator(2)),
          [[2]],
      )
      self.assertCountEqual(
          list(mesh_tensorflow.auto_mtf.api._mesh_shape_iterator(4)),
          [[4], [2, 2]],
      )
      self.assertCountEqual(
          list(mesh_tensorflow.auto_mtf.api._mesh_shape_iterator(8)),
          [[8], [4, 2], [2, 2, 2]],
      )
      self.assertCountEqual(
          list(mesh_tensorflow.auto_mtf.api._mesh_shape_iterator(512)),
          [
              [512],
              [256, 2],
              [128, 4],
              [128, 2, 2],
              [64, 8],
              [64, 4, 2],
              [64, 2, 2, 2],
              [32, 16],
              [32, 8, 2],
              [32, 4, 4],
              [32, 4, 2, 2],
              [32, 2, 2, 2, 2],
              [16, 16, 2],
              [16, 8, 4],
              [16, 8, 2, 2],
              [16, 4, 4, 2],
              [16, 4, 2, 2, 2],
              [16, 2, 2, 2, 2, 2],
              [8, 8, 8],
              [8, 8, 4, 2],
              [8, 8, 2, 2, 2],
              [8, 4, 4, 4],
              [8, 4, 4, 2, 2],
              [8, 4, 2, 2, 2, 2],
              [8, 2, 2, 2, 2, 2, 2],
              [4, 4, 4, 4, 2],
              [4, 4, 4, 2, 2, 2],
              [4, 4, 2, 2, 2, 2, 2],
              [4, 2, 2, 2, 2, 2, 2, 2],
              [2, 2, 2, 2, 2, 2, 2, 2, 2],
          ],
      )
  
      self.assertCountEqual(
          list(
              mesh_tensorflow.auto_mtf.api._mesh_shape_iterator(512, 1)
          ),
          [[512]],
      )
      self.assertCountEqual(
          list(
              mesh_tensorflow.auto_mtf.api._mesh_shape_iterator(512, 2)
          ),
          [[512], [256, 2], [128, 4], [64, 8], [32, 16]],
      )
  
file_path: mesh/mesh_tensorflow/auto_mtf/api_test.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import mesh_tensorflow
  import mesh_tensorflow.auto_mtf
  import mesh_tensorflow.auto_mtf.api
  import tensorflow.compat.v1
label_desc: Use image node_id 3 for calling the LayoutTest obj's underlying member method code with example usage: obj.testMeshShapeIterator() without return types