Skip to content

Review and tighten the unit-test additions since the #85 cleanup #351

Description

@Bronek

PR #286 (c150021) gave the suite its reference shape and put the test standards in CONTRIBUTING.md ## Unit tests. Since then, twenty-three feature merges have added roughly 9k test lines (#312, #317, #320, #322, #324, #327, #329, #330, #333, #336, #337, #343, #345, #353, #354, #356, #358, #360, #361, #362, #366, #369, #370 — plus the mechanical #348 rename and #355's lane removal), each written to the standards individually but never reviewed as a whole.

Before the 0.1 tag:

  • Review all test additions since c150021 against CONTRIBUTING.md ## Unit tests and the reference shape; restructure where the additions have drifted from it (placement, section order, assertion kinds — compile-time facts as static_assert alone, negatives paired with their converses).
  • Tighten gaps in the coverage of the new features themselves — including the known one: apply unpacking a lone tuple-like payload through the verbs is intended behaviour and untested.
  • Increase noexcept and exception-handling coverage systematically: static noexcept probes for the conditional specifications introduced across the wave (widening arms, emplace, value/widening operator=, the apply family, the empty-copack vacuous paths, the heterogeneous joins, the identity-cluster verb arms, the operator&/operator| families), and runtime exception paths — throwing constructors during widening and reinitialization, the strong guarantee on assignment, verb-layer propagation.

The #348 rename and #355 lane removal are in scope only as a spot-check that nothing was dropped in the moves. The review holds across the build modes (C++20/23 lanes and the LIBFN_CXX26 mode added by #362).

Metadata

Metadata

Assignees

No one assigned

    Labels

    release-0.1Planned for release 0.1

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions