code: def test_cashflow_times_cashflow_before_settelment_error(self, dtype):
      with self.assertRaises(tf.errors.InvalidArgumentError):
          self.evaluate(
              bond_curve.bond_curve(
                  bond_cashflows=[
                      np.array([12.5, 12.5, 12.5, 1012.5], dtype=dtype),
                      np.array([30.0, 30.0, 30.0, 1030.0], dtype=dtype),
                  ],
                  bond_cashflow_times=[
                      np.array([0.25, 0.5, 0.75, 1.0], dtype=dtype),
                      np.array([0.5, 1.0, 1.5, 2.0], dtype=dtype),
                  ],
                  present_values=np.array([999.0, 1022.0], dtype=dtype),
                  present_values_settlement_times=np.array(
                      [0.25, 0.25], dtype=dtype
                  ),
                  validate_args=True,
                  dtype=dtype,
              )
          )
  
imports: import math
  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 bond_curve
  from tf_quant_finance.rates.hagan_west import monotone_convex
label_desc: Use image node_id 1 for calling the BondCurveTest obj's underlying member method code with example usage: obj.test_cashflow_times_cashflow_before_settelment_error(dtype) without return types