JuliaDynamics / ComplexityMeasures.jl

Estimators for probabilities, entropies, and other complexity measures derived from data in the context of nonlinear dynamics and complex systems
MIT License
56 stars 14 forks source link

Added test cases in curado.jl #319

Closed Jay-sanjay closed 1 year ago

Jay-sanjay commented 1 year ago

Added test cases in curado.jl for issue #85

codecov[bot] commented 1 year ago

Codecov Report

Merging #319 (9e66da0) into main (547b8fa) will not change coverage. Report is 1 commits behind head on main. The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #319   +/-   ##
=======================================
  Coverage   87.76%   87.76%           
=======================================
  Files          76       76           
  Lines        1920     1920           
=======================================
  Hits         1685     1685           
  Misses        235      235           
Files Changed Coverage Δ
...c/encoding_implementations/combination_encoding.jl 100.00% <100.00%> (ø)
src/encoding_implementations/gaussian_cdf.jl 100.00% <100.00%> (ø)
src/encoding_implementations/ordinal_pattern.jl 86.79% <100.00%> (ø)
...rc/encoding_implementations/rectangular_binning.jl 94.44% <100.00%> (ø)
...lementations/relative_first_difference_encoding.jl 95.83% <100.00%> (ø)
...encoding_implementations/relative_mean_encoding.jl 94.44% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Jay-sanjay commented 1 year ago

Hi all , as far as the codecov report the test-cases I added are not worth enough to increase the code coverage. I wanted to ask what can I do so that my tests creates the difference.

kahaaga commented 1 year ago

Hi, @Jay-sanjay! Thanks for your work on this PR.

The test coverage for Curado on the main branch is actually already at 100% (see https://app.codecov.io/gh/JuliaDynamics/ComplexityMeasures.jl/tree/main/src%2Finformation_measure_definitions). That's why you don't see any difference in the coverage for this PR.

The methods that are tested for every entropy definition is information and information_maximum. These are implemented specifically for the Curado entropy in the src/information_measure_definitions/curado.jl file (the information(::Curado, ...) and information_maximum(::Curado) methods).

As you can see in the test/infomeasures/infomeasure_types/curado.jl file, both these methods are already tested with a Curado instance as input. Therefore, the new tests in this PR don't actually contribute any fundamentally new test cases (with respect to methods being tested, since coverage of these methods are at 100% already).

What your contribution adds, however, is coverage for more input parameters, which is not (and cannot) be caught by CodeCov. Specifically,

I'm fine with merging these new tests, since they do increase analytical test coverage, and especially since it is aimed to address #85. Agree/disagree/comments, @Datseris?

Jay-sanjay commented 1 year ago

@kahaaga sir can you please tell from where can I know that which ones are the potential ones , where the testcase's needs to be added and have less code coverage...?

kahaaga commented 1 year ago

@Jay-sanjay I added a comment in #85 specifying how to find the latest coverage reports.

There's quite a few minor fixes to do scattered around the library. Some require quite a bit of technical insight into the methods, while others are easier (for example, verifying that errors are thrown for certain input parameters).

Please ignore the lack of test coverage for the multiscale.jl file - we are currently rethinking the multiscale code, so it doesn't have or need any tests at the moment.

Datseris commented 1 year ago

Sure, more tests is always better, as long as they are meaningful, even if they don't increase coverage.

Jay-sanjay commented 1 year ago

Thank you sir :)