test_that("Function cas works and generates the correct length", {
expect_length(cas(10), 10)
})
test_that("Converting either a numerical or a character to cas, results in the same object", {
expect_identical(as.cas(71432L), as.cas("71432"))
})
test_that("Hyphenation can be omitted in CAS", {
expect_identical(as.cas("71-43-2"), as.cas("71432"))
})
test_that("Concatenating cas objects works correctly", {
expect_equal(length(c(as.cas(71432L), "71432")), 2)
})
test_that("is.cas doesn't throw errors", {
expect_true(is.cas(c(as.cas(71432L), "71432")))
})
test_that("Extract and replace methods don't throw errors for cas objects", {
expect_true({
cas_data <- cas(100)
cas_data[4:10]
cas_data[[50]]
cas_data[3:4] <- as.cas(rep("71432", 2))
cas_data[[50]] <- as.cas(11)
TRUE
})
})
test_that("as.data.frame.cas doesn't throw errors", {
expect_true({
"data.frame" %in% class(as.data.frame(c(cas(10), as.cas("71432"))))
})
})
test_that("as.integer.cas returns an integer", {
expect_type(as.integer(as.cas("71432")), "integer")
})
test_that("as.double.cas returns a double", {
expect_type(as.double(as.cas("71432")), "double")
})
test_that("as.character.cas returns a character", {
expect_type(as.character(as.cas("71432")), "character")
})
test_that("as.list.cas returns a list", {
expect_type(as.list(as.cas(rep("71432", 4))), "list")
})
test_that("as.cas returns a cas", {
expect_s3_class(as.cas("71432"), "cas")
})
test_that("Huge CAS to integer returns NA", {
expect_true({
huge_cas <- as.cas("9999999-99-5")
my_int <- as.integer(huge_cas) |> suppressWarnings()
is.na(my_int)
})
})
test_that("Simple S3 functions work", {
expect_no_error({
mysink <- tempfile()
sink(mysink)
my_cas <- as.cas("71432")
print.cas(my_cas)
print.cas(cas(0))
show.cas(my_cas)
sink()
file.remove(mysink)
})
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.