public void ReturnsValidEventData_When_IsSingleEventField() { EventFieldDeclarationSyntax e = GetNode <EventFieldDeclarationSyntax>("class Test { event System.Action OnInit; }"); SemanticModel semanticModel = Compilation.CurrentCompilation.GetSemanticModel(e.SyntaxTree); IEventSymbol symbol = (semanticModel.GetDeclaredSymbol(e.Declaration.Variables[0]) as IEventSymbol) !; Data.EventData?data = e.GetMemberData(Compilation) as Data.EventData; Assert.True(ValidateMember(data, e, symbol) && data !.GetUnderlayingEvents().Count() == 1); }
public void ReturnsValidEventData_When_HasMultipleEventFieldsInSingleDeclaration() { EventFieldDeclarationSyntax e = GetNode <EventFieldDeclarationSyntax>("class Test { event System.Action OnInit, OnExit; }"); SemanticModel semanticModel = Compilation.CurrentCompilation.GetSemanticModel(e.SyntaxTree); IEventSymbol symbol1 = (semanticModel.GetDeclaredSymbol(e.Declaration.Variables[0]) as IEventSymbol) !; IEventSymbol symbol2 = (semanticModel.GetDeclaredSymbol(e.Declaration.Variables[1]) as IEventSymbol) !; Data.EventData?data = e.GetMemberData(Compilation) as Data.EventData; Data.EventData[]? declaredEvents = data?.GetUnderlayingEvents().ToArray(); Assert.True(ValidateMember(data, e, symbol1) && declaredEvents !.Length == 2 && ValidateMember(declaredEvents[1], e, symbol2)); }