Nothing
up <- ping_service("etox")
test_that("examples in the article are unchanged", {
skip_on_cran()
skip_if_not(up, "ETOX service is down")
utils::data("jagst", package = "webchem")
subs <- utils::head(unique(jagst$substance))
ids <- get_etoxid(subs, match = "best")
etox_data <- etox_basic(ids$etoxid)
#values go to test-pubchem
etox_cas <- cas(etox_data)
eqs <- etox_targets(c("8397", "7240", "8836", "7442", "7571", "8756"))
macs <- suppressWarnings(sapply(eqs, function(y) {
if (length(y) == 1 && is.na(y)) {
return(NA)
} else {
res <- y$res
min(res[res$Country_or_Region == "EEC / EU" &
res$Designation == "MAC-EQS", "Value_Target_LR"])
}
}))
expect_s3_class(ids, "data.frame")
expect_equal(names(ids), c("query", "match", "etoxid"))
expect_equal(ids$etoxid,
c("8668", "8494", NA, "8397", "7240", "7331"),
ignore_attr = TRUE)
expect_equal(
ids$match,
c("2,4-Xylenol", "4-Chlor-2-methylphenol", NA,
"Atrazin", "Benzol", "Desethylatrazin"))
expect_equal(ids$query,
c("2,4-Dimethylphenol", "4-Chlor-2-methylphenol",
"4-para-nonylphenol", "Atrazin", "Benzol", "Desethylatrazin"))
expect_type(etox_cas, "character")
expect_equal(names(etox_cas),
c("8668", "8494", NA, "8397", "7240", "7331"))
expect_equal(unname(etox_cas),c("105-67-9", "1570-64-5", NA, "1912-24-9",
"71-43-2", "6190-65-4"))
expect_equal(unname(macs), c(2.000, 50.000, 0.016, 1.000, 4.000, 0.034),
tolerance = 10^-4)
})
test_that("get_etoxid returns correct results", {
skip_on_cran()
skip_if_not(up, "ETOX service is down")
# test general
comps <- c("Triclosan", "Glyphosate")
o1 <- suppressWarnings(get_etoxid(comps, match = "best"))
o2 <- suppressWarnings(get_etoxid(comps, match = "all"))
o3 <- get_etoxid("Triclosan", match = "first")
o4 <- get_etoxid("Triclosan", match = "na")
o5 <- get_etoxid("1071-83-6", from = 'cas', match = 'first')
o6 <- get_etoxid("133483", from = "gsbl")
o7 <- get_etoxid("203-157-5", from = "ec")
do2 <- get_etoxid("Thiamethoxam")
expect_s3_class(o1, "data.frame")
expect_s3_class(o2, "data.frame")
expect_s3_class(o3, "data.frame")
expect_s3_class(o4, "data.frame")
expect_s3_class(o5, "data.frame")
expect_s3_class(o6, "data.frame")
expect_s3_class(o7, "data.frame")
expect_s3_class(do2, "data.frame")
expect_equal(o1$etoxid, c("20179", "7419"), ignore_attr = TRUE)
expect_equal(o2$etoxid, c("89236", "20179", "7419", "9051"),
ignore_attr = TRUE)
})
test_that("examples from webchem article run", {
skip_on_cran()
skip_if_not(up, "ETOX service is down")
# tests for the article
utils::data("jagst")
ids <- get_etoxid(utils::head(unique(jagst$substance),6), match = "best")
expect_s3_class(ids, "data.frame")
expect_equal(ids$etoxid, c("8668","8494",NA,"8397","7240","7331"),
ignore_attr = TRUE)
expect_equal(ids$match, c(
"2,4-Xylenol",
"4-Chlor-2-methylphenol",
NA,
"Atrazin",
"Benzol",
"Desethylatrazin"
), ignore_attr = TRUE)
expect_equal(ids$query, c(
"2,4-Dimethylphenol",
"4-Chlor-2-methylphenol",
"4-para-nonylphenol",
"Atrazin",
"Benzol",
"Desethylatrazin"
), ignore_attr = TRUE)
})
test_that("etox_basic returns correct results", {
skip_on_cran()
skip_if_not(up, "ETOX service is down")
ids <- c("20179", "9051", "xxxxx", NA)
o1 <- etox_basic(ids)
expect_s3_class(o1, 'list')
expect_equal(length(o1), 4)
expect_equal(o1[['20179']]$cas, "3380-34-5")
expect_equal(length(o1[['20179']]), 5)
expect_s3_class(o1[['20179']]$synonyms, 'data.frame')
expect_true(is.na(o1[[3]]))
expect_true(is.na(o1[[4]]))
})
test_that("etox_targets returns correct results", {
skip_on_cran()
skip_if_not(up, "ETOX service is down")
ids <- c("20179", "9051", "xxxxx", NA)
o1 <- etox_targets(ids)
expect_type(o1, 'list')
expect_equal(length(o1), 4)
expect_equal(o1[['20179']]$res$Substance[1], "Triclosan")
expect_equal(ncol(o1[['20179']]$res), 33)
expect_s3_class(o1[['20179']]$res, 'data.frame')
expect_true(is.na(o1[[3]]))
expect_true(is.na(o1[[4]]))
})
test_that("etox_tests returns correct results", {
skip_on_cran()
skip_if_not(up, "ETOX service is down")
ids <- c("20179", "9051", "xxxxx", NA)
o1 <- etox_tests(ids)
expect_type(o1, 'list')
expect_equal(length(o1), 4)
expect_equal(o1[['20179']]$res$Substance[1], "Triclosan")
expect_equal(ncol(o1[['20179']]$res), 41)
expect_s3_class(o1[['20179']]$res, 'data.frame')
expect_true(is.na(o1[[3]]))
expect_true(is.na(o1[[4]]))
})
test_that("etox integration tests", {
skip_on_cran()
skip_if_not(up, "ETOX service is down")
comps <- c('Triclosan', 'Glyphosate', 'xxxx')
ids_b <- get_etoxid(comps, match = 'best')
ids_a <- get_etoxid(comps, match = 'all')
int1 <- etox_basic(ids_b$etoxid)
int2 <- etox_targets(ids_b$etoxid)
int3 <- etox_tests(ids_b$etoxid)
expect_type(int1, 'list')
expect_equal(length(int1), 3)
expect_equal(int1[['20179']]$cas, "3380-34-5")
expect_equal(length(int1[['20179']]), 5)
expect_s3_class(int1[['20179']]$synonyms, 'data.frame')
expect_true(is.na(int1[[3]]))
expect_type(int2, 'list')
expect_equal(length(int2), 3)
expect_equal(int2[['20179']]$res$Substance[1], "Triclosan")
expect_equal(ncol(int2[['20179']]$res), 33)
expect_s3_class(int2[['20179']]$res, 'data.frame')
expect_true(is.na(int2[[3]]))
expect_type(int3, 'list')
expect_equal(length(int3), 3)
expect_equal(int3[['20179']]$res$Substance[1], "Triclosan")
expect_equal(ncol(int3[['20179']]$res), 41)
expect_s3_class(int3[['20179']]$res, 'data.frame')
expect_true(is.na(int3[[3]]))
})
test_that("etox functions handle NAs", {
expect_equal(is.na(get_etoxid(NA)$match), TRUE)
})
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.