Nothing
test_that("a numeric data frame creates a Biogeme database", {
data <- data.frame(
CHOICE = c(1, 2, 1),
TIME = c(10, 20, 30),
COST = c(1.5, 2.5, 3.5),
row.names = c("a", "b", "c")
)
database <- biogeme_database("test_data", data)
expect_s3_class(database, "biogeme_database")
expect_equal(database$name, "test_data")
expect_equal(nrow(database$data), 3L)
expect_equal(rownames(database$data), as.character(seq_len(3)))
expect_equal(biogeme_database_columns(database), c("CHOICE", "TIME", "COST"))
expect_true(biogeme_database_has_column(database, "TIME"))
expect_false(biogeme_database_has_column(database, "MISSING"))
})
test_that("the database copies its input data", {
data <- data.frame(x = c(1, 2))
database <- biogeme_database("copy_test", data)
data$x[[1]] <- 99
expect_equal(database$data$x, c(1, 2))
})
test_that("database validation catches malformed data", {
expect_error(biogeme_database("x", 1:3), "data.frame")
expect_error(biogeme_database("x", data.frame()), "at least one row")
expect_error(biogeme_database("x", data.frame(x = numeric())), "at least one row")
expect_error(
biogeme_database("x", data.frame(x = 1:2, label = c("a", "b"))),
"numeric"
)
expect_error(
biogeme_database("x", setNames(data.frame(a = 1:2, b = 2:3), c("a", "a"))),
"unique"
)
expect_error(biogeme_database("", data.frame(x = 1:2)), "name")
})
test_that("database printing is informative", {
database <- biogeme_database("print_test", data.frame(x = 1:2))
expect_match(format(database), "print_test")
expect_match(format(database), "2 rows")
})
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.