Skip to content

Shouldly assertions in tests, shared TargetFrameworks in Directory.Build.props - #3

Merged
holonsoftFounder merged 2 commits into
mainfrom
chore/shouldly-tests
Sep 7, 2026
Merged

holonsoftFounder merged 2 commits into
mainfrom
chore/shouldly-tests

Conversation

@holonsoftFounder

Copy link
Copy Markdown
Member

Code cosmetics only, no behavior change in the libraries and no release.

Changes

  • Shouldly replaces xunit Assert.* in all 21 test classes (about 760 assertions). Shouldly and Xunit are global usings in the test csproj.
  • String containment checks pass Case.Sensitive explicitly: Shouldly's ShouldContain/ShouldStartWith on strings are case-insensitive by default, xunit's are not. Verified against Shouldly 4.3.0.
  • Test classes and nested argument classes are sealed where nothing derives from them.
  • LibraryTargetFrameworks (net8.0;net9.0;net10.0) is defined once in Directory.Build.props and referenced by the two libraries and the test project, same layout as AutoPoco. Benchmarks stay net10.0 only.
  • README mentions Shouldly.

Verification

  • Release build of the solution: 0 warnings, 0 errors on all three target frameworks.
  • Test exe run per target framework: 313 passed each, matching the 939 total of the last CI run on main.
  • Test names, order and asserted values are unchanged. The only semantic relaxation is Should.Throw<T> accepting derived exception types where Assert.Throws<T> required the exact type.

🤖 Generated with Claude Code

christian.vogt@hiquaro.com and others added 2 commits September 7, 2026 21:37
LibraryTargetFrameworks (net8.0;net9.0;net10.0) is defined once and
referenced by the two libraries and the test project, same layout as AutoPoco.
Benchmarks stay net10.0 only.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
All 21 test classes use Shouldly instead of xunit Assert. Shouldly and Xunit
are global usings in the test project. String containment checks pass
Case.Sensitive explicitly because Shouldly defaults to case-insensitive,
unlike xunit. Test classes and nested argument classes are sealed where
nothing derives from them. Test names, order and asserted values are
unchanged; 313 tests per target framework, same as before.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@holonsoftFounder
holonsoftFounder merged commit f24f7cc into main Sep 7, 2026
2 checks passed
@holonsoftFounder
holonsoftFounder deleted the chore/shouldly-tests branch September 7, 2026 19:57
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