Ferrite-FEM / Ferrite-FEM/Ferrite.jl

Improve test coverage of foundational code and document fundamental assumptions

Open
#558 1 comment 1 reaction 0 assignees View on GitHub
enhancement help wanted
Dominant language
Julia
Stars
453
Forks
115
Avg merge
1d 17h
Merged PRs (30d)
11

Description

https://github.com/Ferrite-FEM/FerriteViz.jl/pull/51 revealed another problem with something seemingly simple (i.e. generating triangle grids). With the help of https://github.com/Ferrite-FEM/Ferrite.jl/pull/517 @koehlerson and I were able to track down issues in the build in grid generators. Some more of the recent PRs (e.g. https://github.com/Ferrite-FEM/Ferrite.jl/pull/553 and https://github.com/Ferrite-FEM/Ferrite.jl/pull/523) fix symptoms of something more fundamental. Technically speaking we have test coverage (in the sense of path coverage) on fundamental code, but we do not test the implementation assumptions. For example, the interpolation tests (https://github.com/Ferrite-FEM/Ferrite.jl/blob/master/test/test_interpolations.jl) cover some mathematical properties, which should be fulfilled by the implementation, but they do not cover some important implementation details. This is different from https://github.com/Ferrite-FEM/Ferrite.jl/issues/399, which suggest a guideline for implementing new elements.

Testing the foundation will be quite tricky, because it is neither a real unit nor an integration test. Let us discuss possibilities in this thread with the goal to avoid regressions in the future (and maybe to uncover faulty assumptions between different portions of the code).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.