This directory contains the unit tests for ionBench. The tests are written using the pytest
module in Python.
A large set of tests verifying many aspects of the problems, benchmarker, and tracker classes. These tests include tracking handling of repeated parameters and out of bounds points, verifying the gradient calculation, and parameter transforms.
Checks that the modifications apply the appropriate settings for newly constructed modifications, then verifies all modifications can be loaded from optimiser modules.
The optimisers are tested against a simple test problem. The tests check that the optimisers are able to minimise this easy problem. We also verify that all optimisers can correctly trigger the maxIter flag.
The multistart test verifies that when multistart is called, it optimises from each of the specified input parameters. This is a simple test, mainly to ensure the code doesn't throw any errors.
The uncertainty tests verify that the uncertainty calculations and plotting run without errors. They do not make any attempt to ensure the calculations are correct.
Finally, we have some tests designed to increase the coverage of the codebase. These tests are mainly ones that are difficult to trigger in the normal course of running the code, typically requiring long optimisation runs.