Ejemplo n.º 1
0
        public void CreateSourcePropertyResolver()
        {
            // arrange
            var context = new Mock <IResolverContext>(MockBehavior.Strict);

            context.Setup(t => t.Parent <FooType>())
            .Returns(new FooType());
            context.Setup(t => t.RequestAborted)
            .Returns(CancellationToken.None);

            var fieldMember = new FieldMember(
                "type", "field", typeof(FooType).GetProperty("BarProperty"));
            var descriptor = new SourceResolverDescriptor(
                typeof(FooType), fieldMember);

            // act
            var resolverBuilder = new ResolverBuilder();

            resolverBuilder.AddDescriptor(descriptor);
            ResolverBuilderResult result = resolverBuilder.Build();

            // assert
            Assert.Collection(result.Resolvers,
                              r =>
            {
                Assert.Equal("type", r.TypeName);
                Assert.Equal("field", r.FieldName);
                Assert.NotNull(r.Resolver);

                object resolvedResult = r.Resolver(
                    context.Object).Result;
                Assert.Equal("Hello World Property", resolvedResult);
            });
        }
        public void AsyncSourceMethodGenerator_GenerateWithTwoArgument()
        {
            // arrange
            var fieldMember = new FieldMember(
                "Foo", "bar",
                GetMethod <GeneratorTestDummy>("GetFooAsync", 2));

            var descriptor = new SourceResolverDescriptor(fieldMember);

            // act
            var    source    = new StringBuilder();
            var    generator = new AsyncSourceMethodGenerator();
            string result    = generator.Generate("abc", descriptor);

            // assert
            result.Snapshot();
        }
        public void SyncSourceMethodGenerator_GenerateWithOneArgument()
        {
            // arrange
            var fieldMember = new FieldMember(
                "Foo", "bar",
                GetMethod <GeneratorTestDummy>("GetFoo", 1));

            var descriptor = new SourceResolverDescriptor(fieldMember);

            // act
            var    source    = new StringBuilder();
            var    generator = new SyncSourceMethodGenerator();
            string result    = generator.Generate("abc", descriptor);

            // assert
            Assert.Equal(Snapshot.Current(), Snapshot.New(result));
        }
        public void SourcePropertyGenerator_Generate()
        {
            // arrange
            var fieldMember = new FieldMember(
                "Foo", "bar",
                GetProperty());

            var descriptor = new SourceResolverDescriptor(fieldMember);

            // act
            var    source    = new StringBuilder();
            var    generator = new SourcePropertyGenerator();
            string result    = generator.Generate("abc", descriptor);

            // assert
            Assert.Equal(Snapshot.Current(), Snapshot.New(result));
        }