Exemple #1
0
        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 = symbol.GetMemberData(Compilation) as Data.EventData;

            Assert.True(ValidateMember(data, e, symbol) && data !.GetUnderlayingEvents().Count() == 1);
        }
Exemple #2
0
        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 = symbol1.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));
        }