Skip to content

Commit

Permalink
S3415: Add FN/FP repro for #6630 (#6631)
Browse files Browse the repository at this point in the history
  • Loading branch information
cristian-ambrosini-sonarsource committed Jan 23, 2023
1 parent f531779 commit 92343ca
Show file tree
Hide file tree
Showing 3 changed files with 74 additions and 0 deletions.
Expand Up @@ -33,6 +33,32 @@ public void Foo()
}
}

// https://github.com/SonarSource/sonar-dotnet/issues/6630
namespace Repro_6630
{
[TestClass]
class Program
{
[TestMethod]
public void Foo()
{
var str = "";
Assert.AreEqual(actual: "", expected: str); // Compliant FN
Assert.AreEqual(expected: "", actual: str); // Compliant
Assert.AreEqual(actual: str, expected: ""); // Noncompliant FP
Assert.AreEqual(expected: str, actual: ""); // Noncompliant

Assert.AreNotEqual(actual: "", notExpected: str); // Compliant FN
Assert.AreSame(actual: "", expected: str); // Compliant FN
Assert.AreNotSame(actual: "", notExpected: str); // Compliant FN

int d = 42;
Assert.AreEqual<int>(actual: 1, expected: d); // Compliant FN
Assert.AreEqual(actual: null, expected: new Program()); // Compliant FN
}
}
}

// https://github.com/SonarSource/sonar-dotnet/issues/6547
namespace Repro_6547
{
Expand Down
Expand Up @@ -33,6 +33,30 @@ public void Foo()
}
}

// https://github.com/SonarSource/sonar-dotnet/issues/6630
namespace Repro_6630
{
[TestFixture]
class Program
{
[Test]
public void Foo()
{
var str = "";
Assert.AreEqual(actual: "", expected: str); // Compliant FN
Assert.AreEqual(expected: "", actual: str); // Compliant
Assert.AreEqual(actual: str, expected: ""); // Noncompliant FP
Assert.AreEqual(expected: str, actual: ""); // Noncompliant

Assert.AreNotEqual(actual: "", expected: str); // Compliant FN
Assert.AreSame(actual: "", expected: str); // Compliant FN
Assert.AreNotSame(actual: "", expected: str); // Compliant FN

Assert.AreEqual(actual: null, expected: new Program()); // Compliant FN
}
}
}

// https://github.com/SonarSource/sonar-dotnet/issues/6547
namespace Repro_6547
{
Expand Down
Expand Up @@ -28,6 +28,30 @@ public void Foo()
}
}

// https://github.com/SonarSource/sonar-dotnet/issues/6630
namespace Repro_6630
{
class Program
{
[Fact]
public void Foo()
{
var str = "";
Assert.Equal(actual: "", expected: str); // Compliant FN
Assert.Equal(expected: "", actual: str); // Compliant
Assert.Equal(actual: str, expected: ""); // Noncompliant FP
Assert.Equal(expected: str, actual: ""); // Noncompliant

Assert.Same(actual: "", expected: str); // Compliant FN
Assert.NotSame(actual: "", expected: str); // Compliant FN

int d = 42;
Assert.Equal<int>(actual: 1, expected: d); // Compliant FN
Assert.Equal(actual: null, expected: new Program()); // Compliant FN
}
}
}

// https://github.com/SonarSource/sonar-dotnet/issues/6547
namespace Repro_6547
{
Expand Down

0 comments on commit 92343ca

Please sign in to comment.