def test_transcient(self): S = np.linspace(S0 - 10, S0 + 10, 21) V = np.linspace(S0 + 10, S0 - 10, 21) payoff = Annuity(T, np.linspace(0, 1, N // 2 + 1), 1, 10) payoffI = AnnuityI(T, np.linspace(0, 1, N // 2 + 1), 1, 10) pay = True for t in np.linspace(0, 1, N, endpoint=False): if pay: C = 1 else: C = 0 pay = not pay self.assertTrue((payoff.transient(t, V, S) == V).all()) self.assertTrue((payoffI.transient(t, V, S) == V + C).all()) self.assertRaises(AssertionError, payoff.transient, T, V, S) self.assertRaises(AssertionError, payoffI.transient, T, V, S)