code: def testUpdateContext(self, distribution, use_function):
      with distribution.scope():
          var1 = variables.Variable([0.0, 0.0])
          var2 = variables.Variable([0.0, 0.0])
          var3 = variables.Variable([0.0, 0.0])
  
          def update_fn(v, value):
              v.assign_add(value)
              moving_averages.assign_moving_average(
                  var2, [2.0, 4.0], decay=0.25
              )
              moving_averages.assign_moving_average(
                  var3, [2.0, 4.0], decay=0.25, zero_debias=False
              )
  
          distribution.extended.update(var1, update_fn, ([1.0, 1.0],))
  
          self.assertAllClose([2.0, 4.0], var2.read_value())
          self.assertAllClose([1.5, 3.0], var3.read_value())
  
imports: from absl.testing import parameterized
  from tensorflow.python.distribute import combinations
  from tensorflow.python.distribute import strategy_combinations
  from tensorflow.python.distribute import strategy_test_lib
  from tensorflow.python.distribute import test_util
  from tensorflow.python.eager import def_function
  from tensorflow.python.eager import test
  from tensorflow.python.framework import constant_op
  from tensorflow.python.ops import variables
  from tensorflow.python.training import moving_averages
label_desc: Use image node_id 5 for calling the AssignMovingAveragesTest obj's underlying member method code with example usage: obj.testUpdateContext(distribution, use_function) without return types