code: def test_interpolated_forwards_with_discrete_forwards(self):
      dtypes = [np.float32, np.float64]
      for dtype in dtypes:
          reference_times = tf.constant(
              [0.25, 0.5, 1.0, 2.0, 3.0], dtype=dtype
          )
          discrete_forwards = tf.constant(
              [0.05, 0.051, 0.052, 0.053, 0.055], dtype=dtype
          )
          test_times = tf.constant(
              [0.25, 0.5, 1.0, 2.0, 3.0, 1.1], dtype=dtype
          )
          expected = np.array(
              [0.0505, 0.05133333, 0.05233333, 0.054, 0.0555, 0.05241],
              dtype=dtype,
          )
          actual = self.evaluate(
              monotone_convex.interpolate_forward_rate(
                  test_times,
                  reference_times,
                  discrete_forwards=discrete_forwards,
              )
          )
          np.testing.assert_allclose(actual, expected, rtol=1e-5)
  
imports: from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  from tensorflow.python.framework import test_util
  from tf_quant_finance.rates.hagan_west import monotone_convex
label_desc: Use image node_id 7 for calling the MonotoneConvexTest obj's underlying member method code with example usage: obj.test_interpolated_forwards_with_discrete_forwards() without return types