code: def testAddN(self):
      np.random.seed(12345)
      with self.session():
          for dtype in self._supported_types():
              for count in range(1, self._MAX_N + 1):
                  data = [
                      self._buildData((2, 2), dtype)
                      for _ in range(count)
                  ]
                  actual = self.evaluate(math_ops.add_n(data))
                  expected = np.sum(
                      np.vstack([np.expand_dims(d, 0) for d in data]),
                      axis=0,
                  )
                  self.assertAllCloseAccordingToType(
                      expected,
                      actual,
                      float_rtol=5e-6,
                      float_atol=5e-6,
                      half_rtol=5e-3,
                      half_atol=5e-3,
                  )
  
file_path: tensorflow/tensorflow/python/kernel_tests/math_ops/aggregate_ops_test.py
imports: import numpy
  from tensorflow.core.framework import tensor_pb2
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import string_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 3 for calling the AddNTest obj's underlying member method code with example usage: obj.testAddN() without return types