Nothing
test_that("validate_columns correctly identifies missing columns", {
data <- data.frame(year = 2020, citation = "Test") # Missing many required columns
expect_error(validate_columns(data),
"The imported data is missing the following required columns")
})
test_that("validate_columns correctly identifies extra columns", {
data <- data.frame(year = 2020, citation = "Test", keywords = "data", profession = "statistician",
electronic = TRUE, purpose = "research", study_design = "RCT",
outcome_var = "success", predictor_var = "experience", sample = 100,
dropout_rate = 5, setting = "urban", inclusion_criteria = "age>18",
ethnicity = "diverse", age = 30, sex = "M", income = 50000,
education = "PhD", measures = "survey", analysis = "regression",
results = "positive", limitations = "sample size",
implications = "policy change", ethical_concerns = "none",
biases = "response", notes = "N/A", extra1 = "Extra data")
expect_message(validate_columns(data, extra_columns = "extra1", drop_extra = FALSE),
"Successfully imported matrix with")
})
test_that("validate_columns drops unwanted extra columns when drop_extra = TRUE", {
data <- data.frame(year = 2020, citation = "Test", keywords = "data", profession = "statistician",
electronic = TRUE, purpose = "research", study_design = "RCT",
outcome_var = "success", predictor_var = "experience", sample = 100,
dropout_rate = 5, setting = "urban", inclusion_criteria = "age>18",
ethnicity = "diverse", age = 30, sex = "M", income = 50000,
education = "PhD", measures = "survey", analysis = "regression",
results = "positive", limitations = "sample size",
implications = "policy change", ethical_concerns = "none",
biases = "response", notes = "N/A", extra1 = "Extra data",
extra2 = "Remove me")
cleaned_data <- validate_columns(data, extra_columns = "extra1", drop_extra = TRUE)
expect_false("extra2" %in% colnames(cleaned_data)) # extra2 should be removed
expect_true("extra1" %in% colnames(cleaned_data)) # extra1 should remain
})
test_that("validate_columns works silently when silent = TRUE", {
data <- data.frame(year = 2020, citation = "Test", keywords = "data", profession = "statistician",
electronic = TRUE, purpose = "research", study_design = "RCT",
outcome_var = "success", predictor_var = "experience", sample = 100,
dropout_rate = 5, setting = "urban", inclusion_criteria = "age>18",
ethnicity = "diverse", age = 30, sex = "M", income = 50000,
education = "PhD", measures = "survey", analysis = "regression",
results = "positive", limitations = "sample size",
implications = "policy change", ethical_concerns = "none",
biases = "response", notes = "N/A", extra1 = "Extra data")
expect_silent(validate_columns(data, extra_columns = "extra1", drop_extra = FALSE, silent = TRUE))
})
test_that("validate_columns returns a correctly structured data frame", {
data <- data.frame(year = 2020, citation = "Test", keywords = "data", profession = "statistician",
electronic = TRUE, purpose = "research", study_design = "RCT",
outcome_var = "success", predictor_var = "experience", sample = 100,
dropout_rate = 5, setting = "urban", inclusion_criteria = "age>18",
ethnicity = "diverse", age = 30, sex = "M", income = 50000,
education = "PhD", measures = "survey", analysis = "regression",
results = "positive", limitations = "sample size",
implications = "policy change", ethical_concerns = "none",
biases = "response", notes = "N/A")
result <- validate_columns(data)
expect_s3_class(result, "data.frame")
expect_equal(ncol(result), length(colnames(data))) # Should retain same columns
})
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.