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
@@ -23,9 +23,12 @@ public class LinqQueryBreakdownBuilderTests
// Assert
Assert.That(breakdown, Is.Not.Null);
Assert.That(breakdown.SelectClause.Clause, Contains.Substring("Id"));
Assert.That(breakdown.FromClause.Clause, Is.EqualTo("Users"));
Assert.That(breakdown.WhereClause.Clause, Is.EqualTo("Age > 18"));
Assert.Multiple(() =>
{
Assert.That(breakdown.SelectClause.Clause, Contains.Substring("Id"));
Assert.That(breakdown.FromClause.Clause, Is.EqualTo("Users"));
Assert.That(breakdown.WhereClause.Clause, Is.EqualTo("Age > 18"));
});
}
[Test]
@@ -375,13 +378,16 @@ public class LinqQueryBreakdownBuilderTests
.OrderByDescending("AvgSalary")
.Build();
// Assert
Assert.That(breakdown.SelectClause.Clause, Contains.Substring("Department"));
Assert.That(breakdown.FromClause.Clause, Is.EqualTo("Employees"));
Assert.That(breakdown.WhereClause.Clause, Is.EqualTo("IsActive = true"));
Assert.That(breakdown.GroupByClause.Clause, Is.EqualTo("Department, Position"));
Assert.That(breakdown.HavingClause.Clause, Is.EqualTo("COUNT(*) >= 3"));
Assert.That(breakdown.OrderByClause.Clause, Is.EqualTo("AvgSalary DESC"));
Assert.Multiple(() =>
{
// Assert
Assert.That(breakdown.SelectClause.Clause, Contains.Substring("Department"));
Assert.That(breakdown.FromClause.Clause, Is.EqualTo("Employees"));
Assert.That(breakdown.WhereClause.Clause, Is.EqualTo("IsActive = true"));
Assert.That(breakdown.GroupByClause.Clause, Is.EqualTo("Department, Position"));
Assert.That(breakdown.HavingClause.Clause, Is.EqualTo("COUNT(*) >= 3"));
Assert.That(breakdown.OrderByClause.Clause, Is.EqualTo("AvgSalary DESC"));
});
}
[Test]
@@ -396,10 +402,13 @@ public class LinqQueryBreakdownBuilderTests
.OrderByAscending("Id")
.Build();
// Assert
Assert.That(breakdown.SelectClause.Clause, Contains.Substring("Id"));
Assert.That(breakdown.WhereClause.Clause, Is.EqualTo("IsActive = true"));
Assert.That(breakdown.OrderByClause.Clause, Is.EqualTo("Id ASC"));
Assert.Multiple(() =>
{
// Assert
Assert.That(breakdown.SelectClause.Clause, Contains.Substring("Id"));
Assert.That(breakdown.WhereClause.Clause, Is.EqualTo("IsActive = true"));
Assert.That(breakdown.OrderByClause.Clause, Is.EqualTo("Id ASC"));
});
}
#endregion
@@ -503,9 +512,12 @@ public class LinqQueryBreakdownBuilderTests
.FromTable("Orders");
var breakdown2 = builder2.Build();
// Assert
Assert.That(breakdown1.FromClause.Clause, Is.EqualTo("Users"));
Assert.That(breakdown2.FromClause.Clause, Is.EqualTo("Orders"));
Assert.Multiple(() =>
{
// Assert
Assert.That(breakdown1.FromClause.Clause, Is.EqualTo("Users"));
Assert.That(breakdown2.FromClause.Clause, Is.EqualTo("Orders"));
});
}
#endregion