code: def test_sum_nested_record_structure(self, sample_size):
      with self.cached_session() as sess:
          t1 = tf.constant([1, 0], dtype=tf.int32)
          t2 = tf.constant([1, 1, 1], dtype=tf.int32)
          t3 = tf.constant([1], dtype=tf.int32)
          t4 = tf.constant([[1, 1], [1, 1]], dtype=tf.int32)
          record = [t1, dict(a=t2, b=[t3, (t4, t1)])]
          sample = [record] * sample_size
  
          query = ddg_sum_query(l2_norm_bound=10, local_stddev=0.0)
          query_result, _ = test_utils.run_query(query, sample)
          result = sess.run(query_result)
  
          s = sample_size
          expected = [
              t1 * s,
              dict(a=t2 * s, b=[t3 * s, (t4 * s, t1 * s)]),
          ]
          # Use `assertAllClose` for nested structures equality (with tolerance=0)
          self.assertAllClose(result, expected, atol=0)
  
file_path: privacy/tensorflow_privacy/privacy/dp_query/distributed_discrete_gaussian_query_test.py
imports: from absl.testing import parameterized
  import numpy
  import tensorflow
  from tensorflow_privacy.privacy.dp_query import discrete_gaussian_utils
  from tensorflow_privacy.privacy.dp_query import distributed_discrete_gaussian_query
  from tensorflow_privacy.privacy.dp_query import test_utils
label_desc: Use image node_id 3 for calling the DistributedDiscreteGaussianQueryTest obj's underlying member method code with example usage: obj.test_sum_nested_record_structure(sample_size) without return types