code: def _compare_window_fns(
      self,
      np_window_fn,
      tf_window_fn,
      window_length,
      periodic,
      tf_dtype_tol,
  ):
      tf_dtype, tol = tf_dtype_tol
      np_dtype = tf_dtype.as_numpy_dtype
      expected = np_window_fn(
          window_length, symmetric=not periodic
      ).astype(np_dtype)
      actual = tf_window_fn(
          window_length, periodic=periodic, dtype=tf_dtype
      )
      self.assertAllClose(expected, actual, tol, tol)
  
imports: import functools
  import itertools
  from absl.testing import parameterized
  import numpy
  from tensorflow.python.eager import context
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor_spec
  from tensorflow.python.framework import test_util
  from tensorflow.python.kernel_tests.signal import test_util
  from tensorflow.python.ops.signal import window_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 2 for calling the WindowOpsTest obj's underlying member method code with example usage: obj._compare_window_fns(np_window_fn, tf_window_fn, window_length, periodic, tf_dtype_tol) without return types