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:
co-authored by
Claude Opus 4.7
parent
505ada5017
commit
67512d23e1
+125
-65
@@ -17,9 +17,12 @@ public class QueryBreakdownExtensionsTests
|
||||
// Act
|
||||
var result = query.Select("id, name");
|
||||
|
||||
// Assert
|
||||
Assert.That(result, Is.SameAs(query));
|
||||
Assert.That(query.SelectClause.Clause, Is.EqualTo("id, name"));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(result, Is.SameAs(query));
|
||||
Assert.That(query.SelectClause.Clause, Is.EqualTo("id, name"));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -31,9 +34,12 @@ public class QueryBreakdownExtensionsTests
|
||||
// Act
|
||||
var result = query.From("users");
|
||||
|
||||
// Assert
|
||||
Assert.That(result, Is.SameAs(query));
|
||||
Assert.That(query.FromClause.Clause, Is.EqualTo("users"));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(result, Is.SameAs(query));
|
||||
Assert.That(query.FromClause.Clause, Is.EqualTo("users"));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -45,9 +51,12 @@ public class QueryBreakdownExtensionsTests
|
||||
// Act
|
||||
var result = query.Where("active = 1");
|
||||
|
||||
// Assert
|
||||
Assert.That(result, Is.SameAs(query));
|
||||
Assert.That(query.WhereClause.Clause, Is.EqualTo("active = 1"));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(result, Is.SameAs(query));
|
||||
Assert.That(query.WhereClause.Clause, Is.EqualTo("active = 1"));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -59,9 +68,12 @@ public class QueryBreakdownExtensionsTests
|
||||
// Act
|
||||
var result = query.GroupBy("department");
|
||||
|
||||
// Assert
|
||||
Assert.That(result, Is.SameAs(query));
|
||||
Assert.That(query.GroupByClause.Clause, Is.EqualTo("department"));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(result, Is.SameAs(query));
|
||||
Assert.That(query.GroupByClause.Clause, Is.EqualTo("department"));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -73,9 +85,12 @@ public class QueryBreakdownExtensionsTests
|
||||
// Act
|
||||
var result = query.Having("COUNT(*) > 5");
|
||||
|
||||
// Assert
|
||||
Assert.That(result, Is.SameAs(query));
|
||||
Assert.That(query.HavingClause.Clause, Is.EqualTo("COUNT(*) > 5"));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(result, Is.SameAs(query));
|
||||
Assert.That(query.HavingClause.Clause, Is.EqualTo("COUNT(*) > 5"));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -87,9 +102,12 @@ public class QueryBreakdownExtensionsTests
|
||||
// Act
|
||||
var result = query.OrderBy("name ASC");
|
||||
|
||||
// Assert
|
||||
Assert.That(result, Is.SameAs(query));
|
||||
Assert.That(query.OrderByClause.Clause, Is.EqualTo("name ASC"));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(result, Is.SameAs(query));
|
||||
Assert.That(query.OrderByClause.Clause, Is.EqualTo("name ASC"));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -101,9 +119,12 @@ public class QueryBreakdownExtensionsTests
|
||||
// Act
|
||||
var result = query.AddWhere("AND age > 18");
|
||||
|
||||
// Assert
|
||||
Assert.That(result, Is.SameAs(query));
|
||||
Assert.That(query.WhereClause.Clause, Does.Contain("active = 1"));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(result, Is.SameAs(query));
|
||||
Assert.That(query.WhereClause.Clause, Does.Contain("active = 1"));
|
||||
});
|
||||
Assert.That(query.WhereClause.Clause, Does.Contain("AND age > 18"));
|
||||
}
|
||||
|
||||
@@ -120,10 +141,13 @@ public class QueryBreakdownExtensionsTests
|
||||
.From("users")
|
||||
.Where("active = 1");
|
||||
|
||||
// Assert
|
||||
Assert.That(query.SelectClause.Clause, Is.EqualTo("id, name"));
|
||||
Assert.That(query.FromClause.Clause, Is.EqualTo("users"));
|
||||
Assert.That(query.WhereClause.Clause, Is.EqualTo("active = 1"));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(query.SelectClause.Clause, Is.EqualTo("id, name"));
|
||||
Assert.That(query.FromClause.Clause, Is.EqualTo("users"));
|
||||
Assert.That(query.WhereClause.Clause, Is.EqualTo("active = 1"));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -138,13 +162,16 @@ public class QueryBreakdownExtensionsTests
|
||||
.Having("COUNT(*) > 5")
|
||||
.OrderBy("employee_count DESC");
|
||||
|
||||
// Assert
|
||||
Assert.That(query.SelectClause.Clause, Is.EqualTo("department, COUNT(*) as employee_count"));
|
||||
Assert.That(query.FromClause.Clause, Is.EqualTo("employees"));
|
||||
Assert.That(query.WhereClause.Clause, Is.EqualTo("salary > 50000"));
|
||||
Assert.That(query.GroupByClause.Clause, Is.EqualTo("department"));
|
||||
Assert.That(query.HavingClause.Clause, Is.EqualTo("COUNT(*) > 5"));
|
||||
Assert.That(query.OrderByClause.Clause, Is.EqualTo("employee_count DESC"));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(query.SelectClause.Clause, Is.EqualTo("department, COUNT(*) as employee_count"));
|
||||
Assert.That(query.FromClause.Clause, Is.EqualTo("employees"));
|
||||
Assert.That(query.WhereClause.Clause, Is.EqualTo("salary > 50000"));
|
||||
Assert.That(query.GroupByClause.Clause, Is.EqualTo("department"));
|
||||
Assert.That(query.HavingClause.Clause, Is.EqualTo("COUNT(*) > 5"));
|
||||
Assert.That(query.OrderByClause.Clause, Is.EqualTo("employee_count DESC"));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -186,12 +213,18 @@ public class QueryBreakdownExtensionsTests
|
||||
.Select("*")
|
||||
.From("active_users");
|
||||
|
||||
// Assert
|
||||
Assert.That(query.IsUsingWithClause, Is.True);
|
||||
Assert.That(query.WithClauses, Has.Count.EqualTo(1));
|
||||
Assert.That(query.WithClauses[0].TableName, Is.EqualTo("active_users"));
|
||||
Assert.That(query.SelectClause.Clause, Is.EqualTo("*"));
|
||||
Assert.That(query.FromClause.Clause, Is.EqualTo("active_users"));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(query.IsUsingWithClause, Is.True);
|
||||
Assert.That(query.WithClauses, Has.Count.EqualTo(1));
|
||||
});
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(query.WithClauses[0].TableName, Is.EqualTo("active_users"));
|
||||
Assert.That(query.SelectClause.Clause, Is.EqualTo("*"));
|
||||
Assert.That(query.FromClause.Clause, Is.EqualTo("active_users"));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -236,11 +269,17 @@ public class QueryBreakdownExtensionsTests
|
||||
.From("active_users u LEFT JOIN recent_orders o ON u.id = o.user_id")
|
||||
.GroupBy("u.id, u.name");
|
||||
|
||||
// Assert
|
||||
Assert.That(query.IsUsingWithClause, Is.True);
|
||||
Assert.That(query.WithClauses, Has.Count.EqualTo(2));
|
||||
Assert.That(query.WithClauses[0].TableName, Is.EqualTo("active_users"));
|
||||
Assert.That(query.WithClauses[1].TableName, Is.EqualTo("recent_orders"));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(query.IsUsingWithClause, Is.True);
|
||||
Assert.That(query.WithClauses, Has.Count.EqualTo(2));
|
||||
});
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(query.WithClauses[0].TableName, Is.EqualTo("active_users"));
|
||||
Assert.That(query.WithClauses[1].TableName, Is.EqualTo("recent_orders"));
|
||||
});
|
||||
}
|
||||
|
||||
private static readonly string[] columns = new[] { "id", "name", "email" };
|
||||
@@ -259,10 +298,13 @@ public class QueryBreakdownExtensionsTests
|
||||
|
||||
var sql = query.GetSql();
|
||||
|
||||
// Assert
|
||||
Assert.That(query.IsUsingWithClause, Is.True);
|
||||
Assert.That(query.WithClauses, Has.Count.EqualTo(1));
|
||||
Assert.That(sql, Does.Contain("active_users (id, name, email)"));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(query.IsUsingWithClause, Is.True);
|
||||
Assert.That(query.WithClauses, Has.Count.EqualTo(1));
|
||||
Assert.That(sql, Does.Contain("active_users (id, name, email)"));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -280,9 +322,12 @@ public class QueryBreakdownExtensionsTests
|
||||
.Select("*")
|
||||
.From("active_users");
|
||||
|
||||
// Assert
|
||||
Assert.That(query.IsUsingWithClause, Is.True);
|
||||
Assert.That(query.WithClauses, Has.Count.EqualTo(1));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(query.IsUsingWithClause, Is.True);
|
||||
Assert.That(query.WithClauses, Has.Count.EqualTo(1));
|
||||
});
|
||||
Assert.That(query.WithClauses[0].TableName, Is.EqualTo("active_users"));
|
||||
}
|
||||
|
||||
@@ -331,8 +376,11 @@ public class QueryBreakdownExtensionsTests
|
||||
// Assert
|
||||
Assert.That(sql, Does.Contain("WITH"));
|
||||
Assert.That(sql, Does.Contain("monthly_sales AS"));
|
||||
Assert.That(sql, Does.Contain("LAG(total_sales)"));
|
||||
Assert.That(query.IsUsingWithClause, Is.True);
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(sql, Does.Contain("LAG(total_sales)"));
|
||||
Assert.That(query.IsUsingWithClause, Is.True);
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -355,9 +403,12 @@ public class QueryBreakdownExtensionsTests
|
||||
|
||||
var sql = query.GetSql();
|
||||
|
||||
// Assert
|
||||
Assert.That(query.WithClauses, Has.Count.EqualTo(2));
|
||||
Assert.That(sql, Does.Contain("active_users AS"));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(query.WithClauses, Has.Count.EqualTo(2));
|
||||
Assert.That(sql, Does.Contain("active_users AS"));
|
||||
});
|
||||
Assert.That(sql, Does.Contain("user_orders AS"));
|
||||
Assert.That(sql, Does.Contain("customer_tier"));
|
||||
}
|
||||
@@ -467,9 +518,12 @@ public class QueryBreakdownExtensionsTests
|
||||
// Act - Overwrite clauses
|
||||
query.Select("id, name").Where("active = 0");
|
||||
|
||||
// Assert
|
||||
Assert.That(query.SelectClause.Clause, Is.EqualTo("id, name"));
|
||||
Assert.That(query.WhereClause.Clause, Is.EqualTo("active = 0"));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(query.SelectClause.Clause, Is.EqualTo("id, name"));
|
||||
Assert.That(query.WhereClause.Clause, Is.EqualTo("active = 0"));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -481,10 +535,13 @@ public class QueryBreakdownExtensionsTests
|
||||
.From("")
|
||||
.Where("");
|
||||
|
||||
// Assert
|
||||
Assert.That(query.SelectClause.Clause, Is.EqualTo(""));
|
||||
Assert.That(query.FromClause.Clause, Is.EqualTo(""));
|
||||
Assert.That(query.WhereClause.Clause, Is.EqualTo(""));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(query.SelectClause.Clause, Is.EqualTo(""));
|
||||
Assert.That(query.FromClause.Clause, Is.EqualTo(""));
|
||||
Assert.That(query.WhereClause.Clause, Is.EqualTo(""));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -495,9 +552,12 @@ public class QueryBreakdownExtensionsTests
|
||||
.Select(" id, name ")
|
||||
.From(" users ");
|
||||
|
||||
// Assert
|
||||
Assert.That(query.SelectClause.Clause, Is.EqualTo(" id, name "));
|
||||
Assert.That(query.FromClause.Clause, Is.EqualTo(" users "));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// Assert
|
||||
Assert.That(query.SelectClause.Clause, Is.EqualTo(" id, name "));
|
||||
Assert.That(query.FromClause.Clause, Is.EqualTo(" users "));
|
||||
});
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
Reference in New Issue
Block a user