library (surveyreader)
library(testthat)
context("Converting numeric values in character vectors to numeric values.")
test_that("correct numeric conversion takes place", {
expect_equal(
sum ( chr_numeric(column = as.character (c(1982, 1990, 2019,
"missing", NA, 1678)),
validate_min = 1900, validate_max = 2017,
na_id = "missing",
is_integer = FALSE ), na.rm = TRUE),
3972
)
expect_equal(
sum(is.na(chr_numeric(column = as.character (c(1982, 1990, 2019,
"missing", NA, 1678)),
validate_min = 1900, validate_max = 2017,
na_id = "missing",
is_integer = FALSE ))),
4
)
expect_equal(sum(chr_numeric(column = as.character (c("1 - egyet", "11 - tizenegyet",
"missing", "2")),
validate_min = NA, validate_max = 12,
digits = 2,
na_id = "missing",
is_integer = FALSE ), na.rm = TRUE),
14
)
})
test_that("regex filters", {
expect_equal(
sum ( chr_numeric(column = as.character (c("1.1", "1.9", "11,000",
"missing")),
validate_min = 1.5, validate_max = NA,
na_id = "missing", decimals = "point",
is_integer = FALSE ), na.rm = TRUE),
11001.9
)
expect_equal(
sum(chr_numeric(column = as.character (c("1.1", "1,9", "11.000",
"missing")),
validate_min = NA, validate_max = NA,
na_id = "missing", decimals = "comma",
is_integer = FALSE ), na.rm = TRUE),
11012.9)
})
test_that("digits work", {
expect_equal(
sum ( chr_numeric(column = as.character (c("1.1", "1.9", "11,000",
"missing")),
validate_min = 1.5, validate_max = NA,
digits = 3,
na_id = "missing", decimals = "point",
is_integer = FALSE ), na.rm = TRUE),
12.9
)
expect_equal(
sum ( chr_numeric(column <- c("1 - egyet", "11 - tizenegyet",
"missing", "2.5"),
validate_min = 1.5, validate_max = NA,
digits = 3,
na_id = "missing", decimals = "point",
is_integer = FALSE ), na.rm = TRUE),
13.5
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.