code: def testSuffStats(self):
      for has_shape in [True, False]:
          for keep_dims in [True, False]:
              for shift in [None, 1.0]:
                  self._testSuffStats(
                      [2, 3], [1], shift, keep_dims, has_shape
                  )
                  self._testSuffStats(
                      [2, 3], [0], shift, keep_dims, has_shape
                  )
                  self._testSuffStats(
                      [1, 2, 3], [0, 2], shift, keep_dims, has_shape
                  )
  
imports: import numpy
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import gen_nn_ops
  from tensorflow.python.ops import gradient_checker
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import nn_impl
  import tensorflow.python.ops.nn_grad
  from tensorflow.python.platform import test
label_desc: Use image node_id 4 for calling the SufficientStatisticsTest obj's underlying member method code with example usage: obj.testSuffStats() without return types