Nothing
test_that("Extend contract by $addExtension", {
library(MortalityTables)
mortalityTables.load("Austria_Census")
Tarif.EndowmentA = InsuranceTarif$new(
name = "Example Tariff - Endowment 1981",
type = "endowment",
tarif = "E1-RP81",
desc = "An endowment with regular premiums (standard tariff)",
mortalityTable = mort.AT.census.1981.male,
cost = initializeCosts(alpha = 0.04, gamma.contract = 0.0005, unitcosts = 10),
i = 0.03
)
Tarif.EndowmentB = Tarif.EndowmentA$createModification(
name = "Example Tariff - Endowment 2001",
tarif = "E1-RP01",
mortalityTable = mort.AT.census.2001.male,
cost = initializeCosts(alpha = 0.024, gamma.contract = 0.00075, unitcosts = 20),
i = 0.01)
ContractA = InsuranceContract$new(
tarif = Tarif.EndowmentA,
age = 40, policyPeriod = 20,
sumInsured = 10000,
contractClosing = as.Date("2000-07-01")
)
# premium-free extension
ContractB = ContractA$clone()$addExtension(id = "Verlaengerung1", contractPeriod = 5, premiumPeriod = 0)
expect_equal(ContractB$blocks$Verlaengerung1$Parameters$ContractData$sumInsured, 15117.03896)
# extension with given sumInsured resulting in 0 premiums
ContractC = ContractA$clone()$addExtension(id = "Verlaengerung1", contractPeriod = 5, sumInsured = 15117.03896)
expect_equal(ContractC$blocks$Verlaengerung1$Values$premiums[["gross"]], 0, tolerance = 1e-06)
# extension with increased sumInsured: real premiums are charged, reserves start from the existing reserve:
ContractD = ContractA$clone()$addExtension(id = "Verlaengerung1", contractPeriod = 5, sumInsured = 20000)
expect_equal(ContractD$blocks$Verlaengerung1$Values$premiums[["written"]], 315.109)
expect_equal(ContractD$blocks$Verlaengerung1$Values$reserves[["0", "contractual"]], 10000)
# extension with increased sumInsured and different tariff: check whether interest rate has really changed
ContractE = ContractA$clone()$addExtension(id = "Verlaengerung1", contractPeriod = 5, sumInsured = 20000, tarif = Tarif.EndowmentB)
expect_equal(unname(ContractE$Values$basicData[c(1,20,30,40), "InterestRate"]), c(0.03, 0.03, 0.01, 0.01))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.