public void ReturnsAllModifiers_When_IsPartial() { ClassDeclarationSyntax decl1 = GetNode <ClassDeclarationSyntax>("public partial class Test { }"); ClassDeclarationSyntax decl2 = GetNode <ClassDeclarationSyntax>("partial sealed class Test { }"); SyntaxToken[] tokens = new TypeDeclarationSyntax[] { decl1, decl2 }.GetModifiers().ToArray(); Assert.True( tokens.Any(t => t.IsKind(SyntaxKind.PublicKeyword)) && tokens.Any(t => t.IsKind(SyntaxKind.SealedKeyword)) && tokens.Any(t => t.IsKind(SyntaxKind.PartialKeyword)) ); }
public void DoesNotReturnIdenticalModifiers() { ClassDeclarationSyntax decl1 = GetNode <ClassDeclarationSyntax>("public sealed partial class Test { }"); ClassDeclarationSyntax decl2 = GetNode <ClassDeclarationSyntax>("public sealed partial class Test { }"); SyntaxToken[] tokens = new TypeDeclarationSyntax[] { decl1, decl2 }.GetModifiers().ToArray(); Assert.True( tokens.Length == 3 && tokens.Any(t => t.IsKind(SyntaxKind.PublicKeyword)) && tokens.Any(t => t.IsKind(SyntaxKind.SealedKeyword)) && tokens.Any(t => t.IsKind(SyntaxKind.PartialKeyword)) ); }
public void CanReturnMultipleModifiers() { StructDeclarationSyntax decl = GetNode <StructDeclarationSyntax>("class Parent { protected internal unsafe readonly ref partial struct Test { }}"); SyntaxToken[] tokens = new TypeDeclarationSyntax[] { decl }.GetModifiers().ToArray(); Assert.True( tokens.Any(t => t.IsKind(SyntaxKind.ProtectedKeyword)) && tokens.Any(t => t.IsKind(SyntaxKind.InternalKeyword)) && tokens.Any(t => t.IsKind(SyntaxKind.UnsafeKeyword)) && tokens.Any(t => t.IsKind(SyntaxKind.ReadOnlyKeyword)) && tokens.Any(t => t.IsKind(SyntaxKind.RefKeyword)) && tokens.Any(t => t.IsKind(SyntaxKind.PartialKeyword)) ); }