public void CanReturnSingleModifier() { Data.TypeData data = GetType("internal class Test { }"); SyntaxToken[] tokens = data.Modifiers; Assert.True(tokens.Length == 1 && tokens[0].IsKind(SyntaxKind.InternalKeyword)); }
public void ReturnsOneDeclaration_When_PartialIsRedundant() { Data.TypeData data = GetType("partial class Test { }"); TypeDeclarationSyntax[] decl = data.GetPartialDeclarations().ToArray(); Assert.True(decl.Length == 1 && decl[0].IsEquivalentTo(data.Declaration)); }
public void CanReturnsMultipleDeclarations() { TypeDeclarationSyntax firstDecl = GetNode <TypeDeclarationSyntax>("public partial sealed class Test { }"); Data.TypeData data = GetType("partial class Test { }"); TypeDeclarationSyntax[] decl = data.GetPartialDeclarations().ToArray(); Assert.True(decl.Length == 2 && decl.Any(d => d.IsEquivalentTo(firstDecl)) && decl.Any(d => d.IsEquivalentTo(data.Declaration))); }
public void ReturnsTypesInParentFirstOrderWithItselfLast_When_IncludeSelfIsTrue() { Data.TypeData data = GetType("class Test { class Parent { class Child { } } }", 2); ITypeData[] containingTypes = data.GetContainingTypes(true).ToArray(); Assert.True( containingTypes.Length == 3 && containingTypes[0].Symbol.Name == "Test" && containingTypes[1].Symbol.Name == "Parent" && containingTypes[2] == data ); }
public void ReturnsAllModifiers_When_IsPartial() { Compilation.UpdateCompilation("public partial class Test { }"); Data.TypeData data = GetType("partial sealed class Test { }"); SyntaxToken[] tokens = data.Modifiers; 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() { Compilation.UpdateCompilation("public sealed partial class Test { }"); Data.TypeData data = GetType("public sealed partial class Test { }"); SyntaxToken[] tokens = data.Modifiers; 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() { Data.TypeData data = GetType("class Parent { protected internal unsafe readonly ref partial struct Test { }}", 1); SyntaxToken[] tokens = data.Modifiers; 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)) ); }
public void ReturnsTypesInParentFirstOrder() { Data.TypeData data = GetType("class Test { class Parent { class Child { } } }", 2); ITypeData[] containingTypes = data.GetContainingTypes(false).ToArray(); Assert.True(containingTypes.Length == 2 && containingTypes[0].Symbol.Name == "Test" && containingTypes[1].Symbol.Name == "Parent"); }
public void ReturnsOnlyItself_When_IsNotNestedType_And_IncludeSelfIsTrue() { Data.TypeData data = GetType("class Test { }"); ITypeData[] containingTypes = data.GetContainingTypes(true).ToArray(); Assert.True(containingTypes.Length == 1 && data == containingTypes[0]); }
public void ReturnsEmpty_When_IsNotNestedType() { Data.TypeData data = GetType("class Test { }"); ITypeData[] containingTypes = data.GetContainingTypes(false).ToArray(); Assert.True(containingTypes.Length == 0); }
public void CanReturnSingleType() { Data.TypeData data = GetType("class Parent { class Child { } }", 1); ITypeData[] containingTypes = data.GetContainingTypes(false).ToArray(); Assert.True(containingTypes.Length == 1 && containingTypes[0].Symbol.Name == "Parent"); }
public void CanReturnMultipleTypes() { Data.TypeData data = GetType("class Test { class Parent { class Child { } } }", 2); ITypeData[] containingTypes = data.GetContainingTypes(false).ToArray(); Assert.True(containingTypes.Length == 2 && containingTypes.Any(t => t.Symbol.Name == "Parent") && containingTypes.Any(t => t.Symbol.Name == "Test")); }
public void ReturnsEmpty_When_DeclHasNoModifiers() { Data.TypeData data = GetType("class Test { }"); SyntaxToken[] tokens = data.Modifiers; Assert.True(tokens.Length == 0); }