context("Survival") for(test in testlist) { # Create the samc object samc_obj <- test$samc # Extract Q Q <- samc_obj$q_matrix Q <- as.matrix(Q) # Create an indentity matrix I <- diag(nrow(Q)) # Fundamental matrix F_mat <- solve(I - Q) # Prepare the occupancy data occ_ras <- raster::raster(test$init) pv <- as.vector(occ_ras) pv <- pv[is.finite(pv)] # Run the tests test_that("Testing survival(samc)", { r1 <- survival(samc_obj) v1 <- numeric(nrow(Q)) v1[] <- 1 r2 <- F_mat %*% v1 # Verify equality expect_equal(as.vector(r1), as.vector(r2)) }) test_that("Testing survival(samc, init)", { # Calculate psi*z using survival(samc, init) r1 <- survival(samc_obj, test$init) v1 <- numeric(nrow(Q)) v1[] <- 1 r2 <- pv %*% F_mat %*% v1 # Verify equality expect_equal(as.vector(r1), as.vector(r2)) }) }