test_that("standard_stages works correctly", {
## mpm without inter-reproductive stage
repro_stages <- apply(mat_f, 2, function(x) any(x > 0))
matrix_stages <- c("active", "active", "active", "active")
r <- mpm_rearrange(mat_u, mat_f, mat_c, repro_stages, matrix_stages)
x <- standard_stages(r$matF, r$repro_stages, r$matrix_stages)
expect_type(x, "list")
expect_length(x, 4)
# make sure all stages in original mpm represented in output
stages <- as.numeric(unlist(x))
stages <- stages[!is.na(stages)]
expect_true(all(seq_len(nrow(r$matU)) %in% stages))
## mpm with inter-reproductive stage
repro_stages <- apply(mat_f_inter, 2, function(x) any(x > 0))
matrix_stages <- c("prop", "active", "active", "active", "active")
r <- mpm_rearrange(mat_u_inter, mat_f_inter,
repro_stages = repro_stages,
matrix_stages = matrix_stages
)
x <- standard_stages(r$matF, r$repro_stages, r$matrix_stages)
expect_type(x, "list")
expect_length(x, 4)
# make sure all stages in original mpm represented in output
stages <- as.numeric(unlist(x))
stages <- stages[!is.na(stages)]
expect_true(all(seq_len(nrow(r$matU)) %in% stages))
## mpm with all stages reproductive
repro_stages <- apply(mat_f_allrep, 2, function(x) any(x > 0))
matrix_stages <- c("active", "active")
r <- mpm_rearrange(mat_u_allrep, mat_f_allrep,
repro_stages = repro_stages,
matrix_stages = matrix_stages
)
x <- standard_stages(r$matF, r$repro_stages, r$matrix_stages)
expect_type(x, "list")
expect_length(x, 4)
expect_true(is.na(x$propStages))
expect_true(is.na(x$preRepStages))
expect_true(is.na(x$postRepStages))
# make sure all stages in original mpm represented in output
expect_true(all(seq_len(nrow(r$matU)) %in% stages))
})
test_that("standard_stages warns and fails gracefully", {
# arguments of different dimension
repro_stages <- apply(mat_f, 2, function(x) any(x > 0))
matrix_stages <- c("prop", "active", "active")
expect_error(standard_stages(mat_f, repro_stages, matrix_stages))
# matF contains NA
repro_stages <- apply(mat_f_na, 2, function(x) any(x > 0))
matrix_stages <- c("prop", "active", "active", "active")
expect_error(standard_stages(mat_f_na, repro_stages, matrix_stages))
# no reproductive stages
repro_stages <- apply(mat_f_zero, 2, function(x) any(x > 0))
matrix_stages <- c("active", "active", "active", "active")
expect_error(standard_stages(mat_f_zero, repro_stages, matrix_stages))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.