Implement SplitCalculator with unit + property tests #14

Closed
opened 2026-07-05 19:20:09 +01:00 by TimCane · 0 comments
TimCane commented 2026-07-05 19:20:09 +01:00 (Migrated from github.com)

Goal

Pure static largest-remainder Distribute (all-zero weights -> equal split) plus per-participant Open/finalize totals; xUnit cases + property invariants (sum-exact, non-negative, deterministic, post-finalize whole-bill). Built now, consumed in M4.

References

Done when

  • Advances M2 A4 (SplitCalculator tests pass).

Part of M2: Session core.

## Goal Pure static largest-remainder Distribute (all-zero weights -> equal split) plus per-participant Open/finalize totals; xUnit cases + property invariants (sum-exact, non-negative, deterministic, post-finalize whole-bill). Built now, consumed in M4. ## References - [docs/02-domain-model.md#largest-remainder-distribution](https://github.com/TimCane/bill-splitter/blob/main/docs/02-domain-model.md#largest-remainder-distribution) - [docs/02-domain-model.md#split-math-the-core-algorithm](https://github.com/TimCane/bill-splitter/blob/main/docs/02-domain-model.md#split-math-the-core-algorithm) - [docs/11-testing-strategy.md#splitcalculator](https://github.com/TimCane/bill-splitter/blob/main/docs/11-testing-strategy.md#splitcalculator) ## Done when - Advances M2 A4 (SplitCalculator tests pass). --- Part of **M2: Session core**.
Sign in to join this conversation.
No description provided.