code: def test_ir_swap_par_rate_and_annuity(
      self,
      floating_leg_start_times,
      floating_leg_end_times,
      fixed_leg_payment_times,
      fixed_leg_daycount_fractions,
      reference_rate_fn,
      expected_values,
  ):
      dtype = tf.float64
      actual_parrate, actual_annuity = self.evaluate(
          tff.rates.analytics.swap.ir_swap_par_rate_and_annuity(
              floating_leg_start_times,
              floating_leg_end_times,
              fixed_leg_payment_times,
              fixed_leg_daycount_fractions,
              reference_rate_fn,
              dtype=dtype,
          )
      )
      np.testing.assert_allclose(expected_values[0], actual_parrate)
      np.testing.assert_allclose(expected_values[1], actual_annuity)
  
file_path: tf-quant-finance/tf_quant_finance/rates/analytics/swap_test.py
imports: from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  import tf_quant_finance
  from tensorflow.python.framework import test_util
label_desc: Use image node_id 5 for calling the SwapTest obj's underlying member method code with example usage: obj.test_ir_swap_par_rate_and_annuity(floating_leg_start_times, floating_leg_end_times, fixed_leg_payment_times, fixed_leg_daycount_fractions, reference_rate_fn, expected_values) without return types