chore(sonar): wrap independent assertions in Assert.Multiple (NUnit2045)

Driven by `dotnet format analyzers --diagnostics NUnit2045`. The fixer
groups consecutive independent `Assert.That(...)` calls into
`Assert.Multiple(() => { ... })`, so a failing assertion no longer
short-circuits the block — every failure inside the group is reported,
which gives much better diagnostics on multi-property tests.

Audit confirmed no Assert.Throws / Assert.Fail / Assert.Catch / Assert.Pass
/ Assert.DoesNotThrow got pulled inside a Multiple block (those need to
short-circuit). All 1180 tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Thom Lamb
2026-05-27 11:59:47 -05:00
co-authored by Claude Opus 4.7
parent 505ada5017
commit 67512d23e1
47 changed files with 2132 additions and 1113 deletions
@@ -188,8 +188,11 @@ public class QueryBreakdownCollectionTests
// Assert
Assert.That(summaries, Has.Count.EqualTo(2));
Assert.That(summaries[0].UsesSemiStructuredData, Is.True);
Assert.That(summaries[1].UsesStageReference, Is.True);
Assert.Multiple(() =>
{
Assert.That(summaries[0].UsesSemiStructuredData, Is.True);
Assert.That(summaries[1].UsesStageReference, Is.True);
});
}
[Test]
@@ -220,9 +223,12 @@ public class QueryBreakdownCollectionTests
// Act
_collection.AddParameterToAll("CompanyId", 99);
// Assert
Assert.That(_collection.QueryBreakdowns[0].Parameters["CompanyId"], Is.EqualTo(99));
Assert.That(_collection.QueryBreakdowns[1].Parameters["CompanyId"], Is.EqualTo(99));
Assert.Multiple(() =>
{
// Assert
Assert.That(_collection.QueryBreakdowns[0].Parameters["CompanyId"], Is.EqualTo(99));
Assert.That(_collection.QueryBreakdowns[1].Parameters["CompanyId"], Is.EqualTo(99));
});
}
[Test]