示例#1
0
        public void GetNullableInterfaceParameters_ResolvesNullableReturn()
        {
            var(document, syntax, semantic) = LoadInterface("ReturningInterface.cs");
            var parameterResolver = new InheritanceNullableParameterResolver(document, semantic);

            parameterResolver.Visit(syntax);
            var parameters = parameterResolver.GetNullableInterfaceParameters().ToList();

            Assert.That(parameters, Has.Exactly(1).Items);
            Assert.That(parameters[0].Item2, Is.EquivalentTo(new[] { "#return" }));
        }
示例#2
0
        public void GetNullableInterfaceParameters_WithMultipleNullableImplementations_ResolvesNullableInterface()
        {
            var(document, syntax, semantic) = LoadInterface("Interface1.cs");
            var parameterResolver = new InheritanceNullableParameterResolver(document, semantic);

            parameterResolver.Visit(syntax);
            var parameters = parameterResolver.GetNullableInterfaceParameters().ToList();

            Assert.That(parameters, Has.Exactly(1).Items);
            Assert.That(parameters[0].Item2, Has.Exactly(2).Items);
            Assert.That(parameters[0].Item2, Is.EquivalentTo(new[] { "arg1", "arg2" }));
        }