code: def testBasic(self):
      with TestPipeline() as p:
          tokens = p | "CreateInput" >> beam.Create(self.sample_input)
          coeffs = p | "CreateCoeffs" >> beam.Create(self.coeffs)
          result = tokens | beam.ParDo(
              utils.ExponentialSmoothing(),
              beam.pvalue.AsSingleton(coeffs),
          )
          assert_that(
              result,
              equal_to(
                  [
                      ("Hello", 0.75),
                      (",", 0.75),
                      ("world", 0.75),
                      ("!", 0.75),
                      ("Bonjour", 1.5),
                      (".", 1.5),
                  ]
              ),
          )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  import logging
  import tempfile
  from absl.testing import absltest
  import apache_beam
  from apache_beam.testing.test_pipeline import TestPipeline
  from apache_beam.testing.util import assert_that
  from apache_beam.testing.util import equal_to
  import tensorflow.compat.v1
  from tensorflow_text.tools.wordpiece_vocab import utils
label_desc: Use image node_id 2 for calling the ExponentialSmoothingTest obj's underlying member method code with example usage: obj.testBasic() without return types