Skip to content

Test coverage improvements #9

@kbonney

Description

@kbonney

Below is a coverage report for the test suite:

---------- coverage: platform linux, python 3.11.5-final-0 -----------
Name                                               Stmts   Miss  Cover   Missing
--------------------------------------------------------------------------------
pyrocs/__init__.py                                     1      0   100%
pyrocs/biosciences/__init__.py                         3      0   100%
pyrocs/biosciences/affinity.py                        35      2    94%   40, 77
pyrocs/biosciences/functional_redundancy.py            8      0   100%
pyrocs/biosciences/hill_diversity.py                  17      6    65%   99, 102-109
pyrocs/complex_systems/__init__.py                     3      0   100%
pyrocs/complex_systems/causal_complexity.py           31      2    94%   76-77
pyrocs/complex_systems/fluctuation_complexity.py      16     12    25%   32-46
pyrocs/complex_systems/grc.py                         10      3    70%   36, 39-40
pyrocs/information_theory/__init__.py                  4      0   100%
pyrocs/information_theory/entropy.py                  13      3    77%   46-48
pyrocs/information_theory/kl_divergence.py            34     18    47%   49-50, 98-123
pyrocs/information_theory/mutual_info.py               9      0   100%
pyrocs/version.py                                      6      0   100%
setup.py                                               2      2     0%   1-4
test/test_biosciences.py                              43      6    86%   79-84
test/test_complex_systems.py                          56      4    93%   123-126
test/test_information_theory.py                       25      4    84%   33-36
--------------------------------------------------------------------------------
TOTAL                                                316     62    80%

Looking into some of the missing lines reveals some major code blocks that aren't touched:

  • in kl_divergence.novelty_transience_resonance the main for loop does not get entered under the given test parameters.
  • in hill_diversity.hill_shannon the special cases where q==0 or 2 and the general case are not tested.
  • the function fluctuation_complexity is not tested

There are some other minor areas that aren't touched by the tests as listed in the "Missing" column, but these three look like the best spots for improvement.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions