Skip to content

Commit 5a68081

Browse files
Improve coverage for AccessLevelHelper by adding tests for the GetAccessLevel method
1 parent 551d825 commit 5a68081

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

StyleCop.Analyzers/StyleCop.Analyzers.Test/HelperTests/AccessLevelHelperTests.cs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
namespace StyleCop.Analyzers.Test.HelperTests
77
{
88
using System;
9+
using System.Linq;
910
using Microsoft.CodeAnalysis;
11+
using Microsoft.CodeAnalysis.CSharp;
1012
using StyleCop.Analyzers.Helpers;
1113
using Xunit;
1214

@@ -50,5 +52,36 @@ public void TestCombineEffectiveAccessibility()
5052
Assert.Equal(Accessibility.Private, AccessLevelHelper.CombineEffectiveAccessibility(Accessibility.Private, Accessibility.Public));
5153
Assert.Equal(Accessibility.Public, AccessLevelHelper.CombineEffectiveAccessibility(Accessibility.Public, Accessibility.Public));
5254
}
55+
56+
[Fact]
57+
public void TestGetAccessLevel()
58+
{
59+
Check(AccessLevel.NotSpecified);
60+
Check(AccessLevel.NotSpecified, SyntaxKind.PartialKeyword);
61+
62+
Check(AccessLevel.Private, SyntaxKind.PrivateKeyword);
63+
Check(AccessLevel.Private, SyntaxKind.OverrideKeyword, SyntaxKind.PrivateKeyword);
64+
65+
Check(AccessLevel.PrivateProtected, SyntaxKind.PrivateKeyword, SyntaxKind.ProtectedKeyword);
66+
Check(AccessLevel.PrivateProtected, SyntaxKind.ProtectedKeyword, SyntaxKind.PrivateKeyword);
67+
68+
Check(AccessLevel.Protected, SyntaxKind.ProtectedKeyword);
69+
Check(AccessLevel.Protected, SyntaxKind.VirtualKeyword, SyntaxKind.ProtectedKeyword);
70+
71+
Check(AccessLevel.ProtectedInternal, SyntaxKind.ProtectedKeyword, SyntaxKind.InternalKeyword);
72+
Check(AccessLevel.ProtectedInternal, SyntaxKind.InternalKeyword, SyntaxKind.ProtectedKeyword);
73+
74+
Check(AccessLevel.Internal, SyntaxKind.InternalKeyword);
75+
Check(AccessLevel.Internal, SyntaxKind.AbstractKeyword, SyntaxKind.InternalKeyword);
76+
77+
Check(AccessLevel.Public, SyntaxKind.PublicKeyword);
78+
Check(AccessLevel.Public, SyntaxKind.AsyncKeyword, SyntaxKind.PublicKeyword);
79+
80+
static void Check(AccessLevel expectedAccessLevel, params SyntaxKind[] tokenKinds)
81+
{
82+
var tokenList = SyntaxFactory.TokenList(tokenKinds.Select(SyntaxFactory.Token));
83+
Assert.Equal(expectedAccessLevel, AccessLevelHelper.GetAccessLevel(tokenList));
84+
}
85+
}
5386
}
5487
}

0 commit comments

Comments
 (0)