Table Of Contents

Previous topic

Dynamics Reference

This Page

Semi-Markov Library FAQ

Testing

There are three levels of testing.

  • Build Tests Regular testing is done on Linux and Mac with gcc 4.7, gcc 4.8, clang 3.3, and clang 3.4. There is a Jenkins instance locally that runs builds inside of Docker containers. This handles builds on Ubuntu and Fedora. Mac builds are tested by hand.
_images/jenkins_main.png
  • System-level Tests There are currently just a few of these, namely a set of SIR models whose theoretical properties are known, contained in examples/sir_mixed.cpp. We verify the percentage of runs which become epidemic.
  • Unit Tests The distributions (exponential, Weibull, and others) have a unit test called disttest, built from the test directory. This samples the distributions and compares Kolmogorov-Smirnov estimators of those samples with theoretical results.

Code Style

The code follows the Boost library guidelines for compatibility, but Boost isn’t a style guide, so it follows the Google C++ Style Guide.