diff options
| author | Ranke Johannes <johannes.ranke@agroscope.admin.ch> | 2025-10-22 16:27:37 +0200 | 
|---|---|---|
| committer | Ranke Johannes <johannes.ranke@agroscope.admin.ch> | 2025-10-22 16:27:37 +0200 | 
| commit | 7c0e06c053303ea3f35fad3236ee5b3d930e7f08 (patch) | |
| tree | 2843596590b70d2e892a3f325b0af04cb54c8387 | |
| parent | b9a839f29beb9c10f22ace4b0dd4eee167ae6836 (diff) | |
| -rw-r--r-- | DESCRIPTION | 3 | ||||
| -rw-r--r-- | docs/coverage/coverage.html | 1251 | ||||
| -rw-r--r-- | tests/testthat.R | 8 | ||||
| -rw-r--r-- | tests/testthat/_snaps/chent.md | 18 | ||||
| -rw-r--r-- | tests/testthat/test_chent.R | 30 | ||||
| -rw-r--r-- | tests/testthat/test_pai.R | 29 | 
6 files changed, 671 insertions, 668 deletions
diff --git a/DESCRIPTION b/DESCRIPTION index 2201b9a..71c6c42 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -19,7 +19,7 @@ Imports:      reticulate  Suggests:      knitr, -    testthat, +    testthat (>= 3.0.0),      covr,      devEMF  License: GPL @@ -29,3 +29,4 @@ Encoding: UTF-8  URL: https://pkgdown.jrwb.de/chents, https://github.com/jranke/chents  Roxygen: list(markdown = TRUE, r6 = TRUE)  RoxygenNote: 7.3.3 +Config/testthat/edition: 3 diff --git a/docs/coverage/coverage.html b/docs/coverage/coverage.html index f881440..1e9d0ad 100644 --- a/docs/coverage/coverage.html +++ b/docs/coverage/coverage.html @@ -95,7 +95,7 @@ table.table-condensed {    font-size: 11px;  }</style>    <div class="col-md-8 col-md-offset-2"> -    <h2>chents coverage - 32.25%</h2> +    <h2>chents coverage - 34.64%</h2>      <div class="tabbable">        <ul class="nav nav-tabs" data-tabsetid="covr">          <li class="active"> @@ -107,8 +107,8 @@ table.table-condensed {        </ul>        <div class="tab-content" data-tabsetid="covr">          <div class="tab-pane active" title="Files" data-value="Files" id="tab-covr-1"> -          <div class="datatables html-widget html-fill-item" id="htmlwidget-c7fabdeba8b81e642b4e" style="width:100%;height:500px;"></div> -          <script type="application/json" data-for="htmlwidget-c7fabdeba8b81e642b4e">{"x":{"filter":"none","vertical":false,"fillContainer":false,"data":[["<a href=\"#\">R/zzz.R<\/a>","<a href=\"#\">R/chent.R<\/a>"],[9,829],[7,300],[0,99],[7,201],["0","1"],["0.00%","33.00%"]],"container":"<table class=\"row-border\">\n  <thead>\n    <tr>\n      <th>File<\/th>\n      <th>Lines<\/th>\n      <th>Relevant<\/th>\n      <th>Covered<\/th>\n      <th>Missed<\/th>\n      <th>Hits / Line<\/th>\n      <th>Coverage<\/th>\n    <\/tr>\n  <\/thead>\n<\/table>","options":{"searching":false,"dom":"t","paging":false,"columnDefs":[{"targets":6,"createdCell":"function(td, cellData, rowData, row, col) {\n  var percent = cellData.replace(\"%\", \"\");\n  if (percent > 90) {\n    var grad = \"linear-gradient(90deg, #edfde7 \" + cellData + \", white \" + cellData + \")\";\n  } else if (percent > 75) {\n    var grad = \"linear-gradient(90deg, #f9ffe5 \" + cellData + \", white \" + cellData + \")\";\n  } else {\n    var grad = \"linear-gradient(90deg, #fcece9 \" + cellData + \", white \" + cellData + \")\";\n  }\n  $(td).css(\"background\", grad);\n}\n"},{"className":"dt-right","targets":[1,2,3,4]},{"name":"File","targets":0},{"name":"Lines","targets":1},{"name":"Relevant","targets":2},{"name":"Covered","targets":3},{"name":"Missed","targets":4},{"name":"Hits / Line","targets":5},{"name":"Coverage","targets":6}],"order":[],"autoWidth":false,"orderClasses":false},"callback":"function(table) {\ntable.on('click.dt', 'a', function() {\n  files = $('div#files div');\n  files.not('div.hidden').addClass('hidden');\n  id = $(this).text();\n  files.filter('div[id=\\'' + id + '\\']').removeClass('hidden');\n  $('ul.nav a[data-value=Source]').text(id).tab('show');\n});\n}"},"evals":["options.columnDefs.0.createdCell","callback"],"jsHooks":[]}</script> +          <div class="datatables html-widget html-fill-item" id="htmlwidget-702167ad1bbf5cac83c0" style="width:100%;height:500px;"></div> +          <script type="application/json" data-for="htmlwidget-702167ad1bbf5cac83c0">{"x":{"filter":"none","vertical":false,"fillContainer":false,"data":[["<a href=\"#\">R/zzz.R<\/a>","<a href=\"#\">R/chent.R<\/a>"],[9,828],[7,299],[0,106],[7,193],["0","1"],["0.00%","35.45%"]],"container":"<table class=\"row-border\">\n  <thead>\n    <tr>\n      <th>File<\/th>\n      <th>Lines<\/th>\n      <th>Relevant<\/th>\n      <th>Covered<\/th>\n      <th>Missed<\/th>\n      <th>Hits / Line<\/th>\n      <th>Coverage<\/th>\n    <\/tr>\n  <\/thead>\n<\/table>","options":{"searching":false,"dom":"t","paging":false,"columnDefs":[{"targets":6,"createdCell":"function(td, cellData, rowData, row, col) {\n  var percent = cellData.replace(\"%\", \"\");\n  if (percent > 90) {\n    var grad = \"linear-gradient(90deg, #edfde7 \" + cellData + \", white \" + cellData + \")\";\n  } else if (percent > 75) {\n    var grad = \"linear-gradient(90deg, #f9ffe5 \" + cellData + \", white \" + cellData + \")\";\n  } else {\n    var grad = \"linear-gradient(90deg, #fcece9 \" + cellData + \", white \" + cellData + \")\";\n  }\n  $(td).css(\"background\", grad);\n}\n"},{"className":"dt-right","targets":[1,2,3,4]},{"name":"File","targets":0},{"name":"Lines","targets":1},{"name":"Relevant","targets":2},{"name":"Covered","targets":3},{"name":"Missed","targets":4},{"name":"Hits / Line","targets":5},{"name":"Coverage","targets":6}],"order":[],"autoWidth":false,"orderClasses":false},"callback":"function(table) {\ntable.on('click.dt', 'a', function() {\n  files = $('div#files div');\n  files.not('div.hidden').addClass('hidden');\n  id = $(this).text();\n  files.filter('div[id=\\'' + id + '\\']').removeClass('hidden');\n  $('ul.nav a[data-value=Source]').text(id).tab('show');\n});\n}"},"evals":["options.columnDefs.0.createdCell","callback"],"jsHooks":[]}</script>          </div>          <div class="tab-pane" title="Source" data-value="Source" id="tab-covr-2">            <div id="files"> @@ -1218,14 +1218,14 @@ table.table-condensed {                      <td class="num">158</td>                      <td class="coverage"></td>                      <td class="col-sm-12"> -                      <pre class="language-r">    try_pubchem = function(query, from = 'name') {</pre> +                      <pre class="language-r">    try_pubchem = function(query = self$identifier, from = 'name') {</pre>                      </td>                    </tr>                    <tr class="covered">                      <td class="num">159</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12"> -                      <pre class="language-r">      message("PubChem:")</pre> +                      <pre class="language-r">      message("Querying PubChem for ", from , " ", query, " ...")</pre>                      </td>                    </tr>                    <tr class="covered"> @@ -1260,7 +1260,7 @@ table.table-condensed {                      <td class="num">164</td>                      <td class="coverage">!</td>                      <td class="col-sm-12"> -                      <pre class="language-r">        message("Query ", query, " did not give results at PubChem")</pre> +                      <pre class="language-r">        message("Querying for ", query, " as ", from, " did not give results at PubChem")</pre>                      </td>                    </tr>                    <tr class="never"> @@ -1729,7 +1729,7 @@ table.table-condensed {                      <td class="num">231</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12"> -                      <pre class="language-r">      message("Trying to get chemical information from RDKit using ",</pre> +                      <pre class="language-r">      message("Get chemical information from RDKit using ",</pre>                      </td>                    </tr>                    <tr class="covered"> @@ -1771,12 +1771,12 @@ table.table-condensed {                      <td class="num">237</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12"> -                      <pre class="language-r">      if (!is.na(self$mw)) {</pre> +                      <pre class="language-r">      if (!is.null(self$mw) && !is.na(self$mw)) {</pre>                      </td>                    </tr>                    <tr class="covered">                      <td class="num">238</td> -                    <td class="coverage">1<em>x</em></td> +                    <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">        if (round(self$rdkit$mw, 1) != round(self$mw, 1)) {</pre>                      </td> @@ -1785,4134 +1785,4127 @@ table.table-condensed {                      <td class="num">239</td>                      <td class="coverage">!</td>                      <td class="col-sm-12"> -                      <pre class="language-r">          message("RDKit mw is ", self$rdkit$mw)</pre> -                    </td> -                  </tr> -                  <tr class="missed"> -                    <td class="num">240</td> -                    <td class="coverage">!</td> -                    <td class="col-sm-12"> -                      <pre class="language-r">          message("mw is ", self$mw)</pre> +                      <pre class="language-r">          warning("RDKit mw is ", self$rdkit$mw, " while mw is ", self$mw)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">241</td> +                    <td class="num">240</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">        }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">242</td> +                    <td class="num">241</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      } else {</pre>                      </td>                    </tr> -                  <tr class="covered"> -                    <td class="num">243</td> -                    <td class="coverage">1<em>x</em></td> +                  <tr class="missed"> +                    <td class="num">242</td> +                    <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        self$mw <- self$rdkit$mw</pre>                      </td>                    </tr> -                  <tr class="covered"> -                    <td class="num">244</td> -                    <td class="coverage">1<em>x</em></td> +                  <tr class="missed"> +                    <td class="num">243</td> +                    <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        attr(self$mw, "source") <- "rdkit"</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">245</td> +                    <td class="num">244</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">246</td> +                    <td class="num">245</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">247</td> +                    <td class="num">246</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      # Create an SVG representation</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">248</td> +                    <td class="num">247</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      rdkit_module$Chem$rdDepictor$Compute2DCoords(self$mol)</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">249</td> +                    <td class="num">248</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      if (!is.null(template)) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">250</td> +                    <td class="num">249</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        rdkit_template <- rdkit_module$Chem$MolFromSmiles(template)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">251</td> +                    <td class="num">250</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        rdkit_module$Chem$rdDepictor$Compute2DCoords(template)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">252</td> +                    <td class="num">251</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        rdkit$Chem$AllChem$GenerateDepictionMatching2DStructure(self$mol, template)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">253</td> +                    <td class="num">252</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      }</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">254</td> +                    <td class="num">253</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      d2d <- rdkit_module$Chem$Draw$rdMolDraw2D$MolDraw2DSVG(400L, 400L)</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">255</td> +                    <td class="num">254</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      d2d$DrawMolecule(self$mol)</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">256</td> +                    <td class="num">255</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      d2d$FinishDrawing()</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">257</td> +                    <td class="num">256</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      self$svg <- d2d$GetDrawingText()</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">258</td> +                    <td class="num">257</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      svgfile <- tempfile(fileext = ".svg")</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">259</td> +                    <td class="num">258</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      psfile <- tempfile(fileext = ".ps")</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">260</td> +                    <td class="num">259</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      writeLines(self$svg, svgfile)</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">261</td> +                    <td class="num">260</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      rsvg::rsvg_ps(svgfile, psfile)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">262</td> +                    <td class="num">261</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">263</td> +                    <td class="num">262</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      # Get size properties useful for plotting</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">264</td> +                    <td class="num">263</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      ps_font_line <- grep("Tm$", readLines(psfile), value = TRUE)[1]</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">265</td> +                    <td class="num">264</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      ps_font_size <- gsub(" .*$", "", ps_font_line)</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">266</td> +                    <td class="num">265</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      self$Pict_font_size = as.numeric(ps_font_size)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">267</td> +                    <td class="num">266</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">268</td> +                    <td class="num">267</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      # Read in to create Picture</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">269</td> +                    <td class="num">268</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      xmlfile <- tempfile(fileext = ".xml")</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">270</td> +                    <td class="num">269</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      PostScriptTrace(psfile, outfilename = xmlfile)</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">271</td> +                    <td class="num">270</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      unlink(paste0("capture", basename(psfile)))</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">272</td> +                    <td class="num">271</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      self$Picture <- readPicture(xmlfile)</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">273</td> +                    <td class="num">272</td>                      <td class="coverage">2<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      unlink(c(xmlfile, psfile, svgfile))</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">274</td> +                    <td class="num">273</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    },</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">275</td> +                    <td class="num">274</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">276</td> +                    <td class="num">275</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @description</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">277</td> +                    <td class="num">276</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' Obtain information from a YAML file</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">278</td> +                    <td class="num">277</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param repo Should the file be looked for in the current working</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">279</td> +                    <td class="num">278</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' directory, a local git repository under `~/git/chyaml`, or from</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">280</td> +                    <td class="num">279</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' the web (not implemented).</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">281</td> +                    <td class="num">280</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param chyaml The filename to be looked for</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">282</td> +                    <td class="num">281</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    get_chyaml = function(repo = c("wd", "local", "web"),</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">283</td> +                    <td class="num">282</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      chyaml = paste0(URLencode(self$identifier), ".yaml"))</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">284</td> +                    <td class="num">283</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">285</td> +                    <td class="num">284</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      repo = match.arg(repo)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">286</td> +                    <td class="num">285</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      paths = c(</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">287</td> +                    <td class="num">286</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        wd = ".",</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">288</td> +                    <td class="num">287</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        local = file.path("~", "git/chyaml"))</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">289</td> +                    <td class="num">288</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">290</td> +                    <td class="num">289</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      chyaml_handlers = list(</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">291</td> +                    <td class="num">290</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        expr = function(x) NULL, # To avoid security risks from reading chyaml files</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">292</td> +                    <td class="num">291</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        dataframe = function(x)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">293</td> +                    <td class="num">292</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">          eval(parse(text = paste0("data.frame(", x, ", stringsAsFactors = FALSE)"))))</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">294</td> +                    <td class="num">293</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">295</td> +                    <td class="num">294</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      if (repo %in% c("wd", "local")) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">296</td> +                    <td class="num">295</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        path = paths[repo]</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">297</td> +                    <td class="num">296</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        full = file.path(path, chyaml)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">298</td> +                    <td class="num">297</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        if (!file.exists(full)) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">299</td> +                    <td class="num">298</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">          message("Did not find chyaml file ", full)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">300</td> +                    <td class="num">299</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">        } else {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">301</td> +                    <td class="num">300</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">          if (is(try(self$chyaml <- yaml.load_file(chyaml, handlers = chyaml_handlers)),</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">302</td> +                    <td class="num">301</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">                 "try-error")) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">303</td> +                    <td class="num">302</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">            message("Could not load ", full)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">304</td> +                    <td class="num">303</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">          } else {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">305</td> +                    <td class="num">304</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">            message("Loaded ", full)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">306</td> +                    <td class="num">305</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">          }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">307</td> +                    <td class="num">306</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">        }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">308</td> +                    <td class="num">307</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      } else {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">309</td> +                    <td class="num">308</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        message("web repositories not implemented")</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">310</td> +                    <td class="num">309</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">311</td> +                    <td class="num">310</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    },</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">312</td> +                    <td class="num">311</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">313</td> +                    <td class="num">312</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @description</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">314</td> +                    <td class="num">313</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' Add a vapour pressure</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">315</td> +                    <td class="num">314</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param p0 The vapour pressure in Pa</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">316</td> +                    <td class="num">315</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    add_p0 = function(p0, T = NA, source = NA, page = NA, remark = "") {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">317</td> +                    <td class="num">316</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      self$p0 <- p0</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">318</td> +                    <td class="num">317</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      attr(self$p0, "T") <- T</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">319</td> +                    <td class="num">318</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      attr(self$p0, "source") <- source</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">320</td> +                    <td class="num">319</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      attr(self$p0, "page") <- page</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">321</td> +                    <td class="num">320</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      attr(self$p0, "remark") <- remark</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">322</td> +                    <td class="num">321</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    },</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">323</td> +                    <td class="num">322</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">324</td> +                    <td class="num">323</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @description</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">325</td> +                    <td class="num">324</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' Add a water solubility</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">326</td> +                    <td class="num">325</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param cwsat The water solubility in mg/L</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">327</td> +                    <td class="num">326</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    add_cwsat = function(cwsat, T = NA, pH = NA,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">328</td> +                    <td class="num">327</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      source = NA, page = NA, remark = "")</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">329</td> +                    <td class="num">328</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">330</td> +                    <td class="num">329</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      self$cwsat <- cwsat</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">331</td> +                    <td class="num">330</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      attr(self$cwsat, "T") <- T</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">332</td> +                    <td class="num">331</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      attr(self$cwsat, "pH") <- pH</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">333</td> +                    <td class="num">332</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      attr(self$cwsat, "source") <- source</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">334</td> +                    <td class="num">333</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      attr(self$cwsat, "page") <- page</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">335</td> +                    <td class="num">334</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      attr(self$cwsat, "remark") <- remark</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">336</td> +                    <td class="num">335</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    },</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">337</td> +                    <td class="num">336</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">338</td> +                    <td class="num">337</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @description</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">339</td> +                    <td class="num">338</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' Add a plant uptake factor</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">340</td> +                    <td class="num">339</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param PUF The plant uptake factor, a number between 0 and 1</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">341</td> +                    <td class="num">340</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    add_PUF = function(PUF = 0,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">342</td> +                    <td class="num">341</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      source = "focus_generic_gw_2014", page = 41,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">343</td> +                    <td class="num">342</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      remark = "Conservative default value")</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">344</td> +                    <td class="num">343</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">345</td> +                    <td class="num">344</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      self$PUF <- PUF</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">346</td> +                    <td class="num">345</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      attr(self$PUF, "source") <- source</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">347</td> +                    <td class="num">346</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      attr(self$PUF, "page") <- page</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">348</td> +                    <td class="num">347</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      attr(self$PUF, "remark") <- remark</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">349</td> +                    <td class="num">348</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    },</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">350</td> +                    <td class="num">349</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">351</td> +                    <td class="num">350</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @field TPs List of transformation products as chent objects</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">352</td> +                    <td class="num">351</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    TPs = list(),</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">353</td> +                    <td class="num">352</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">354</td> +                    <td class="num">353</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @description</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">355</td> +                    <td class="num">354</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' Add a transformation product to the internal list</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">356</td> +                    <td class="num">355</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param x A [chent] object, or an identifier to generate a [chent] object</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">357</td> +                    <td class="num">356</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param pubchem Should chemical information be obtained from PubChem?</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">358</td> +                    <td class="num">357</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    add_TP = function(x, smiles = NULL, pubchem = FALSE) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">359</td> +                    <td class="num">358</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      if (inherits(x, "chent")) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">360</td> +                    <td class="num">359</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        id <- names(x$identifier)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">361</td> +                    <td class="num">360</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        chent <- x</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">362</td> +                    <td class="num">361</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      } else {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">363</td> +                    <td class="num">362</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        id <- make.names(x)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">364</td> +                    <td class="num">363</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        chent <- chent$new(x, smiles = smiles, pubchem = pubchem)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">365</td> +                    <td class="num">364</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      }</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">366</td> +                    <td class="num">365</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      self$TPs[[id]] <- chent</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">367</td> +                    <td class="num">366</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    },</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">368</td> +                    <td class="num">367</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">369</td> +                    <td class="num">368</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @field transformations Data frame of observed transformations</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">370</td> +                    <td class="num">369</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    transformations = data.frame(study_type = character(0),</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">371</td> +                    <td class="num">370</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      TP_identifier = character(0),</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">372</td> +                    <td class="num">371</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      max_occurrence = numeric(0),</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">373</td> +                    <td class="num">372</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      source = character(0),</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">374</td> +                    <td class="num">373</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      page = character(0),</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">375</td> +                    <td class="num">374</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      stringsAsFactors = FALSE),</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">376</td> +                    <td class="num">375</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">377</td> +                    <td class="num">376</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @description</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">378</td> +                    <td class="num">377</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' Add a line in the internal dataframe holding observed transformations</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">379</td> +                    <td class="num">378</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param study_type A characterisation of the study type</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">380</td> +                    <td class="num">379</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param TP_identifier An identifier of one of the transformation products</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">381</td> +                    <td class="num">380</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' in `self$TPs`</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">382</td> +                    <td class="num">381</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param max_occurrence The maximum observed occurrence of the</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">383</td> +                    <td class="num">382</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' transformation product, expressed as a fraction of the amount that would</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">384</td> +                    <td class="num">383</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' result from stochiometric transformation</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">385</td> +                    <td class="num">384</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    add_transformation = function(study_type, TP_identifier, max_occurrence,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">386</td> +                    <td class="num">385</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      remark = "", source = NA, pages = NA)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">387</td> +                    <td class="num">386</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">388</td> +                    <td class="num">387</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      TP_name = make.names(TP_identifier)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">389</td> +                    <td class="num">388</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      if (!inherits(self$TPs[[TP_name]], "chent")) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">390</td> +                    <td class="num">389</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        stop(paste("Please add the TP", TP_identifier, "first using chent$add_TP()"))</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">391</td> +                    <td class="num">390</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      }</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">392</td> +                    <td class="num">391</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      TP_chent <- self$TPs[TP_name]</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">393</td> +                    <td class="num">392</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      if (is.numeric(pages)) pages <- paste(pages, collapse = ", ")</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">394</td> +                    <td class="num">393</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      cn <- colnames(self$transformations)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">395</td> +                    <td class="num">394</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      self$transformations <- rbind(self$transformations,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">396</td> +                    <td class="num">395</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        data.frame(study_type = study_type,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">397</td> +                    <td class="num">396</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">          TP_identifier = TP_identifier,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">398</td> +                    <td class="num">397</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">          max_occurrence = max_occurrence,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">399</td> +                    <td class="num">398</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">          remark = remark,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">400</td> +                    <td class="num">399</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">          source = source,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">401</td> +                    <td class="num">400</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">          page = page,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">402</td> +                    <td class="num">401</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">          stringsAsFactors = FALSE))</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">403</td> +                    <td class="num">402</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    },</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">404</td> +                    <td class="num">403</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">405</td> +                    <td class="num">404</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @field soil_degradation Dataframe of modelling DT50 values</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">406</td> +                    <td class="num">405</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    soil_degradation = NULL,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">407</td> +                    <td class="num">406</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">408</td> +                    <td class="num">407</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @description</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">409</td> +                    <td class="num">408</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' Add a line in the internal dataframe holding modelling DT50 values</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">410</td> +                    <td class="num">409</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param DT50_mod The modelling DT50 in the sense of regulatory pesticide</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">411</td> +                    <td class="num">410</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' fate modelling</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">412</td> +                    <td class="num">411</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param DT50_mod_ref The normalised modelling DT50 in the sense of</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">413</td> +                    <td class="num">412</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' regulatory pesticide fate modelling</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">414</td> +                    <td class="num">413</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param country The country (mainly for field studies)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">415</td> +                    <td class="num">414</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param temperature The temperature during the study in degrees Celsius</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">416</td> +                    <td class="num">415</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param moisture The moisture during the study</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">417</td> +                    <td class="num">416</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param category Is it a laboratory ('lab') or field study ('field')</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">418</td> +                    <td class="num">417</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param formulation Name of the formulation applied, if it was not</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">419</td> +                    <td class="num">418</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' the technical active ingredient</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">420</td> +                    <td class="num">419</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param model The degradation model used for deriving `DT50_mod`</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">421</td> +                    <td class="num">420</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param chi2 The relative error as defined in FOCUS kinetics</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">422</td> +                    <td class="num">421</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    add_soil_degradation = function(soils, DT50_mod, DT50_mod_ref,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">423</td> +                    <td class="num">422</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      type = NA, country = NA,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">424</td> +                    <td class="num">423</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      pH_orig = NA, pH_medium = NA, pH_H2O = NA,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">425</td> +                    <td class="num">424</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      perc_OC = NA,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">426</td> +                    <td class="num">425</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      temperature = NA, moisture = NA,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">427</td> +                    <td class="num">426</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      category = "lab", formulation = NA,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">428</td> +                    <td class="num">427</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      model = NA, chi2 = NA,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">429</td> +                    <td class="num">428</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      remark = "", source, page = NA)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">430</td> +                    <td class="num">429</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">431</td> +                    <td class="num">430</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      new_soil_degradation = data.frame(</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">432</td> +                    <td class="num">431</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        soil = soils,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">433</td> +                    <td class="num">432</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        DT50_mod = DT50_mod,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">434</td> +                    <td class="num">433</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        DT50_mod_ref = DT50_mod_ref,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">435</td> +                    <td class="num">434</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        type = type,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">436</td> +                    <td class="num">435</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        country = country,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">437</td> +                    <td class="num">436</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        pH_orig = pH_orig,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">438</td> +                    <td class="num">437</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        pH_medium = pH_medium,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">439</td> +                    <td class="num">438</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        pH_H2O = pH_H2O,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">440</td> +                    <td class="num">439</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        perc_OC = perc_OC,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">441</td> +                    <td class="num">440</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        temperature = temperature,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">442</td> +                    <td class="num">441</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        moisture = moisture,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">443</td> +                    <td class="num">442</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        category = category,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">444</td> +                    <td class="num">443</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        formulation = formulation,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">445</td> +                    <td class="num">444</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        model = model,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">446</td> +                    <td class="num">445</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        chi2 = chi2,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">447</td> +                    <td class="num">446</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        remark = remark,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">448</td> +                    <td class="num">447</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        source = source,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">449</td> +                    <td class="num">448</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        page = page,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">450</td> +                    <td class="num">449</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        stringsAsFactors = FALSE)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">451</td> +                    <td class="num">450</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      if (is.null(self$soil_degradation)) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">452</td> +                    <td class="num">451</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        self$soil_degradation <- new_soil_degradation</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">453</td> +                    <td class="num">452</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      } else {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">454</td> +                    <td class="num">453</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        self$soil_degradation <- rbind(self$soil_degradation, new_soil_degradation)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">455</td> +                    <td class="num">454</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">456</td> +                    <td class="num">455</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    },</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">457</td> +                    <td class="num">456</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">458</td> +                    <td class="num">457</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @field soil_ff Dataframe of formation fractions</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">459</td> +                    <td class="num">458</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    soil_ff = NULL,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">460</td> +                    <td class="num">459</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">461</td> +                    <td class="num">460</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @description</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">462</td> +                    <td class="num">461</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' Add one or more formation fractions for degradation in soil</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">463</td> +                    <td class="num">462</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param target The identifier(s) of the transformation product</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">464</td> +                    <td class="num">463</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param soils The soil name(s) in which the transformation was observed</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">465</td> +                    <td class="num">464</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param ff The formation fraction(s)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">466</td> +                    <td class="num">465</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    add_soil_ff = function(target, soils, ff = 1,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">467</td> +                    <td class="num">466</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      remark = "", source, page = NA)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">468</td> +                    <td class="num">467</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">469</td> +                    <td class="num">468</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      new_soil_ff = data.frame(</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">470</td> +                    <td class="num">469</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        target = target,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">471</td> +                    <td class="num">470</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        target = target,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">472</td> +                    <td class="num">471</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        soil = soils,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">473</td> +                    <td class="num">472</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        ff = ff,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">474</td> +                    <td class="num">473</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        remark = remark,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">475</td> +                    <td class="num">474</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        source = source,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">476</td> +                    <td class="num">475</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        page = page,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">477</td> +                    <td class="num">476</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        stringsAsFactors = FALSE)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">478</td> +                    <td class="num">477</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      if (is.null(self$soil_ff)) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">479</td> +                    <td class="num">478</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        self$soil_ff <- new_soil_ff</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">480</td> +                    <td class="num">479</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      } else {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">481</td> +                    <td class="num">480</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        self$soil_ff <- rbind(self$soil_ff, new_soil_ff)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">482</td> +                    <td class="num">481</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">483</td> +                    <td class="num">482</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    },</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">484</td> +                    <td class="num">483</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">485</td> +                    <td class="num">484</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @field soil_sorption Dataframe of soil sorption data</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">486</td> +                    <td class="num">485</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    soil_sorption = NULL,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">487</td> +                    <td class="num">486</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">488</td> +                    <td class="num">487</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @description</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">489</td> +                    <td class="num">488</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' Add soil sorption data</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">490</td> +                    <td class="num">489</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param Kf The sorption constant in L/kg, either linear (then `N` is 1)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">491</td> +                    <td class="num">490</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' or according to Freundlich</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">492</td> +                    <td class="num">491</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param Kfoc The constant from above, normalised to soil organic carbon</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">493</td> +                    <td class="num">492</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param N The Freundlich exponent</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">494</td> +                    <td class="num">493</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param perc_clay The percentage of clay in the soil</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">495</td> +                    <td class="num">494</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param CEC The cation exchange capacity</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">496</td> +                    <td class="num">495</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    add_soil_sorption = function(soils, </pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">497</td> +                    <td class="num">496</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      Kf, Kfoc, N,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">498</td> +                    <td class="num">497</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      type = NA, pH_orig = NA, pH_medium = NA,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">499</td> +                    <td class="num">498</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      pH_H2O = NA,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">500</td> +                    <td class="num">499</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      perc_OC = NA, perc_clay = NA, CEC = NA,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">501</td> +                    <td class="num">500</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      remark = "", source, page = NA)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">502</td> +                    <td class="num">501</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">503</td> +                    <td class="num">502</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      new_soil_sorption = data.frame(</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">504</td> +                    <td class="num">503</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        soils = soils,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">505</td> +                    <td class="num">504</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        Kf = Kf, Kfoc = Kfoc, N = N,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">506</td> +                    <td class="num">505</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        type = type,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">507</td> +                    <td class="num">506</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        pH_orig = pH_orig,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">508</td> +                    <td class="num">507</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        pH_medium = pH_medium,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">509</td> +                    <td class="num">508</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        pH_H2O = pH_H2O,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">510</td> +                    <td class="num">509</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        perc_OC = perc_OC, perc_clay = perc_clay, CEC = CEC,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">511</td> +                    <td class="num">510</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        remark = remark,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">512</td> +                    <td class="num">511</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        source = source,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">513</td> +                    <td class="num">512</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        page = page,</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">514</td> +                    <td class="num">513</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        stringsAsFactors = FALSE)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">515</td> +                    <td class="num">514</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      if (is.null(self$soil_sorption)) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">516</td> +                    <td class="num">515</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        self$soil_sorption <- new_soil_sorption</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">517</td> +                    <td class="num">516</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      } else {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">518</td> +                    <td class="num">517</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        self$soil_sorption <- rbind(self$soil_sorption, new_soil_sorption)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">519</td> +                    <td class="num">518</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">520</td> +                    <td class="num">519</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    },</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">521</td> +                    <td class="num">520</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">522</td> +                    <td class="num">521</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @description</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">523</td> +                    <td class="num">522</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' Write a PDF image of the structure</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">524</td> +                    <td class="num">523</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    pdf = function(file = paste0(self$identifier, ".pdf"),</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">525</td> +                    <td class="num">524</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">        dir = "structures/pdf", template = NULL) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">526</td> +                    <td class="num">525</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      if (!dir.exists(dir)) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">527</td> +                    <td class="num">526</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        message("Directory '", dir, "' does not exist")</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">528</td> +                    <td class="num">527</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        message("Trying to create directory '", dir, "'")</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">529</td> +                    <td class="num">528</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        dir.create(dir, recursive = TRUE)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">530</td> +                    <td class="num">529</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      }</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">531</td> +                    <td class="num">530</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      path = file.path(dir, file)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">532</td> +                    <td class="num">531</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      message("Creating file '", path, "'")</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">533</td> +                    <td class="num">532</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      pdf(path)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">534</td> +                    <td class="num">533</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      plot(self)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">535</td> +                    <td class="num">534</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      dev.off()</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">536</td> +                    <td class="num">535</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      message("Cropping file '", path, "' using pdfcrop")</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">537</td> +                    <td class="num">536</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      bash_path <- shQuote(path)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">538</td> +                    <td class="num">537</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      system(paste("pdfcrop --margin 10", bash_path, bash_path, "> /dev/null"))</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">539</td> +                    <td class="num">538</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">540</td> +                    <td class="num">539</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      # Get the height of the MediaBox</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">541</td> +                    <td class="num">540</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      head <- readLines(path, n = 20, skipNul = TRUE)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">542</td> +                    <td class="num">541</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      m_line <- suppressWarnings(grep("MediaBox", head, value = TRUE))</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">543</td> +                    <td class="num">542</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      self$pdf_height <- as.numeric(gsub("/MediaBox \\[.* (.*)\\]", "\\1", m_line))</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">544</td> +                    <td class="num">543</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    },</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">545</td> +                    <td class="num">544</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">546</td> +                    <td class="num">545</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @description</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">547</td> +                    <td class="num">546</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' Write a PNG image of the structure</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">548</td> +                    <td class="num">547</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param antialias Passed to [png][grDevices::png]</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">549</td> +                    <td class="num">548</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    png = function(file = paste0(self$identifier, ".png"),</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">550</td> +                    <td class="num">549</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      dir = "structures/png", antialias = 'gray')</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">551</td> +                    <td class="num">550</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">552</td> +                    <td class="num">551</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      if (!dir.exists(dir)) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">553</td> +                    <td class="num">552</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        message("Directory '", dir, "' does not exist")</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">554</td> +                    <td class="num">553</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        message("Trying to create directory '", dir, "'")</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">555</td> +                    <td class="num">554</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        dir.create(dir, recursive = TRUE)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">556</td> +                    <td class="num">555</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      }</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">557</td> +                    <td class="num">556</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      path = file.path(dir, file)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">558</td> +                    <td class="num">557</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      message("Creating file '", path, "'")</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">559</td> +                    <td class="num">558</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      png(path, antialias = antialias)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">560</td> +                    <td class="num">559</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      plot(self)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">561</td> +                    <td class="num">560</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      dev.off()</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">562</td> +                    <td class="num">561</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    },</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">563</td> +                    <td class="num">562</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">564</td> +                    <td class="num">563</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @description</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">565</td> +                    <td class="num">564</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' Write an EMF image of the structure using [emf][devEMF::emf]</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">566</td> +                    <td class="num">565</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    emf = function(file = paste0(self$identifier, ".emf"),</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">567</td> +                    <td class="num">566</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      dir = "structures/emf")</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">568</td> +                    <td class="num">567</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">569</td> +                    <td class="num">568</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      if (!requireNamespace("devEMF")) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">570</td> +                    <td class="num">569</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        stop("You need to have the devEMF package installed for this function")</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">571</td> +                    <td class="num">570</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      }</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">572</td> +                    <td class="num">571</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      if (!dir.exists(dir)) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">573</td> +                    <td class="num">572</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        message("Directory '", dir, "' does not exist")</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">574</td> +                    <td class="num">573</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        message("Trying to create directory '", dir, "'")</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">575</td> +                    <td class="num">574</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        dir.create(dir, recursive = TRUE)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">576</td> +                    <td class="num">575</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      }</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">577</td> +                    <td class="num">576</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      path = file.path(dir, file)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">578</td> +                    <td class="num">577</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      message("Creating file '", path, "'")</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">579</td> +                    <td class="num">578</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      devEMF::emf(path)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">580</td> +                    <td class="num">579</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      plot(self)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">581</td> +                    <td class="num">580</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      dev.off()</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">582</td> +                    <td class="num">581</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">583</td> +                    <td class="num">582</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">  )</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">584</td> +                    <td class="num">583</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">585</td> +                    <td class="num">584</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">586</td> +                    <td class="num">585</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' Printing method for chent objects</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">587</td> +                    <td class="num">586</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#'</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">588</td> +                    <td class="num">587</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @param x The chent object to be printed</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">589</td> +                    <td class="num">588</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @param ... Further arguments for compatibility with the S3 method</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">590</td> +                    <td class="num">589</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @importFrom utils head</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">591</td> +                    <td class="num">590</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @export</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">592</td> +                    <td class="num">591</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">print.chent = function(x, ...) {</pre>                      </td>                    </tr> -                  <tr class="missed"> -                    <td class="num">593</td> -                    <td class="coverage">!</td> +                  <tr class="covered"> +                    <td class="num">592</td> +                    <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">  cat("<chent>\n")</pre>                      </td>                    </tr> -                  <tr class="missed"> -                    <td class="num">594</td> -                    <td class="coverage">!</td> +                  <tr class="covered"> +                    <td class="num">593</td> +                    <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">  cat("Identifier $identifier", x$identifier, "\n")</pre>                      </td>                    </tr> -                  <tr class="missed"> -                    <td class="num">595</td> -                    <td class="coverage">!</td> +                  <tr class="covered"> +                    <td class="num">594</td> +                    <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">  cat ("InChI Key $inchikey", x$inchikey, "\n")</pre>                      </td>                    </tr> -                  <tr class="missed"> -                    <td class="num">596</td> -                    <td class="coverage">!</td> +                  <tr class="covered"> +                    <td class="num">595</td> +                    <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">  cat ("SMILES string $smiles:\n")</pre>                      </td>                    </tr> -                  <tr class="missed"> -                    <td class="num">597</td> -                    <td class="coverage">!</td> +                  <tr class="covered"> +                    <td class="num">596</td> +                    <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">  print(x$smiles)</pre>                      </td>                    </tr> -                  <tr class="missed"> -                    <td class="num">598</td> -                    <td class="coverage">!</td> +                  <tr class="covered"> +                    <td class="num">597</td> +                    <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">  if (!is.null(x$mw)) cat ("Molecular weight $mw:", round(x$mw, 1), "\n")</pre>                      </td>                    </tr> -                  <tr class="missed"> -                    <td class="num">599</td> -                    <td class="coverage">!</td> +                  <tr class="covered"> +                    <td class="num">598</td> +                    <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">  if (!is.null(x$pubchem$synonyms)) {</pre>                      </td>                    </tr> -                  <tr class="missed"> -                    <td class="num">600</td> -                    <td class="coverage">!</td> +                  <tr class="covered"> +                    <td class="num">599</td> +                    <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">    cat ("PubChem synonyms (up to 10):\n")</pre>                      </td>                    </tr> -                  <tr class="missed"> -                    <td class="num">601</td> -                    <td class="coverage">!</td> +                  <tr class="covered"> +                    <td class="num">600</td> +                    <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">    print(head(x$pubchem$synonyms, n = 10L))</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">602</td> +                    <td class="num">601</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">  }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">603</td> +                    <td class="num">602</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">}</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">604</td> +                    <td class="num">603</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">605</td> +                    <td class="num">604</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' Draw SVG graph from a chent object using RDKit</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">606</td> +                    <td class="num">605</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#'</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">607</td> +                    <td class="num">606</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @param x The chent object to be plotted</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">608</td> +                    <td class="num">607</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @param width The desired width in pixels</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">609</td> +                    <td class="num">608</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @param height The desired height in pixels</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">610</td> +                    <td class="num">609</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @param filename The filename</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">611</td> +                    <td class="num">610</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @param subdir The path to which the file should be written</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">612</td> +                    <td class="num">611</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @export</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">613</td> +                    <td class="num">612</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">draw_svg.chent = function(x, width = 300, height = 150,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">614</td> +                    <td class="num">613</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">   filename = paste0(names(x$identifier), ".svg"),</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">615</td> +                    <td class="num">614</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">   subdir = "svg") {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">616</td> +                    <td class="num">615</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">  if (!rdkit_available) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">617</td> +                    <td class="num">616</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">    stop("RDkit is not available via reticulate")</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">618</td> +                    <td class="num">617</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">  } else {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">619</td> +                    <td class="num">618</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">    if (!dir.exists(subdir)) dir.create(subdir)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">620</td> +                    <td class="num">619</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">    mol <- rdkit_module$Chem$MolFromSmiles(x$smiles)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">621</td> +                    <td class="num">620</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">622</td> +                    <td class="num">621</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">    rdkit_module$Chem$Draw$MolToFile(mol, file.path(subdir, filename),</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">623</td> +                    <td class="num">622</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      size = c(as.integer(width), as.integer(height)))</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">624</td> +                    <td class="num">623</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">  }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">625</td> +                    <td class="num">624</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">}</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">626</td> +                    <td class="num">625</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">627</td> +                    <td class="num">626</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' Plot method for chent objects</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">628</td> +                    <td class="num">627</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#'</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">629</td> +                    <td class="num">628</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @importFrom grImport grid.picture</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">630</td> +                    <td class="num">629</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @param x The chent object to be plotted</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">631</td> +                    <td class="num">630</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @param ... Further arguments passed to [grImport::grid.picture]</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">632</td> +                    <td class="num">631</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @export</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">633</td> +                    <td class="num">632</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @examples</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">634</td> +                    <td class="num">633</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' caffeine <- chent$new("caffeine")</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">635</td> +                    <td class="num">634</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' print(caffeine)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">636</td> +                    <td class="num">635</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' if (!is.null(caffeine$Picture)) {</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">637</td> +                    <td class="num">636</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#'   plot(caffeine)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">638</td> +                    <td class="num">637</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">639</td> +                    <td class="num">638</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">plot.chent = function(x, ...) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">640</td> +                    <td class="num">639</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">  if (is.null(x$Picture)) stop("No Picture object in chent, was RDKit available during creation?")</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">641</td> +                    <td class="num">640</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">  grid.picture(x$Picture)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">642</td> +                    <td class="num">641</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">}</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">643</td> +                    <td class="num">642</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">644</td> +                    <td class="num">643</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @title An R6 class for pesticidal active ingredients and associated data</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">645</td> +                    <td class="num">644</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#'</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">646</td> +                    <td class="num">645</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @description This class is derived from [chent]. It makes it easy</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">647</td> +                    <td class="num">646</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' to create a [chent] from the ISO common name of a pesticide active</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">648</td> +                    <td class="num">647</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' ingredient, and additionally stores the ISO name as well as</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">649</td> +                    <td class="num">648</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' the complete result of querying the BCPC compendium using</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">650</td> +                    <td class="num">649</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' [bcpc_query][webchem::bcpc_query].</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">651</td> +                    <td class="num">650</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#'</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">652</td> +                    <td class="num">651</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @export</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">653</td> +                    <td class="num">652</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @format An [R6::R6Class] generator object</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">654</td> +                    <td class="num">653</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @examples</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">655</td> +                    <td class="num">654</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' # On Travis, we get a certificate validation error,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">656</td> +                    <td class="num">655</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' # likely because the system (xenial) is so old,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">657</td> +                    <td class="num">656</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' # therefore don't run this example on Travis</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">658</td> +                    <td class="num">657</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' if (Sys.getenv("TRAVIS") == "") {</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">659</td> +                    <td class="num">658</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#'</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">660</td> +                    <td class="num">659</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' atr <- pai$new("atrazine")</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">661</td> +                    <td class="num">660</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' print(atr)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">662</td> +                    <td class="num">661</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' if (!is.null(atr$Picture)) {</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">663</td> +                    <td class="num">662</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#'   plot(atr)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">664</td> +                    <td class="num">663</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">665</td> +                    <td class="num">664</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#'</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">666</td> +                    <td class="num">665</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">667</td> +                    <td class="num">666</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">pai <- R6Class("pai",</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">668</td> +                    <td class="num">667</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">  inherit = chent,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">669</td> +                    <td class="num">668</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">  public = list(</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">670</td> +                    <td class="num">669</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">671</td> +                    <td class="num">670</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @field iso ISO common name of the active ingredient according to ISO 1750</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">672</td> +                    <td class="num">671</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    iso = NULL,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">673</td> +                    <td class="num">672</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">674</td> +                    <td class="num">673</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @field bcpc Information retrieved from the BCPC compendium available online</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">675</td> +                    <td class="num">674</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' at <pesticidecompendium.bcpc.org></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">676</td> +                    <td class="num">675</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    bcpc = NULL,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">677</td> +                    <td class="num">676</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">678</td> +                    <td class="num">677</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @description</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">679</td> +                    <td class="num">678</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' Create a new pai object</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">680</td> +                    <td class="num">679</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param iso The ISO common name to be used in the query of the</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">681</td> +                    <td class="num">680</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' BCPC compendium</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">682</td> +                    <td class="num">681</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param identifier Alternative identifier used for querying pubchem</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">683</td> +                    <td class="num">682</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param smiles Optional user provided SMILES code</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">684</td> +                    <td class="num">683</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param inchikey Optional user provided InChI Key</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">685</td> +                    <td class="num">684</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param bcpc Should the BCPC compendium be queried?</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">686</td> +                    <td class="num">685</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param pubchem Should an attempt be made to retrieve chemical</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">687</td> +                    <td class="num">686</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' information from PubChem via the webchem package?</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">688</td> +                    <td class="num">687</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param pubchem_from Possibility to select the argument</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">689</td> +                    <td class="num">688</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' that is used to query pubchem</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">690</td> +                    <td class="num">689</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param rdkit Should an attempt be made to retrieve chemical</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">691</td> +                    <td class="num">690</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' information from a local rdkit installation via python</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">692</td> +                    <td class="num">691</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' and the reticulate package?</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">693</td> +                    <td class="num">692</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param template An optional SMILES code to be used as template for RDKit</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">694</td> +                    <td class="num">693</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param chyaml Should we look for a identifier.yaml file in the working</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">695</td> +                    <td class="num">694</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    initialize = function(iso, identifier = iso,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">696</td> +                    <td class="num">695</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      smiles = NULL, inchikey = NULL, bcpc = TRUE,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">697</td> +                    <td class="num">696</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      pubchem = TRUE, pubchem_from = 'auto',</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">698</td> +                    <td class="num">697</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      rdkit = TRUE, template = NULL,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">699</td> +                    <td class="num">698</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      chyaml = FALSE)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">700</td> +                    <td class="num">699</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    {</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">701</td> +                    <td class="num">700</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">702</td> +                    <td class="num">701</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      if (!is.null(inchikey)) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">703</td> +                    <td class="num">702</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        self$inchikey = inchikey</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">704</td> +                    <td class="num">703</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">        attr(self$inchikey, "source") <- "user"</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">705</td> +                    <td class="num">704</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">706</td> +                    <td class="num">705</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">707</td> +                    <td class="num">706</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      if (!missing(iso) & bcpc) {</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">708</td> +                    <td class="num">707</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12"> -                      <pre class="language-r">        message("BCPC:")</pre> +                      <pre class="language-r">        message("Querying BCPC for ", identifier, " ...")</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">709</td> +                    <td class="num">708</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">        bcpc_result = webchem::bcpc_query(identifier, from = "name")</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">710</td> +                    <td class="num">709</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">711</td> +                    <td class="num">710</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">        # Use first element of list, as we passed a query of length one</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">712</td> +                    <td class="num">711</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">        if (is.na(bcpc_result[[1]][1])) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">713</td> +                    <td class="num">712</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">          message("Common name ", identifier, " is not known at the BCPC compendium, trying PubChem")</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">714</td> +                    <td class="num">713</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">        } else {</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">715</td> +                    <td class="num">714</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">          self$bcpc = bcpc_result[[1]]</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">716</td> +                    <td class="num">715</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">          self$iso = self$bcpc$cname</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">717</td> +                    <td class="num">716</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">          attr(self$iso, "source") <- "bcpc"</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">718</td> +                    <td class="num">717</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">          attr(self$iso, "status") <- self$bcpc$status</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">719</td> +                    <td class="num">718</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">          bcpc_ik = self$bcpc$inchikey</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">720</td> +                    <td class="num">719</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">          if (length(bcpc_ik) == 1 && !is.na(bcpc_ik)) {</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">721</td> +                    <td class="num">720</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">            if (is.null(self$inchikey)) {</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">722</td> +                    <td class="num">721</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">              self$inchikey = substr(self$bcpc$inchikey, 1, 27)</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">723</td> +                    <td class="num">722</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">              attr(self$inchikey, "source") <- "bcpc"</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">724</td> +                    <td class="num">723</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">            } else {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">725</td> +                    <td class="num">724</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">              if (bcpc_ik == self$inchikey) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">726</td> +                    <td class="num">725</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">                attr(self$inchikey, "source") = c(attr(self$inchikey, "source"), "bcpc")</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">727</td> +                    <td class="num">726</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">              } else {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">728</td> +                    <td class="num">727</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">                warning("InChIKey ", self$inchikey, " differs from ", bcpc_ik, " obtained from bcpc.org")</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">729</td> +                    <td class="num">728</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">              }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">730</td> +                    <td class="num">729</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">            }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">731</td> +                    <td class="num">730</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">          }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">732</td> +                    <td class="num">731</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">        }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">733</td> +                    <td class="num">732</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">734</td> +                    <td class="num">733</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">735</td> +                    <td class="num">734</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      # Set pubchem_from if not specified</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">736</td> +                    <td class="num">735</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      if (pubchem_from == 'auto') {</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">737</td> +                    <td class="num">736</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">        pubchem_from = 'name'</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">738</td> +                    <td class="num">737</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">        if (!is.null(self$inchikey)) {</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">739</td> +                    <td class="num">738</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">          pubchem_from = 'inchikey'</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">740</td> +                    <td class="num">739</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">        }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">741</td> +                    <td class="num">740</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">742</td> +                    <td class="num">741</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">743</td> +                    <td class="num">742</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      super$initialize(identifier = identifier,</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">744</td> +                    <td class="num">743</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">        smiles = smiles, inchikey = self$inchikey,</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">745</td> +                    <td class="num">744</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">        pubchem = pubchem, pubchem_from = pubchem_from,</pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">746</td> +                    <td class="num">745</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">        rdkit = rdkit, template = template, chyaml = chyaml)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">747</td> +                    <td class="num">746</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="covered"> -                    <td class="num">748</td> +                    <td class="num">747</td>                      <td class="coverage">1<em>x</em></td>                      <td class="col-sm-12">                        <pre class="language-r">      invisible(self)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">749</td> +                    <td class="num">748</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">750</td> +                    <td class="num">749</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">  )</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">751</td> +                    <td class="num">750</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">752</td> +                    <td class="num">751</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">753</td> +                    <td class="num">752</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' Printing method for pai objects (pesticidal active ingredients)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">754</td> +                    <td class="num">753</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#'</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">755</td> +                    <td class="num">754</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @param x The chent object to be printed</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">756</td> +                    <td class="num">755</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @param ... Further arguments for compatibility with the S3 method</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">757</td> +                    <td class="num">756</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @export</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">758</td> +                    <td class="num">757</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">print.pai = function(x, ...) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">759</td> +                    <td class="num">758</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">  cat("<pai> with ISO common name $iso", x$iso, "\n")</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">760</td> +                    <td class="num">759</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">  print.chent(x)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">761</td> +                    <td class="num">760</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">  if (length(x$TPs) > 0) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">762</td> +                    <td class="num">761</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">    cat("\nTransformation products:\n")</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">763</td> +                    <td class="num">762</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">    print(x$TPs)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">764</td> +                    <td class="num">763</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">  }</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">765</td> +                    <td class="num">764</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">  if (nrow(x$transformations) > 0) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">766</td> +                    <td class="num">765</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">    cat("\nTransformations:\n")</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">767</td> +                    <td class="num">766</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">    print(x$transformations)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">768</td> +                    <td class="num">767</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">  }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">769</td> +                    <td class="num">768</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">}</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">770</td> +                    <td class="num">769</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">771</td> +                    <td class="num">770</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @title R6 class for a plant protection product with at least one active ingredient</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">772</td> +                    <td class="num">771</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#'</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">773</td> +                    <td class="num">772</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @description Contains basic information about the active ingredients in the</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">774</td> +                    <td class="num">773</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' product</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">775</td> +                    <td class="num">774</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#'</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">776</td> +                    <td class="num">775</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @export</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">777</td> +                    <td class="num">776</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @format An [R6::R6Class] generator object.</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">778</td> +                    <td class="num">777</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">ppp <- R6Class("ppp",</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">779</td> +                    <td class="num">778</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">  public = list(</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">780</td> +                    <td class="num">779</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">781</td> +                    <td class="num">780</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @field name The name of the product</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">782</td> +                    <td class="num">781</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    name = NULL,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">783</td> +                    <td class="num">782</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">784</td> +                    <td class="num">783</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @field ais A list of active ingredients</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">785</td> +                    <td class="num">784</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    ais = list(),</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">786</td> +                    <td class="num">785</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">787</td> +                    <td class="num">786</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @field concentrations The concentration of the ais</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">788</td> +                    <td class="num">787</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    concentrations = NULL,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">789</td> +                    <td class="num">788</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">790</td> +                    <td class="num">789</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @field concentration_units Defaults to g/L</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">791</td> +                    <td class="num">790</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    concentration_units = NULL,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">792</td> +                    <td class="num">791</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">793</td> +                    <td class="num">792</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @field density The density of the product</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">794</td> +                    <td class="num">793</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    density = NULL,</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">795</td> +                    <td class="num">794</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">796</td> +                    <td class="num">795</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @field density_units Defaults to g/L</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">797</td> +                    <td class="num">796</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    density_units = "g/L",</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">798</td> +                    <td class="num">797</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">799</td> +                    <td class="num">798</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @description</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">800</td> +                    <td class="num">799</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' Creates a new instance of this [R6][R6::R6Class] class.</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">801</td> +                    <td class="num">800</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param name The name of the product</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">802</td> +                    <td class="num">801</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param ... Identifiers of the active ingredients</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">803</td> +                    <td class="num">802</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param concentrations Concentrations of the active ingredients</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">804</td> +                    <td class="num">803</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param concentration_units Defaults to g/L</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">805</td> +                    <td class="num">804</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param density The density</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">806</td> +                    <td class="num">805</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    #' @param density_units Defaults to g/L</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">807</td> +                    <td class="num">806</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    initialize = function(name, ..., concentrations, concentration_units = "g/L",</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">808</td> +                    <td class="num">807</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">      density = 1000, density_units = "g/L")</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">809</td> +                    <td class="num">808</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">810</td> +                    <td class="num">809</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      self$name <- name</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">811</td> +                    <td class="num">810</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      self$ais <- list(...)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">812</td> +                    <td class="num">811</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      self$concentrations <- concentrations</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">813</td> +                    <td class="num">812</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      self$density <- density</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">814</td> +                    <td class="num">813</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      self$density_units <- density_units</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">815</td> +                    <td class="num">814</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      names(self$concentrations) <- names(self$ais)</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">816</td> +                    <td class="num">815</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">      self$concentration_units <- concentration_units</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">817</td> +                    <td class="num">816</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">    }</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">818</td> +                    <td class="num">817</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">  )</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">819</td> +                    <td class="num">818</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">820</td> +                    <td class="num">819</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"></pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">821</td> +                    <td class="num">820</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' Printing method for ppp objects (plant protection products)</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">822</td> +                    <td class="num">821</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#'</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">823</td> +                    <td class="num">822</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @param x The chent object to be printed</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">824</td> +                    <td class="num">823</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @param ... Further arguments for compatibility with the S3 method</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">825</td> +                    <td class="num">824</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">#' @export</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">826</td> +                    <td class="num">825</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">print.ppp = function(x, ...) {</pre>                      </td>                    </tr>                    <tr class="missed"> -                    <td class="num">827</td> +                    <td class="num">826</td>                      <td class="coverage">!</td>                      <td class="col-sm-12">                        <pre class="language-r">  cat("<pp> named", x$name, "\n")</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">828</td> +                    <td class="num">827</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r">}</pre>                      </td>                    </tr>                    <tr class="never"> -                    <td class="num">829</td> +                    <td class="num">828</td>                      <td class="coverage"></td>                      <td class="col-sm-12">                        <pre class="language-r"># vim: set ts=2 sw=2 expandtab:</pre> diff --git a/tests/testthat.R b/tests/testthat.R index a7a46eb..836723f 100644 --- a/tests/testthat.R +++ b/tests/testthat.R @@ -1,3 +1,11 @@ +# This file is part of the standard setup for testthat. +# It is recommended that you do not modify it. +# +# Where should you do additional test configuration? +# Learn more about the roles of various files in: +# * https://r-pkgs.org/testing-design.html#sec-tests-files-overview +# * https://testthat.r-lib.org/articles/special-files.html +  library(testthat)  library(chents) diff --git a/tests/testthat/_snaps/chent.md b/tests/testthat/_snaps/chent.md new file mode 100644 index 0000000..b214852 --- /dev/null +++ b/tests/testthat/_snaps/chent.md @@ -0,0 +1,18 @@ +# We can initialise an object and add information + +    Code +      print(oct) +    Output +      <chent> +      Identifier $identifier 1-octanol  +      InChI Key $inchikey KBPLFHHGFOOTCA-UHFFFAOYSA-N  +      SMILES string $smiles: +             user     PubChem  +      "CCCCCCCCO" "CCCCCCCCO"  +      Molecular weight $mw: 130.2  +      PubChem synonyms (up to 10): +       [1] "1-octanol"             "Octan-1-ol"            "111-87-5"              +       [4] "N-octanol"             "Octyl alcohol"         "caprylic alcohol"      +       [7] "n-Octyl alcohol"       "Heptyl carbinol"       "1-Hydroxyoctane"       +      [10] "Primary octyl alcohol" + 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))  }) diff --git a/tests/testthat/test_pai.R b/tests/testthat/test_pai.R index f38672d..0d5264a 100644 --- a/tests/testthat/test_pai.R +++ b/tests/testthat/test_pai.R @@ -1,25 +1,16 @@ -# For manual use of this file -require(chents) -require(testthat) - -context("Generation of pai objects") -  test_that("a pai object is correctly generated", {    skip_on_travis() # server certificate verification failed in curl_fetch_memory() -  glyphosate <- pai$new("glyphosate") +  {glyphosate <- pai$new("glyphosate")} |>  +    expect_message("Querying BCPC for glyphosate") |>  +    expect_message("Querying PubChem for inchikey ") |>  +    expect_message("Get chemical information from RDKit using PubChem SMILES") -  # This did not give results at BCPC in previous times, so it was used to test -  # the corresponding warning. -  #bc <- pai$new("benzalkonium chloride")  - -  expect_equivalent(glyphosate$bcpc$cas, "1071-83-6") -  expect_equivalent(glyphosate$bcpc$formula, "C3H8NO5P") -  expect_equivalent(glyphosate$bcpc$iupac_name, "N-(phosphonomethyl)glycine") +  expect_equal(glyphosate$bcpc$cas, "1071-83-6") +  expect_equal(glyphosate$bcpc$formula, "C3H8NO5P") +  expect_equal(glyphosate$bcpc$iupac_name, "N-(phosphonomethyl)glycine")    expect_equal(names(glyphosate$identifier), "glyphosate")    ik = "XDDAORKBJWWYJS-UHFFFAOYSA-N" -  attr(ik, "source") <- c("bcpc", "pubchem") -  expect_equal(glyphosate$inchikey, ik) -  expect_equivalent(round(glyphosate$mw, 2), 169.07) -  smiles <- "C(C(=O)O)NCP(=O)(O)O" -  expect_equal(glyphosate$smiles[["PubChem"]], smiles) +  expect_equal(glyphosate$inchikey, structure("XDDAORKBJWWYJS-UHFFFAOYSA-N", source = c("bcpc", "pubchem"))) +  expect_equal(round(glyphosate$mw, 2), structure(169.07, source = "pubchem")) +  expect_equal(glyphosate$smiles[["PubChem"]], "C(C(=O)O)NCP(=O)(O)O")  })  | 
