-
Notifications
You must be signed in to change notification settings - Fork 226
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add C# 9 test cases (8 rules) (#3698)
- Loading branch information
1 parent
83e869e
commit e4351a7
Showing
17 changed files
with
325 additions
and
60 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
43 changes: 43 additions & 0 deletions
43
...et/tests/SonarAnalyzer.UnitTest/TestCases/UnchangedLocalVariablesShouldBeConst.CSharp9.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
using System; | ||
|
||
int target = 32; // Noncompliant {{Add the 'const' modifier to 'target'.}} | ||
// ^^^^^^ | ||
const int alreadyConst = 32; | ||
|
||
if (target == alreadyConst) | ||
{ | ||
} | ||
|
||
nint foo = 42; // Noncompliant | ||
|
||
nuint bar = 31; // Noncompliant - FP | ||
bar++; | ||
|
||
if (target == (int)bar) | ||
{ | ||
} | ||
|
||
Func<int, int> staticLambda = static (t) => | ||
{ | ||
int v = 41; // Noncompliant | ||
return v; | ||
}; | ||
|
||
Func<int, int, int> withDiscard = static (_, _) => | ||
{ | ||
int v = 41; // Noncompliant | ||
return v; | ||
}; | ||
|
||
record Rec | ||
{ | ||
public Rec() | ||
{ | ||
int target = 32; // Noncompliant {{Add the 'const' modifier to 'target'.}} | ||
// ^^^^^^ | ||
if (target == 1) | ||
{ | ||
} | ||
} | ||
} | ||
|
37 changes: 37 additions & 0 deletions
37
...alyzer-dotnet/tests/SonarAnalyzer.UnitTest/TestCases/UninvokedEventDeclaration.CSharp9.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
using System; | ||
|
||
public record EventInvocations | ||
{ | ||
public event EventHandler MyEvent1; | ||
public event EventHandler MyEvent2; | ||
public event EventHandler MyEvent3; | ||
public event EventHandler MyEvent4; | ||
public event EventHandler MyEvent5; | ||
public event EventHandler MyEvent6; | ||
public event EventHandler MyEvent7; // Compliant - FN | ||
|
||
public event Action<object, EventArgs> MyAction1; | ||
public event Action<object, EventArgs> MyAction2; | ||
public event Action<object, EventArgs> MyAction3; | ||
public event Action<object, EventArgs> MyAction4; | ||
public event Action<object, EventArgs> MyAction5; | ||
public event Action<object, EventArgs> MyAction6; | ||
public event Action<object, EventArgs> MyAction7; // Compliant - FN | ||
|
||
public void InvokeAll() | ||
{ | ||
MyEvent1(this, EventArgs.Empty); | ||
MyEvent2.Invoke(this, EventArgs.Empty); | ||
MyEvent3.DynamicInvoke(this, EventArgs.Empty); | ||
MyEvent4.BeginInvoke(this, EventArgs.Empty, null, null); | ||
this.MyEvent5(this, EventArgs.Empty); | ||
MyEvent6?.Invoke(this, EventArgs.Empty); | ||
|
||
MyAction1(this, EventArgs.Empty); | ||
MyAction2.Invoke(this, EventArgs.Empty); | ||
MyAction3.DynamicInvoke(this, EventArgs.Empty); | ||
MyAction4.BeginInvoke(this, EventArgs.Empty, null, null); | ||
this.MyAction5(this, EventArgs.Empty); | ||
MyAction6?.Invoke(this, EventArgs.Empty); | ||
} | ||
} |
11 changes: 11 additions & 0 deletions
11
sonaranalyzer-dotnet/tests/SonarAnalyzer.UnitTest/TestCases/UnnecessaryUsings.CSharp9.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
using System; | ||
using System.Linq; // Noncompliant | ||
// Noncompliant@-1 - FP: duplicate | ||
using System.Collections; | ||
|
||
Console.WriteLine("a"); | ||
|
||
record Record | ||
{ | ||
public double Size(IList list) => list.Count; | ||
} |
Oops, something went wrong.