code: def testAssignVariable(self, distribution):
      def replica_fn():
          var = variables.Variable([10.0, 11.0])
          # Here we expect to check the case when input value are variable.
          val = variables.Variable([1.0, 2.0])
          decay = 0.25
          assign = moving_averages.assign_moving_average(
              var, val, decay, zero_debias=False
          )
          return var, assign
  
      with distribution.scope():
          var, assign = distribution.extended.call_for_each_replica(
              replica_fn
          )
          self.evaluate(variables.global_variables_initializer())
          self.assertAllClose([10.0, 11.0], self.evaluate(var))
          self.evaluate(distribution.experimental_local_results(assign))
          self.assertAllClose(
              [
                  10 * 0.25 + 1.0 * (1 - 0.25),
                  11 * 0.25 + 2.0 * (1 - 0.25),
              ],
              self.evaluate(var),
          )
  
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 6 for calling the AssignMovingAveragesTest obj's underlying member method code with example usage: obj.testAssignVariable(distribution) and returns: var,  assign