
The unit tests here are designed to check for unintended consequences of code changes. The goal is to have 100% coverage and to raise a flag when computations are changed.  

1. Longer tests are needed to check whether the code provides numerically correct answers in situations where these are available. Some of those validations are carried out by Asfaw et al (2023). This code, and other examples, may be added later as package vignettes.

2. For code-generated code (e.g., R code which writes C functions that are then compiled) covr checks whether the generating code was run, and it can test whether the generatd code has changed. However, it does not check whether the generated code was run. In the context of spatPomp, full testing necessitates running all the compiled code.

3. Additional checks are carried out in the tests/xtests directory, and are not run by default.

A call to igirf using the moment-based guide function can test compiled code for eunit_measure, munit_measure, vunit_measure, dunit_measure, runit_measure, rprocess, skeleton, rinit and partrans. 

22-08-06: covr ran on an intel Mac but threw a compiler error on an M1 Mac. This is apparently an architecture issue.

References

Asfaw, K., Park, J., King, A. A., and Ionides, E. L. (2023). Partially observed Markov processes with spatial structure via the R package spatPomp. (https://arxiv.org/abs/2101.01157)


