Skip to content

test(xunit): CurrentErrorItemCount default + no-over-read (#49) contract tests - #253

Merged
Chris-Wolfgang merged 1 commit into
vNextfrom
test/error-count-and-no-over-read
Jul 27, 2026
Merged

test(xunit): CurrentErrorItemCount default + no-over-read (#49) contract tests#253
Chris-Wolfgang merged 1 commit into
vNextfrom
test/error-count-and-no-over-read

Conversation

@Chris-Wolfgang

Copy link
Copy Markdown
Owner

Into vNext for 0.11.0. Adds contract-test coverage on all three base classes:

  1. CurrentErrorItemCount_defaults_to_zero — the new 0.18 counter, parallel to the Add CurrentSkippedItemCount contract tests to TestKit.Xunit #248 skipped-count default-zero tests. Free coverage for every downstream consumer.
  2. No over-read (Contract test: components stop mid-enumeration when MaximumItemCount / cancellation is hit (no over-read) #49) — a stage must stop pulling from its source once MaximumItemCount is reached (≤ M+1 reads) or the run is cancelled, and a pre-cancelled token must read nothing. An internal PullCounter wraps the source and counts pulls. The extractor opts in via a new virtual CreateSutOverSource factory (a no-op by default, so no existing consumer breaks; extractors whose source isn't an injectable sequence simply skip these three tests). Wired for the TestExtractor doubles.
  3. CHANGELOG updated for the Add CurrentSkippedItemCount contract tests to TestKit.Xunit #248 counter tests and Contract test: components stop mid-enumeration when MaximumItemCount / cancellation is hit (no over-read) #49.

+12 tests. Full multi-TFM build clean; 295 xunit tests pass on both net10.0 and net48.

Closes #49. (Fires when vNext merges to main.)

…contract tests

- CurrentErrorItemCount_defaults_to_zero on all three base contract classes (the new 0.18
  counter, parallel to the #248 skipped-count default-zero tests).
- No-over-read contract tests (#49) on all three bases: a stage must stop pulling from its
  source once MaximumItemCount is reached (<= M+1 reads) or the run is cancelled, and a
  pre-cancelled token must read nothing. An internal PullCounter wraps the source. Extractors
  opt in via a new virtual CreateSutOverSource factory (no-op by default), wired for the
  TestExtractor doubles.
- CHANGELOG: document the #248 counter tests and #49.

+12 tests. Full multi-TFM build clean; 295 xunit tests pass on net10.0 and net48.

Closes #49

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 27, 2026 22:34

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

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