Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unit Testing #166

Open
jacob-moore22 opened this issue Feb 9, 2024 · 0 comments
Open

Unit Testing #166

jacob-moore22 opened this issue Feb 9, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed

Comments

@jacob-moore22
Copy link
Collaborator

Currently, Fierro has limited unit testing coverage. This needs to be remedied for the long-term health of the project. Automated unit testing allows for the safe integration of new features by warning of any unforeseen side effects of the proposed changes. The existing unit testing leverages Google Test, which is great, and I suggest we keep to that moving forward.

Unit testing is great, but it does add some requirements on how you think about structuring your code. These tests require that your functions be broken into small testable units with clearly defined inputs and outputs. Also, the inputs need to be mimicable so that they can be generated inside of the test code.

Some examples of unit tests that Fierro needs.

  • Single element, single time step evolution with well-defined inputs and known expected outputs for evolving each relevant state
  • Test of every step of mesh generation (unit test each connectivity structure)
  • Test of volume and BMatrix calculations in geometry.

We should leave this issue open until we improve code coverage and update it as we work.

@jacob-moore22 jacob-moore22 added enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed labels Feb 9, 2024
@jacob-moore22 jacob-moore22 self-assigned this Feb 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant