context("as_hxl")
test_that("can parse the airports sample", {
expect_silent(result <- as_hxl(read.csv("samples/ws-airports.csv")))
expect_equal(4, nrow(result))
expect_s3_class(result, "tbl_hxl")
})
test_that("find_schema_row can detect schema row", {
tbl <- tibble::as_tibble(read.csv("samples/ws-airports.csv"))
expect_equal(1, find_schema_row(tbl))
})
test_that("is_valid_tag can detect a tag", {
expect_true(is_valid_tag("#adm1"))
expect_true(is_valid_tag("#adm1+fr"))
expect_true(is_valid_tag("#adm1-fr"))
expect_true(is_valid_tag(" #adm1+fr "))
expect_true(is_valid_tag("#meta +url +wikipedia"))
expect_false(is_valid_tag("#1adm1+fr"))
expect_false(is_valid_tag("1a#dm1+fr"))
expect_false(is_valid_tag("1a#dm1+fr"))
})
test_that("schema_to_df converts a schema to df", {
schema_vector <- c("#adm1", "#adm2 +code", "#meta+url +wikipedia")
result <- schema_to_df(schema_vector) %>%
dplyr::arrange(tag, attribute)
expect_true(tibble::is.tibble(result))
expect_equal(sort(unique(result$tag)), c("adm1", "adm2", "meta"))
expect_equal(result$attribute, c(NA_character_, "code", "url", "wikipedia"))
expect_equal(result$column_idx, c(1, 2, 3, 3))
})
test_that("schema_df_to_str converts a schema df to character", {
schema_vector <- c(NA_character_, "#adm1",
"#adm2 +code", "#meta+url +wikipedia")
s <- schema_to_df(schema_vector)
result <- schema_df_to_str(4, s)
expect_equal(result, c(NA_character_, "#adm1",
"#adm2+code", "#meta+url+wikipedia"))
})
test_that("it warns if no tags are present", {
expect_warning(as_hxl(cars))
})
test_that("it converts the cols into correct format", {
result <- as_hxl(read.csv("samples/ws-airports.csv"))
expect_true(is.integer(result$id))
expect_true(is.character(result$ident))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.