Skip to content

Commit

Permalink
Merge pull request #698 from verdie-g/are-equal-null-message-fix
Browse files Browse the repository at this point in the history
Remove null message in AreEqual code fix
  • Loading branch information
manfred-brands committed Mar 5, 2024
2 parents a8720ac + 0c12fdb commit 47648c5
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,22 @@ public void TestMethod()
RoslynAssert.CodeFix(analyzer, fix, expectedDiagnostic, code, fixedCode, fixTitle: ClassicModelAssertUsageCodeFix.TransformToConstraintModelDescription);
}

[Test]
public void VerifyAreEqualFixWithNullMessage()
{
var code = TestUtility.WrapMethodInClassNamespaceAndAddUsings(@"
public void TestMethod()
{
↓ClassicAssert.AreEqual(2d, 3d, null);
}");
var fixedCode = TestUtility.WrapMethodInClassNamespaceAndAddUsings(@"
public void TestMethod()
{
Assert.That(3d, Is.EqualTo(2d));
}");
RoslynAssert.CodeFix(analyzer, fix, expectedDiagnostic, code, fixedCode, fixTitle: ClassicModelAssertUsageCodeFix.TransformToConstraintModelDescription);
}

[Test]
public void VerifyAreEqualFixWithMessageAndParams()
{
Expand Down Expand Up @@ -120,6 +136,22 @@ public void TestMethod()
RoslynAssert.CodeFix(analyzer, fix, expectedDiagnostic, code, fixedCode, fixTitle: ClassicModelAssertUsageCodeFix.TransformToConstraintModelDescription);
}

[Test]
public void VerifyAreEqualFixWhenToleranceExistsWithNullMessage()
{
var code = TestUtility.WrapMethodInClassNamespaceAndAddUsings(@"
public void TestMethod()
{
↓ClassicAssert.AreEqual(2d, 3d, 0.1, null);
}");
var fixedCode = TestUtility.WrapMethodInClassNamespaceAndAddUsings(@"
public void TestMethod()
{
Assert.That(3d, Is.EqualTo(2d).Within(0.1));
}");
RoslynAssert.CodeFix(analyzer, fix, expectedDiagnostic, code, fixedCode, fixTitle: ClassicModelAssertUsageCodeFix.TransformToConstraintModelDescription);
}

[Test]
public void VerifyAreEqualFixWhenToleranceExistsWithMessageAndParams()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,12 @@ public sealed override async Task RegisterCodeFixesAsync(CodeFixContext context)
else
this.UpdateArguments(diagnostic, arguments, typeArguments);

// Remove null message to avoid ambiguous calls.
if (arguments.Count == 3 && arguments[2].Expression.IsKind(SyntaxKind.NullLiteralExpression))
{
arguments.RemoveAt(2);
}

// Do the format spec, params to formattable string conversion
CodeFixHelper.UpdateStringFormatToFormattableString(arguments, this.MinimumNumberOfParameters);

Expand Down

0 comments on commit 47648c5

Please sign in to comment.