chore: test cleanup#117
Merged
Merged
Conversation
- Remove unused `#pragma warning disable IDE0022` from ResultTests.cs. - Convert tab indentation to 4 spaces in RunAsyncFuncTests.cs to match the rest of the test project. - Remove redundant inheritance-verification tests from ResultOfTTests (AllSucceeded / AnyFailed / Flatten via `Result<int>.`). These just exercised C# static-member inheritance, which is a language feature. The actual logic is already covered in ResultTests. - Migrate the multi-failure Flatten test (the one case that wasn't also in ResultTests) into ResultTests so coverage is preserved. Test count: 97 -> 82 (16 redundant tests removed, 1 added). All tests pass. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR performs test-suite cleanup for the Try-Pattern C# library by removing redundant/unused test code and aligning formatting, while preserving coverage for the only non-duplicated Result.Flatten multi-failure case.
Changes:
- Normalized indentation in
RunAsyncFuncTests.cs(tabs → 4 spaces). - Removed an unused
#pragma warning disable IDE0022fromResultTests.csand added a dedicated multi-failureFlattenassertion there. - Deleted redundant
Result<int>.AllSucceeded/AnyFailed/Flattentests fromResultOfTTests.cs(they duplicatedResultTestscoverage and only exercised static-member access via the derived type).
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| tests/Wolfgang.TryPattern.Tests/RunAsyncFuncTests.cs | Formatting-only change to match test-project indentation conventions. |
| tests/Wolfgang.TryPattern.Tests/ResultTests.cs | Removes unused pragma and adds multi-failure Flatten assertion using the library’s "\n" join behavior. |
| tests/Wolfgang.TryPattern.Tests/ResultOfTTests.cs | Removes redundant static-member access tests and leaves an explanatory note to avoid reintroducing them. |
4 tasks
Chris-Wolfgang
added a commit
that referenced
this pull request
May 19, 2026
Changes since v0.3.1: - fix: null-element validation in Result.Flatten / AllSucceeded / AnyFailed (#113) — previously calling `.Failed` on a null element threw NullReferenceException; now throws ArgumentException with the index of the offending element. Adds [NotNull] post-condition attribute to all three methods plus all Try.Run/RunAsync overloads. Polyfills NotNullAttribute for net462 / netstandard2.0. - perf: Result.Success() now returns a cached singleton instead of allocating per call (#114). Behavior is locked in by a test using Assert.Same; XML docs warn callers not to rely on reference identity. - perf: replace LINQ in Flatten / AllSucceeded / AnyFailed with index- based for-loops (#116). Flatten is now single-pass with a lazy StringBuilder so the common single-failure case has zero extra allocation. AllSucceeded / AnyFailed short-circuit on first failure, so a trailing null past the decisive element no longer throws (documented in <exception> XML and locked in by tests). - refactor: simplify Result ctor validation (#115) — switch-when replaced with two guard-clause ifs. No behavior change; exception messages and ParamName preserved. - chore: test cleanup (#117) — remove redundant inheritance- verification tests, fix tabs vs spaces, drop unused pragma. - chore(deps): Bump Meziantou.Analyzer 3.0.77 → 3.0.85 (#118). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
#pragma warning disable IDE0022fromResultTests.cs.RunAsyncFuncTests.csto match the rest of the test project.ResultOfTTests(AllSucceeded/AnyFailed/Flattenaccessed viaResult<int>.). These only exercised C# static-member inheritance, which is a language feature.Flattenassertion (the one case that wasn't also inResultTests) intoResultTestsso coverage is preserved.Test count: 97 → 82 (16 redundant tests removed, 1 added).
Test plan
dotnet build -c Release— 0 warnings, 0 errorsdotnet test -c Release --framework net8.0— 82/82 passing🤖 Generated with Claude Code