Nothing
test_that("camel_index works with data frames", {
result <- camel_index(camel_2015, camel_2022)
expect_s3_class(result, "camel_index")
expect_equal(nrow(result$index_table), nrow(camel_2015))
expect_named(result$index_table, c("bank", "I_mw", "PD"))
expect_type(result$mw_lasp, "double")
expect_type(result$mw_pash, "double")
expect_type(result$I_mw, "double")
expect_type(result$PD, "double")
expect_length(result$weights_base, 5)
expect_length(result$weights_current, 5)
})
test_that("camel_index works with matrices and bank_names", {
base_mat <- as.matrix(camel_2015[, -1])
curr_mat <- as.matrix(camel_2022[, -1])
banks <- camel_2015$Bank
result <- camel_index(base_mat, curr_mat, bank_names = banks)
expect_s3_class(result, "camel_index")
expect_equal(result$bank_names, as.character(banks))
})
test_that("camel_index validates input dimensions", {
expect_error(
camel_index(camel_2015, camel_2015[1:5, ]),
"Dimension mismatch"
)
})
test_that("camel_index requires bank_names for matrices", {
base_mat <- as.matrix(camel_2015[, -1])
curr_mat <- as.matrix(camel_2022[, -1])
expect_error(
camel_index(base_mat, curr_mat),
"`bank_names` is required"
)
})
test_that("camel_index handles single-column data frames", {
expect_error(
camel_index(data.frame(Bank = "A"), data.frame(Bank = "A")),
"must have at least 2 columns"
)
})
test_that("camel_index returns expected structure", {
result <- camel_index(camel_2015, camel_2022)
expected_names <- c(
"index_table", "mw_lasp", "mw_pash", "I_mw", "PD",
"weights_base", "weights_current", "eigenvalues_base",
"eigenvalues_current", "n_factors_base", "n_factors_current",
"fa_base", "fa_current", "relativity_data", "base_data",
"current_data", "bank_names", "n_factors", "call"
)
expect_named(result, expected_names)
})
test_that("camel_index print method works", {
result <- camel_index(camel_2015, camel_2022)
expect_output(print(result))
})
test_that("camel_index summary method works", {
result <- camel_index(camel_2015, camel_2022)
expect_snapshot(summary(result))
})
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.