summaryrefslogtreecommitdiff
path: root/tests/testthat/test_chent.R
diff options
context:
space:
mode:
authorRanke Johannes <johannes.ranke@agroscope.admin.ch>2025-10-22 16:27:37 +0200
committerRanke Johannes <johannes.ranke@agroscope.admin.ch>2025-10-22 16:27:37 +0200
commit7c0e06c053303ea3f35fad3236ee5b3d930e7f08 (patch)
tree2843596590b70d2e892a3f325b0af04cb54c8387 /tests/testthat/test_chent.R
parentb9a839f29beb9c10f22ace4b0dd4eee167ae6836 (diff)
Improve test coverage and use testthat 3rd editionHEADmain
Diffstat (limited to 'tests/testthat/test_chent.R')
-rw-r--r--tests/testthat/test_chent.R30
1 files changed, 11 insertions, 19 deletions
diff --git a/tests/testthat/test_chent.R b/tests/testthat/test_chent.R
index 4546423..1f4a186 100644
--- a/tests/testthat/test_chent.R
+++ b/tests/testthat/test_chent.R
@@ -1,29 +1,21 @@
-context("Generation of chent objects")
-
# Check if we can use RDKit
skip_if_no_rdkit <- function() {
if (!chents:::rdkit_available) skip("RDKit is not available via reticulate")
}
-oct <- chent$new("1-octanol", smiles = "CCCCCCCCO", rdkit = FALSE, pubchem = FALSE, chyaml = FALSE)
-
-test_that("We can initialise an object only with identifier and SMILES code", {
+test_that("We can initialise an object and add information", {
+ oct <- chent$new("1-octanol", smiles = "CCCCCCCCO", rdkit = FALSE, pubchem = FALSE, chyaml = FALSE)
expect_equal(oct$identifier, c(X1.octanol = "1-octanol")) # The name of the identifier is generated using make.names()
expect_equal(oct$inchikey, structure(NA, source = "user"))
expect_equal(oct$smiles, c(user = "CCCCCCCCO"))
-})
-
-test_that("We can generate a chent object from SMILES using RDKit", {
- skip_if_no_rdkit()
- oct$get_rdkit()
- expect_equivalent(round(oct$mw, 2), 130.23)
-})
-
-test_that("We can add information retrieved from PubChem via webchem", {
- expect_warning(oct$try_pubchem(), "Overwriting uninitialized InChIKey")
- expect_equivalent(round(oct$mw, 2), 130.23)
- ik = "KBPLFHHGFOOTCA-UHFFFAOYSA-N"
- attr(ik, "source") <- "pubchem"
- expect_equal(oct$inchikey, ik)
+ oct$try_pubchem() |>
+ expect_message("Querying PubChem for name 1-octanol") |>
+ expect_warning("Overwriting uninitialized InChIKey")
+ expect_equal(oct$inchikey, structure("KBPLFHHGFOOTCA-UHFFFAOYSA-N", source = "pubchem"))
expect_equal(oct$smiles[["PubChem"]], "CCCCCCCCO")
+ skip_if_no_rdkit()
+ oct$get_rdkit() |>
+ expect_message("Get chemical information from RDKit using user SMILES")
+ expect_equal(round(oct$mw, 2), structure(130.23, source = "pubchem"))
+ expect_snapshot(print(oct))
})

Contact - Imprint