#both these should be NA
test_that("valid CHI passes", {
expect_equal(is.na(chi_check("1904851231")), is.na(NA))
})
#invalid day
test_that("day test works", {
expect_equal(chi_check("3201209999"), "invalid date")
})
#invalid month
test_that("month test works", {
expect_equal(chi_check("0113209999"), "invalid date" )
})
#invalid day/month
test_that("day/month test works", {
expect_equal(chi_check("3213209999"), "invalid date" )
})
#punctuation character
test_that("punctuation is invalid", {
expect_equal(chi_check("?123456789"), "invalid character" )
})
#string character
test_that("string is invalid", {
expect_equal(chi_check("a123456789"), "invalid character" )
})
#input too short
test_that("length check works", {
expect_equal(chi_check("123"), "too short" )
})
#input too long
test_that("length check works", {
expect_equal(chi_check("12345678901"), "too long" )
})
#number class is invalid
test_that("length check works", {
expect_error(chi_check(123), "input should be character class - try adding col_types = 'c' to read_csv")
})
#zeros
test_that("zero day fails", {
expect_equal(chi_check("0011221234"), "invalid date")
})
#zeros
test_that("zero month fails", {
expect_equal(chi_check("1100221234"), "invalid date")
})
#zeros
test_that("zero day/month fails", {
expect_equal(chi_check("0000221234"), "invalid date")
})
#invalid check no
test_that("invalid CHI fails", {
expect_equal(chi_check("1904851232"), "invalid checksum")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.