Skip to content

Conversation

@ScSteffen
Copy link
Contributor

@ScSteffen ScSteffen commented Feb 10, 2026

Proposed Changes

This PR adds a comprehensive suite of unit tests covering critical modules of the codebase:

  • Config parsing tests (test_config_extended.cpp): Validates configuration file parsing for solver parameters, optimizer settings, quadrature rules, boundary conditions, and problem definitions
  • Entropy function tests (test_entropy.cpp): Verifies quadratic and Maxwell-Boltzmann entropy implementations including derivatives, duality properties, and mathematical identities
  • I/O operations tests (test_io.cpp): Tests round-trip serialization/deserialization of mesh connectivity and restart solution files
  • Numerical flux tests (test_numericalflux_extended.cpp): Validates upwind flux computations for scalar and matrix cases, including Steger-Warming and Van Leer schemes
  • Optimizer tests (test_optimizer_extended.cpp): Tests Newton, Regularized Newton, and Part Regularized Newton optimizers with various entropy functions and moment reconstructions
  • Problem geometry tests (test_problemgeometry.cpp): Validates cross-section properties, analytical solutions, and initial conditions for checkerboard, lattice, and line source problems
  • Utility function tests (test_utilities.cpp): Tests text processing utilities and slope limiter functions

These tests ensure correctness of fundamental algorithms and provide regression protection for future development.

Related Work

These tests complement existing test infrastructure and provide coverage for modules that previously lacked dedicated unit tests. They follow the Catch2 testing framework already in use by the project.

PR Checklist

  • I am submitting my contribution to the develop branch.
  • My contribution is commented and uses the code style of the project (see .clang-format).
  • I have added a test case that demonstrates my contribution, if necessary.
  • I have added unit tests to protect my modules, if necessary.
  • I have updated appropriate documentation (Tutorials, RTD Page), if necessary.

Cover previously untested areas: text processing utilities, slope
limiters, entropy classes (quadratic + Maxwell-Boltzmann), upwind flux
overloads (FluxXZ, Flux1D, FluxVanLeer, vectorized), IO round-trip
(connectivity + restart solution), problem geometry (checkerboard,
lattice, line source analytical solution), expanded config parameter
parsing, and additional optimizer scenarios.

https://claude.ai/code/session_01VcLByz1wmHxA1Wev5PwVGL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants