Skip to content

test: raise Wolfgang.Etl.TestKit coverage to ≥90%#189

Merged
Chris-Wolfgang merged 1 commit into
vNextfrom
test/raise-testkit-coverage
Jun 25, 2026
Merged

test: raise Wolfgang.Etl.TestKit coverage to ≥90%#189
Chris-Wolfgang merged 1 commit into
vNextfrom
test/raise-testkit-coverage

Conversation

@Chris-Wolfgang

Copy link
Copy Markdown
Owner

Why

The vNext → main release PR (#187) fails CI's per-assembly 90% coverage gate: the Wolfgang.Etl.TestKit assembly sat at 80.3%. This PR adds test-only coverage to clear the gate and unblock #187.

Result

Assembly Wolfgang.Etl.TestKit: 80.3% → 99.13% line coverage.

Per-class (before → after):

Class Before After
FaultyExtractor 72.8% 100%
FaultyTransformer 69.2% 100%
FaultyLoader 75% 100%
TestTransformer 83.3% 94.1%
TestLoader 86.8% 95.8%
TestExtractor 89.7% 98.7%

What was covered

The previously-uncovered paths, all shared by the six doubles:

  1. Progress + injected-timer pathCreateProgressTimer wiring (both the _progressTimer is null → base and the !_progressTimerWired → subscribe branches), CreateProgressReport, and the Elapsed handler firing a progress report. Added on all three Faulty* doubles and the Test* doubles, plus the TestExtractor factory/indexed factory-with-timer constructor argument-validation branches.
  2. Dispose(bool) unsubscribe branch — covered on all six doubles.
  3. SkipItemCount / MaximumItemCount enforcement on the Faulty* doubles (skip-continue and max-break branches).

All new tests mirror the existing patterns (the *WithTimer nested subclass exposing the protected timer ctor, ManualProgressTimer + SynchronousProgress<Report> from Wolfgang.Etl.TestKit.Xunit). Test code only — no src/ production file was modified.

Verification (local)

  • dotnet build -c Release: 0 warnings, 0 errors (warnings-as-errors) across all test TFMs.
  • Full multi-TFM run: 153/153 passed on net6.0/7.0/8.0/9.0/10.0 and net462/472/48/481.
  • Coverage (--collect:"XPlat Code Coverage", net8.0): assembly line-rate 0.9913; every double class ≥ 0.94.

🤖 Generated with Claude Code

…s (raise Wolfgang.Etl.TestKit coverage ≥90%)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.

1 participant