Nothing
#-------------------------------------------------------------------------------
# old tests using drvr = "example"
#-------------------------------------------------------------------------------
tcplConf(drvr="example")
if (!interactive()) pdf(NULL)
test_that("round_n function works", {
expect_equal(
round_n(c(1234.5678, NA_real_, 0.3333),3),
c("1.2e+03",NA,"0.333"))
})
test_that("one m4id tcplPlot works", {
skip()
lvl = 5
verbose = TRUE
l4 <- tcplLoadData(lvl = 4, type = "mc", add.fld = TRUE)
if (lvl >= 5L) {
l5 <- mc_vignette[["mc5"]]
dat <- l4[l5, on = c("m4id","aeid")]
dat <- dat[,!c("tp","ga","q","la","ac50_loss")]
}
agg <- tcplLoadData(lvl = "agg", type = "mc")
conc_resp_table <- agg %>%
group_by(m4id) %>%
summarise(conc = list(conc), resp = list(resp)) %>%
as.data.table()
dat <- dat[conc_resp_table, on = "m4id"]
dat <- dat[,normalized_data_type:="log2_fold_induction"]
dat <- dat[spid == "01504209"]
mc5_tcplplot <- tcplggplot2(dat,verbose = verbose)
expect_no_warning(mc5_tcplplot)
vdiffr::expect_doppelganger("test_output_482273", mc5_tcplplot)
})
# needs updates or removal; new spid is not in downward direction
test_that("negative direction plot has negative bmr and cutoff lines", {
skip()
lvl = 5
verbose = FALSE
l4 <- tcplLoadData(lvl = 4, type = "mc", add.fld = TRUE)
if (lvl >= 5L) {
l5 <- mc_vignette[["mc5"]]
dat <- l4[l5, on = c("m4id","aeid")]
dat <- dat[,!c("tp","ga","q","la","ac50_loss")]
}
agg <- tcplLoadData(lvl = "agg", type = "mc")
conc_resp_table <- agg %>%
group_by(m4id) %>%
summarise(conc = list(conc), resp = list(resp)) %>%
as.data.table()
dat <- dat[conc_resp_table, on = "m4id"]
dat <- dat[,normalized_data_type:="log2_fold_induction"]
dat <- dat[spid == "01504209"]
mc5_tcplplot <- tcplggplot2(dat,verbose = verbose)
vdiffr::expect_doppelganger("negative_cutoff_bmr", mc5_tcplplot)
})
#-------------------------------------------------------------------------------
# new tests using drvr = "MySQL" and mocking
#-------------------------------------------------------------------------------
# Format
# test_that("something works", {
# data("mc_test")
# mocked <- mc_test$mc0_by_m0id # change this
# local_mocked_bindings(
# tcplQuery = function(query, db, tbl) {
# if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
# else mocked[query][[1]]
# }
# )
# tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
# })
#-------------------------------------------------------------------------------
# Test tcplPlot - mc
#-------------------------------------------------------------------------------
test_that("tcplPlot works for single m4id", {
data("mc_test")
mocked <- mc_test$plot_single_m4id
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "mc", fld = "m4id", val = mocked$m4id, output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "mc", fld = "m4id", val = mocked$m4id, output = "pdf", verbose = FALSE, hide_losing_models = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
expect_no_error(tcplPlot(type = "mc", fld = "m4id", val = mocked$m4id, output = "console", verbose = TRUE, flags = TRUE, multi = TRUE))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for multiple m4id", {
data("mc_test")
mocked <- mc_test$plot_multiple_m4id
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "mc", fld = "m4id", val = mocked$m4id, output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "mc", fld = "m4id", val = mocked$m4id, output = "pdf", verbose = FALSE, hide_losing_models = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
# console does not work with length(val) > 1
expect_error(tcplPlot(type = "mc", fld = "m4id", val = mocked$m4id, output = "console", verbose = TRUE, flags = TRUE, multi = TRUE),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 2")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for single aeid mc", {
data("mc_test")
mocked <- mc_test$plot_single_aeid
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "mc", fld = "aeid", val = mocked$aeid, output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "mc", fld = "aeid", val = mocked$aeid, output = "pdf", verbose = FALSE, hide_losing_models = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
# console does not work with length(val) > 1
expect_error(tcplPlot(type = "mc", fld = "aeid", val = mocked$aeid, output = "console", verbose = TRUE, flags = TRUE, multi = TRUE),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 2")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for multiple aeid mc", {
data("mc_test")
mocked <- mc_test$plot_multiple_aeid
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "mc", fld = "aeid", val = mocked$aeid, output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "mc", fld = "aeid", val = mocked$aeid, output = "pdf", by = "aeid", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
expect_no_error(tcplPlot(type = "mc", fld = "aeid", val = mocked$aeid, output = "pdf", verbose = FALSE, hide_losing_models = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot3"))
expect_no_error(tcplPlot(type = "mc", fld = "aeid", val = mocked$aeid, output = "pdf", verbose = FALSE, hide_losing_models = TRUE, by = "aeid", multi = TRUE, fileprefix = "temp_tcplPlot4"))
# console does not work with length(val) > 1
expect_error(tcplPlot(type = "mc", fld = "aeid", val = mocked$aeid, output = "console", verbose = TRUE, flags = TRUE, multi = TRUE),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 4")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 6) # exactly six files created (2 from `by = "aeid"` output)
file.remove(fn) # clean up
})
test_that("tcplPlot works for single spid/aeid mc", {
data("mc_test")
mocked <- mc_test$plot_single_spid
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "mc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "mc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), output = "pdf", verbose = FALSE, hide_losing_models = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
expect_no_error(tcplPlot(type = "mc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), output = "console", verbose = TRUE, hide_losing_models = TRUE, multi = TRUE))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for multiple spid/aeid mc", {
data("mc_test")
mocked <- mc_test$plot_multiple_spid
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "mc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "mc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), output = "pdf", verbose = FALSE, hide_losing_models = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
# console does not work with length(val) > 1
expect_error(tcplPlot(type = "mc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), output = "console", verbose = TRUE, flags = TRUE, multi = TRUE),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 2")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for single m4id compared", {
data("mc_test")
mocked <- mc_test$plot_single_m4id_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "mc", fld = "m4id", val = mocked$m4id, compare = "chnm", output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "mc", fld = "m4id", val = mocked$m4id, compare = "chnm", output = "pdf", verbose = FALSE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
expect_no_error(tcplPlot(type = "mc", fld = "m4id", val = mocked$m4id, compare = "chnm", output = "console", verbose = TRUE, flags = TRUE, multi = TRUE))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for multiple m4id compared", {
data("mc_test")
mocked <- mc_test$plot_multiple_m4id_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "mc", fld = "m4id", val = mocked$m4id, compare = "chnm", output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(suppressWarnings(tcplPlot(type = "mc", fld = "m4id", val = mocked$m4id, compare = "chnm", output = "pdf", verbose = FALSE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot2")))
# console does not work with length(val) > 1
expect_error(tcplPlot(type = "mc", fld = "m4id", val = mocked$m4id, compare = "chnm", output = "console", verbose = TRUE, flags = TRUE, multi = TRUE),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 2")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for single aeid compared mc", {
data("mc_test")
mocked <- mc_test$plot_single_aeid_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "mc", fld = "aeid", val = mocked$aeid, compare = "chnm", output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "mc", fld = "aeid", val = mocked$aeid, compare = "chnm", output = "pdf", verbose = FALSE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
# console does not work with length(val) > 1
expect_error(tcplPlot(type = "mc", fld = "aeid", val = mocked$aeid, compare = "chnm", output = "console", verbose = TRUE, flags = TRUE, multi = TRUE),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 2")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for multiple aeid compared mc", {
data("mc_test")
mocked <- mc_test$plot_multiple_aeid_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "mc", fld = "aeid", val = mocked$aeid, compare = c("chnm", "model_type"), output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(suppressWarnings(tcplPlot(type = "mc", fld = "aeid", val = mocked$aeid, compare = c("chnm", "model_type"), output = "pdf", verbose = FALSE, multi = TRUE, flags = TRUE, fileprefix = "temp_tcplPlot2")))
# console does not work with length(val) > 1
expect_error(tcplPlot(type = "mc", fld = "aeid", val = mocked$aeid, compare = c("chnm", "model_type"), output = "console", verbose = TRUE, flags = TRUE, multi = TRUE),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 4")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for single spid/aeid compared mc", {
data("mc_test")
mocked <- mc_test$plot_single_spid_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "mc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), compare = "chnm", output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "mc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), compare = "chnm", output = "pdf", verbose = FALSE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
expect_no_error(tcplPlot(type = "mc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), compare = "chnm", output = "console", verbose = TRUE, flags = TRUE, multi = TRUE))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for multiple spid/aeid compared mc", {
data("mc_test")
mocked <- mc_test$plot_multiple_spid_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "mc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), compare = "chnm", output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(suppressWarnings(tcplPlot(type = "mc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), compare = "chnm", output = "pdf", verbose = FALSE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot2")))
# console does not work with length(val) > 1
expect_error(tcplPlot(type = "mc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), compare = "chnm", output = "console", verbose = TRUE, flags = TRUE, multi = TRUE),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 2")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for large comparisons greater than group.threshold mc", {
data("mc_test")
mocked <- mc_test$plot_multiple_aeid_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "mc", fld = "aeid", val = mocked$aeid, compare = "normalized_data_type", output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1", group.threshold = 8))
expect_no_error(tcplPlot(type = "mc", fld = "aeid", val = mocked$aeid, compare = "normalized_data_type", output = "pdf", verbose = FALSE, multi = TRUE, flags = TRUE, fileprefix = "temp_tcplPlot2", group.threshold = 8, group.fld = "model_type"))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for large comparisons greater than group.threshold sc", {
data("sc_test")
mocked <- sc_test$plot_multiple_aeid_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "sc", fld = "aeid", val = mocked$aeid, compare = "normalized_data_type", output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1", group.threshold = 12))
expect_no_error(tcplPlot(type = "sc", fld = "aeid", val = mocked$aeid, compare = "normalized_data_type", output = "pdf", verbose = FALSE, multi = TRUE, fileprefix = "temp_tcplPlot2", group.threshold = 12, group.fld = "coff"))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly one file created
file.remove(fn) # clean up
})
test_that("tcplPlot errors if 'compare' or 'by' are not fields in 'dat'", {
data("mc_test")
mocked <- mc_test$plot_single_m4id_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_error(tcplPlot(val = mocked$m4id, compare = "chnm", by = "aid", output = "pdf", fileprefix = "temp_tcplPlot1"),
"'by' must be a valid field contained in dat.")
expect_error(tcplPlot(val = mocked$m4id, compare = "dtxsid", by = "aeid", output = "pdf", fileprefix = "temp_tcplPlot2"),
"'compare' must all be valid field\\(s\\) contained in dat.")
})
#-------------------------------------------------------------------------------
# Test tcplPlot - sc
#-------------------------------------------------------------------------------
test_that("tcplPlot works for single s2id", {
data("sc_test")
mocked <- sc_test$plot_single_s2id
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") sc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "sc", fld = "s2id", val = mocked$s2id, output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "sc", fld = "s2id", val = mocked$s2id, output = "pdf", verbose = FALSE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
expect_no_error(tcplPlot(type = "sc", fld = "s2id", val = mocked$s2id, output = "console", verbose = TRUE, multi = TRUE))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for multiple s2id", {
data("sc_test")
mocked <- sc_test$plot_multiple_s2id
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") sc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "sc", fld = "s2id", val = mocked$s2id, output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "sc", fld = "s2id", val = mocked$s2id, output = "pdf", verbose = FALSE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
# console does not work with length(val) > 1
expect_error(tcplPlot(type = "sc", fld = "s2id", val = mocked$s2id, output = "console", verbose = TRUE, multi = TRUE),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 2")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for single aeid sc", {
data("sc_test")
mocked <- sc_test$plot_single_aeid
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") sc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "sc", fld = "aeid", val = mocked$aeid, output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "sc", fld = "aeid", val = mocked$aeid, output = "pdf", verbose = FALSE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
# console does not work with length(val) > 1
expect_error(tcplPlot(type = "sc", fld = "aeid", val = mocked$aeid, output = "console", verbose = TRUE, multi = TRUE),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 7")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for multiple aeid sc", {
data("sc_test")
mocked <- sc_test$plot_multiple_aeid
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") sc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "sc", fld = "aeid", val = mocked$aeid, output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "sc", fld = "aeid", val = mocked$aeid, output = "pdf", verbose = FALSE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
expect_no_error(tcplPlot(type = "sc", fld = "aeid", val = mocked$aeid, by = "aeid", output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot3"))
# console does not work with length(val) > 1
expect_error(tcplPlot(type = "sc", fld = "aeid", val = mocked$aeid, output = "console", verbose = TRUE, multi = TRUE),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 14")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 4) # exactly four filea created
file.remove(fn) # clean up
})
test_that("tcplPlot works for single spid/aeid sc", {
data("sc_test")
mocked <- sc_test$plot_single_spid
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") sc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "sc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "sc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), output = "pdf", verbose = FALSE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
expect_no_error(tcplPlot(type = "sc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), output = "console", verbose = TRUE, multi = TRUE))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for multiple spid/aeid sc", {
data("sc_test")
mocked <- sc_test$plot_multiple_spid
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") sc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "sc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "sc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), output = "pdf", verbose = FALSE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
# console does not work with length(val) > 1
expect_error(tcplPlot(type = "sc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), output = "console", verbose = TRUE, multi = TRUE),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 2")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for single s2id compared", {
data("sc_test")
mocked <- sc_test$plot_single_s2id_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") sc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "sc", fld = "s2id", val = mocked$s2id, compare = "spid", output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "sc", fld = "s2id", val = mocked$s2id, compare = "spid", output = "pdf", verbose = FALSE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
expect_no_error(tcplPlot(type = "sc", fld = "s2id", val = mocked$s2id, compare = "spid", output = "console", verbose = TRUE, multi = TRUE))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for multiple s2id compared", {
data("sc_test")
mocked <- sc_test$plot_multiple_s2id_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") sc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "sc", fld = "s2id", val = mocked$s2id, compare = "spid", output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "sc", fld = "s2id", val = mocked$s2id, compare = "spid", output = "pdf", verbose = FALSE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
# console does not work with length(val) > 1
expect_error(tcplPlot(type = "sc", fld = "s2id", val = mocked$s2id, compare = "spid", output = "console", verbose = TRUE, multi = TRUE),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 2")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for single aeid compared sc", {
data("sc_test")
mocked <- sc_test$plot_single_aeid_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") sc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "sc", fld = "aeid", val = mocked$aeid, compare = "spid", output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "sc", fld = "aeid", val = mocked$aeid, compare = "spid", output = "pdf", verbose = FALSE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
# console does not work with length(val) > 1
expect_error(tcplPlot(type = "sc", fld = "aeid", val = mocked$aeid, compare = "spid", output = "console", verbose = TRUE, multi = TRUE),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 7")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for multiple aeid compared sc", {
data("sc_test")
mocked <- sc_test$plot_multiple_aeid_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") sc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "sc", fld = "aeid", val = mocked$aeid, compare = "spid", output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "sc", fld = "aeid", val = mocked$aeid, compare = "spid", output = "pdf", verbose = FALSE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
# console does not work with length(val) > 1
expect_error(tcplPlot(type = "sc", fld = "aeid", val = mocked$aeid, compare = "spid", output = "console", verbose = TRUE, multi = TRUE),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 7")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for single spid/aeid compared sc", {
data("sc_test")
mocked <- sc_test$plot_single_spid_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") sc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "sc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), compare = "spid", output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "sc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), compare = "spid", output = "pdf", verbose = FALSE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
expect_no_error(tcplPlot(type = "sc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), compare = "spid", output = "console", verbose = TRUE, multi = TRUE))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("tcplPlot works for multiple spid/aeid compared sc", {
data("sc_test")
mocked <- sc_test$plot_multiple_spid_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") sc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(tcplPlot(type = "sc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), compare = "spid", output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
expect_no_error(tcplPlot(type = "sc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), compare = "spid", output = "pdf", verbose = FALSE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
# console does not work with length(val) > 1
expect_error(tcplPlot(type = "sc", fld = c("spid", "aeid"), val = list(mocked$spid, mocked$aeid), compare = "spid", output = "console", verbose = TRUE, multi = TRUE),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 2")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
#-------------------------------------------------------------------------------
# Stand-alone plotting
#-------------------------------------------------------------------------------
test_that("standalone plotting works in mc", {
data("mc_test")
mocked <- mc_test$plot_single_m4id
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
dat <- tcplPlotLoadData(val = mocked$m4id, flags = TRUE)
expect_no_error(tcplPlot(dat = dat, output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 1) # exactly one file created
file.remove(fn) # clean up
})
test_that("standalone advanced comparison plotting works in mc", {
data("mc_test")
mocked <- mc_test$plot_single_m4id_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
dat <- tcplPlotLoadData(val = mocked$m4id, flags = TRUE)
expect_no_error(tcplPlot(dat = dat, compare = "chnm", output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
dat <- split(dat, by = "chnm")
expect_no_error(tcplPlot(dat = dat, output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
test_that("standalone plotting works in sc", {
data("sc_test")
mocked <- sc_test$plot_single_s2id
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") sc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
dat <- tcplPlotLoadData(type = "sc", fld = "s2id", val = mocked$s2id)
expect_no_error(tcplPlot(dat = dat, type = "sc", fld = "s2id", val = mocked$s2id, output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 1) # exactly one file created
file.remove(fn) # clean up
})
test_that("standalone advanced comparison plotting works in sc", {
data("sc_test")
mocked <- sc_test$plot_single_s2id_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") sc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
dat <- tcplPlotLoadData(type = "sc", fld = "s2id", val = mocked$s2id)
expect_no_error(tcplPlot(dat = dat, type = "sc", compare = "spid", output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
dat <- split(dat, by = "spid")
expect_no_error(tcplPlot(dat = dat, type = "sc", output = "pdf", verbose = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 2) # exactly two files created
file.remove(fn) # clean up
})
#-------------------------------------------------------------------------------
# "ggplot" output tests
#-------------------------------------------------------------------------------
test_that("ggplot output works in mc", {
data("mc_test")
mocked <- mc_test$plot_single_m4id
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(otpt <- tcplPlot(type = "mc", fld = "m4id", val = mocked$m4id, verbose = FALSE, output = "ggplot", fileprefix = "temp_tcplPlot1"))
expect_true(ggplot2::is.ggplot(otpt))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 0) # no files should be generated
})
test_that("ggplot output comparison plotting works in mc", {
data("mc_test")
mocked <- mc_test$plot_single_m4id_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(otpt <- tcplPlot(type = "mc", fld = "m4id", val = mocked$m4id, compare = "chnm", verbose = FALSE, output = "ggplot", fileprefix = "temp_tcplPlot1"))
expect_true(ggplot2::is.ggplot(otpt))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 0) # no files should be generated
})
test_that("ggplot output works in sc", {
data("sc_test")
mocked <- sc_test$plot_single_s2id
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") sc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(otpt <- tcplPlot(type = "sc", fld = "s2id", val = mocked$s2id, verbose = FALSE, output = "ggplot", fileprefix = "temp_tcplPlot1"))
expect_true(ggplot2::is.ggplot(otpt))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 0) # no files should be generated
})
test_that("ggplot output comparison plotting works in sc", {
data("sc_test")
mocked <- sc_test$plot_single_s2id_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") sc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_no_error(otpt <- tcplPlot(type = "sc", fld = "s2id", val = mocked$s2id, compare = "spid", verbose = FALSE, output = "ggplot", fileprefix = "temp_tcplPlot1"))
expect_true(ggplot2::is.ggplot(otpt))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 0) # no files should be generated
})
test_that("ggplot output returns specific warnings and errors", {
data("mc_test")
mocked <- mc_test$plot_multiple_m4id
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
expect_error(tcplPlot(type = "mc", fld = "m4id", val = mocked$m4id, output = "ggplot", flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"),
"More than 1 concentration series returned for given field/val combination. Set output to pdf or reduce the number of plots to 1. Current number of individual plots: 2")
mocked <- mc_test$plot_single_m4id
expect_message(tcplPlot(type = "mc", fld = "m4id", val = mocked$m4id, output = "ggplot", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot2"),
"ggplot and verbose table arranged into one grob. To work with a simple ggplot object, set `verbose = FALSE` and 'flags = FALSE'.")
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 0) # no files should be generated
})
#-------------------------------------------------------------------------------
# loec plotting tests
#-------------------------------------------------------------------------------
test_that("loec plotting works for single plot", {
data("mc_test")
mocked <- mc_test$plot_single_m4id
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
dat <- tcplPlotLoadData(val = mocked$m4id, flags = TRUE)
dat[, c("modl", "fitc", "model_type", "hitc", "bmr", "bmd", "ac50") := list("loec", 100L, 1, 1, NA, NA, NA)]
dat$loec <- sort(unlist(dat$conc), decreasing = TRUE)[1] # set loec to highest tested conc
expect_no_error(tcplPlot(dat = dat, output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 1) # exactly one file created
file.remove(fn) # clean up
})
test_that("loec plotting works for small comparison plot", {
data("mc_test")
mocked <- mc_test$plot_single_m4id_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
dat <- tcplPlotLoadData(val = mocked$m4id, flags = TRUE)
dat[, c("modl", "fitc", "model_type", "hitc", "bmr", "bmd", "ac50") := list("loec", 100L, 1, 1, NA, NA, NA)]
dat$loec <- sort(unlist(dat$conc), decreasing = TRUE)[1:2] # set loec to highest tested concs
expect_no_error(tcplPlot(dat = dat, compare = "chnm", output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 1) # exactly one file created
file.remove(fn) # clean up
})
test_that("loec plotting works for large comparison plot", {
data("mc_test")
mocked <- mc_test$plot_multiple_aeid_compare
local_mocked_bindings(
tcplQuery = function(query, db, tbl) {
if (query == "SHOW VARIABLES LIKE 'max_allowed_packet'") mc_test$tcplConfQuery
else mocked[query][[1]]
}
)
tcplConf(drvr = "MySQL", db = "invitrodb") # must include both
dat_copy <- dat <- tcplPlotLoadData(fld = "aeid", val = mocked$aeid, flags = TRUE)
dat <- dat[1:4]
dat[, c("modl", "fitc", "model_type", "hitc", "bmr", "bmd", "ac50") := list("loec", 100L, 1, 1, NA, NA, NA)]
dat$loec <- c(sort(unlist(dat$conc), decreasing = TRUE)[1:4], rep(NA, nrow(dat) - 4))
dat <- rbind(dat, dat_copy[5:nrow(dat_copy)], fill = TRUE)
expect_no_error(tcplPlot(dat = dat, compare = "normalized_data_type", output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1", group.threshold = 8))
expect_no_error(tcplPlot(dat = dat, compare = "normalized_data_type", output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot2"))
dat <- dat_copy
dat[, c("modl", "fitc", "model_type", "hitc", "bmr", "bmd", "ac50") := list("loec", 100L, 1, 1, NA, NA, NA)]
dat$loec <- c(sort(unlist(dat$conc), decreasing = TRUE)[1:4], rep(NA, nrow(dat) - 4))
expect_no_error(tcplPlot(dat = dat, compare = "normalized_data_type", output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot3", group.threshold = 8))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 3) # exactly three files created
file.remove(fn) # clean up
})
#-------------------------------------------------------------------------------
# Covers testing tcplLoadData with "API" driver
# Using httptest mocking to automatically save json responses from http requests
# NOTE -- updates to the CTX API may mean stored json files are out of date. In
# this case, delete the 'ctx' folder and rerun this ENTIRE test file (temporarily
# replacing the 'apikey' string with a valid key) to repopulate the stored
# .jsons. These will likely be huge and will need to be edited by hand to reduce
# their sizes. To do this, open the file(s) and remove all but one element of
# the outer array -- we don't need more than one endpoint-sample.
#-------------------------------------------------------------------------------
httptest::with_mock_dir("ctx", {
apikey <- "apikey"
tcplConf(pass = apikey,
drvr = "API")
data(test_api)
test_that("tcplPlot works with API data by m4id", {
expect_no_error(tcplPlot(val = test_api$m4id, output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 1) # exactly one file created
file.remove(fn) # clean up
})
test_that("tcplPlot works with API data by aeid", {
expect_no_error(tcplPlot(fld = "aeid", val = test_api$aeid, output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 1) # exactly one file created
file.remove(fn) # clean up
})
test_that("tcplPlot works with API data by spid", {
expect_no_error(tcplPlot(fld = "spid", val = test_api$spid, output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 1) # exactly one file created
file.remove(fn) # clean up
})
test_that("tcplPlot works with API data by dtxsid", {
expect_no_error(tcplPlot(fld = "dtxsid", val = test_api$dtxsid, output = "pdf", verbose = TRUE, flags = TRUE, multi = TRUE, fileprefix = "temp_tcplPlot1"))
fn <- stringr::str_subset(list.files(), "^temp_tcplPlot")
expect_length(fn, 1) # exactly one file created
file.remove(fn) # clean up
})
})
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.