code: def test_adaptation_target_zero(self):
      record1 = tf.constant([8.5])
      record2 = tf.constant([-7.25])
  
      query = (
          quantile_adaptive_clip_sum_query.QuantileAdaptiveClipSumQuery(
              initial_l2_norm_clip=10.0,
              noise_multiplier=0.0,
              target_unclipped_quantile=0.0,
              learning_rate=1.0,
              clipped_count_stddev=0.0,
              expected_num_records=2.0,
              geometric_update=False,
          )
      )
  
      global_state = query.initial_global_state()
  
      initial_clip = global_state.sum_state.l2_norm_clip
      self.assertAllClose(initial_clip, 10.0)
  
      # On the first two iterations, nothing is clipped, so the clip goes down
      # by 1.0 (the learning rate). When the clip reaches 8.0, one record is
      # clipped, so the clip goes down by only 0.5. After two more iterations,
      # both records are clipped, and the clip norm stays there (at 7.0).
  
      expected_sums = [1.25, 1.25, 0.75, 0.25, 0.0]
      expected_clips = [9.0, 8.0, 7.5, 7.0, 7.0]
      for expected_sum, expected_clip in zip(
          expected_sums, expected_clips
      ):
          actual_sum, global_state = test_utils.run_query(
              query, [record1, record2], global_state
          )
  
          actual_clip = global_state.sum_state.l2_norm_clip
  
          self.assertAllClose(actual_clip.numpy(), expected_clip)
          self.assertAllClose(actual_sum.numpy(), (expected_sum,))
  
file_path: privacy/tensorflow_privacy/privacy/dp_query/quantile_adaptive_clip_sum_query_test.py
imports: from absl.testing import parameterized
  import numpy
  import tensorflow
  from tensorflow_privacy.privacy.dp_query import quantile_adaptive_clip_sum_query
  from tensorflow_privacy.privacy.dp_query import test_utils
label_desc: Use image node_id 4 for calling the QuantileAdaptiveClipSumQueryTest obj's underlying member method code with example usage: obj.test_adaptation_target_zero() without return types