summaryrefslogtreecommitdiff
path: root/tests/testthat/test_chent.R
blob: 4017042ed08e27417cd88d1ec9dc6f1a94bf5825 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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"))

  if (webchem::ping_service("pc")) {
    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")
    expect_equal(round(oct$mw, 2), structure(130.23, source = "pubchem"))
  }

  skip_if_no_rdkit()
  oct$get_rdkit() |> 
    expect_message("Get chemical information from RDKit using user SMILES")

  skip_if_not(pc_up)
  expect_snapshot(print(oct))
})

Contact - Imprint