test_that("Annuity Cash Flows", {
library(MortalityTables)
mortalityTables.load("Austria_Annuities_AVOe2005R")
Tarif.Annuity = InsuranceTarif$new(
name = "Example Tariff - Immediate Annuity",
type = "annuity",
tarif = "Ann1",
desc = "An annuity with single-premium",
premiumPeriod = 1,
mortalityTable = AVOe2005R.unisex,
i = 0.005
)
Contract.Annuity = InsuranceContract$new(
tarif = Tarif.Annuity,
age = 65, YOB = 1955,
sumInsured = 1200,
policyPeriod = 55,
contractClosing = as.Date("2020-09-01"),
calculate = "cashflows"
)
expect_equal(Contract.Annuity$Parameters$ContractData$policyPeriod, 55)
expect_equal(Contract.Annuity$Parameters$ContractData$deferralPeriod, 0)
expect_equal(Contract.Annuity$Parameters$ContractData$premiumPeriod, 1)
expect_true(all(Contract.Annuity$Values$cashFlows %>% select(-premiums_advance, -survival_advance) == 0))
# 1 year premium cash flow
expect_equal(Contract.Annuity$Values$cashFlows$premiums_advance, c(1, rep(0, 55)))
# premium payment start immediately for the whole contract period
expect_equal(Contract.Annuity$Values$cashFlows$survival_advance, c(rep(1, 55), 0))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.