library(lifecontingencies)
context("Multiple lives")
data(soa08Act)
test_that("Life Insurance", {
expect_equal(round(Axyzn(tablesList = list(soa08Act,soa08Act),x=c(60,70),status="last"),5), 0.3118) #FINAN 617
expect_equal(round(axyzn(tablesList = list(soa08Act,soa08Act),x=c(60,70),status="joint"),4), 7.5563) #FINAN 617
expect_equal(round(axyzn(tablesList = list(soa08Act,soa08Act),x=c(50,60),status="last"),4), 14.2178) #FINAN 617
expect_equal(round(axyzn(tablesList = list(soa08Act,soa08Act),x=c(30,40),status="joint",m=1,n = 10),3),7.169) #FINAN 619
expect_equal(round(axn(soa08Act,x=50)+axn(soa08Act,x=60)-axyzn(tablesList = list(soa08Act,soa08Act),x=c(50,60),status="joint")-axyzn(tablesList = list(soa08Act,soa08Act),x=c(50,60),status="last"),5),0) #GENERAL
})
test_that("SOA Illustrative Life Table", {
data("soa08Act")
tbls <- list(soa08Act, soa08Act)
f <- function(x) return(c(axyzn(tbls, x = c(x, x)),
Axyzn(tbls, x = c(x, x)) * 1000,
Axyzn(tbls, x = c(x, x), power = 2) * 1000,
axyzn(tbls, x = c(x, x+10)),
Axyzn(tbls, x = c(x, x+10)) * 1000,
Axyzn(tbls, x = c(x, x+10), power = 2) * 1000))
expect_equal(f( 40), c(13.60357, 229.9867, 84.8858, 12.47840, 293.6755, 123.8024), tolerance = 0.000001)
expect_equal(f( 47), c(12.29706, 303.9398, 130.6661, 10.93105, 381.2615, 187.4810), tolerance = 0.000001)
expect_equal(f( 53), c(10.95797, 379.7377, 186.2752, 9.42400, 466.5661, 260.4567), tolerance = 0.000001)
expect_equal(f( 61), c( 8.92659, 494.7213, 286.9070, 7.28853, 587.4417, 382.4614), tolerance = 0.000001)
expect_equal(f( 78), c( 4.57002, 741.3197, 571.4091, 3.34060, 810.9096, 670.7874), tolerance = 0.000001)
expect_equal(f( 84), c( 3.36075, 809.7690, 669.0804, 2.41251, 863.4431, 752.4921), tolerance = 0.000001)
expect_equal(f( 95), c( 1.85998, 894.7179, 804.2185, 1.39571, 920.9973, 849.6744), tolerance = 0.000001)
expect_equal(f(102), c( 1.34659, 923.7777, 854.5980, 1.11241, 937.0336, 878.3888), tolerance = 0.000001)
expect_equal(f(110), c( 1.07154, 939.3470, 882.5952, 1.00934, 942.8678, 889.0280), tolerance = 0.000001)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.