public void Does_Not_Share_Failed_Untyped()
        {
            IResolveFieldContext <int?> rfc1 = null;
            IResolveFieldContext <int?> rfc2 = null;
            var ffr1 = new FuncFieldResolver <int?, object>(context =>
            {
                rfc1 = context;
                throw new Exception();
            });
            var ffr2 = new FuncFieldResolver <int?, object>(context =>
            {
                rfc2 = context;
                return("ok");
            });

            try
            {
                ffr1.Resolve(_context);
            }
            catch { }
            ffr2.Resolve(_context);
            rfc1.ShouldNotBeNull();
            rfc1.ShouldNotBeSameAs(_context);
            rfc2.ShouldNotBeNull();
            rfc2.ShouldNotBeSameAs(_context);
            rfc1.ShouldNotBe(rfc2);
        }
        public void Pass_Through_Object_Source()
        {
            IResolveFieldContext <object> rfc1 = null;
            var ffr1 = new FuncFieldResolver <object, string>(context =>
            {
                rfc1 = context;
                return("ok");
            });

            ffr1.Resolve(_context);
            rfc1.ShouldNotBeNull();
            rfc1.ShouldBeSameAs(_context);
        }
        public void Shares_Complete_Untyped()
        {
            IResolveFieldContext <int?> rfc1 = null;
            IResolveFieldContext <int?> rfc2 = null;
            var ffr1 = new FuncFieldResolver <int?, object>(context =>
            {
                rfc1 = context;
                return("ok");
            });
            var ffr2 = new FuncFieldResolver <int?, object>(context =>
            {
                rfc2 = context;
                return("ok");
            });

            ffr1.Resolve(_context);
            ffr2.Resolve(_context);
            rfc1.ShouldNotBeNull();
            rfc1.ShouldNotBeSameAs(_context);
            rfc2.ShouldNotBeNull();
            rfc2.ShouldNotBeSameAs(_context);
            rfc1.ShouldBe(rfc2);
        }
        public void Does_Not_Share_Dataloader_Tasks_Untyped_Derived()
        {
            IResolveFieldContext <int?> rfc1 = null;
            IResolveFieldContext <int?> rfc2 = null;
            var ffr1 = new FuncFieldResolver <int?, object>(context =>
            {
                rfc1 = context;
                return(Task.FromResult(_okDataLoader));
            });
            var ffr2 = new FuncFieldResolver <int?, object>(context =>
            {
                rfc2 = context;
                return(Task.FromResult(_okDataLoader));
            });

            ffr1.Resolve(_context);
            ffr2.Resolve(_context);
            rfc1.ShouldNotBeNull();
            rfc1.ShouldNotBeSameAs(_context);
            rfc2.ShouldNotBeNull();
            rfc2.ShouldNotBeSameAs(_context);
            rfc1.ShouldNotBe(rfc2);
        }
        public void Does_Not_Share_Dataloader_Typed()
        {
            IResolveFieldContext <int?> rfc1 = null;
            IResolveFieldContext <int?> rfc2 = null;
            var ffr1 = new FuncFieldResolver <int?, IDataLoaderResult>(context =>
            {
                rfc1 = context;
                return(_okDataLoader);
            });
            var ffr2 = new FuncFieldResolver <int?, IDataLoaderResult>(context =>
            {
                rfc2 = context;
                return(_okDataLoader);
            });

            ffr1.Resolve(_context);
            ffr2.Resolve(_context);
            rfc1.ShouldNotBeNull();
            rfc1.ShouldNotBeSameAs(_context);
            rfc2.ShouldNotBeNull();
            rfc2.ShouldNotBeSameAs(_context);
            rfc1.ShouldNotBe(rfc2);
        }
        public void Does_Not_Share_Failed_Tasks_Untyped_1()
        {
            IResolveFieldContext <int?> rfc1 = null;
            IResolveFieldContext <int?> rfc2 = null;
            var ffr1 = new FuncFieldResolver <int?, object>(context =>
            {
                rfc1 = context;
                return(Task.FromException <string>(new Exception()));
            });
            var ffr2 = new FuncFieldResolver <int?, object>(context =>
            {
                rfc2 = context;
                return(Task.FromResult("ok"));
            });

            ffr1.Resolve(_context);
            ffr2.Resolve(_context);
            rfc1.ShouldNotBeNull();
            rfc1.ShouldNotBeSameAs(_context);
            rfc2.ShouldNotBeNull();
            rfc2.ShouldNotBeSameAs(_context);
            rfc1.ShouldNotBe(rfc2);
        }
        public void Shares_Complete_Tasks_Typed()
        {
            IResolveFieldContext <int?> rfc1 = null;
            IResolveFieldContext <int?> rfc2 = null;
            var ffr1 = new FuncFieldResolver <int?, Task <string> >(context =>
            {
                rfc1 = context;
                return(Task.FromResult("ok"));
            });
            var ffr2 = new FuncFieldResolver <int?, Task <string> >(context =>
            {
                rfc2 = context;
                return(Task.FromResult("ok"));
            });

            ffr1.Resolve(_context);
            ffr2.Resolve(_context);
            rfc1.ShouldNotBeNull();
            rfc1.ShouldNotBeSameAs(_context);
            rfc2.ShouldNotBeNull();
            rfc2.ShouldNotBeSameAs(_context);
            rfc1.ShouldBe(rfc2);
        }
Exemple #8
0
        public void Does_Not_Share_Incomplete_Tasks_Typed()
        {
            IResolveFieldContext <int?> rfc1 = null;
            IResolveFieldContext <int?> rfc2 = null;
            var ffr1 = new FuncFieldResolver <int?, Task <string> >(async context => {
                rfc1 = context;
                await Task.Delay(100);
                return("ok");
            });
            var ffr2 = new FuncFieldResolver <int?, Task <string> >(async context => {
                rfc2 = context;
                await Task.Delay(100);
                return("ok");
            });

            ffr1.Resolve(_context);
            ffr2.Resolve(_context);
            rfc1.ShouldNotBeNull();
            rfc1.ShouldNotBeSameAs(_context);
            rfc2.ShouldNotBeNull();
            rfc2.ShouldNotBeSameAs(_context);
            rfc1.ShouldNotBe(rfc2);
        }
        public void Does_Not_Share_Enumerable_Tasks_Untyped()
        {
            IResolveFieldContext <int?> rfc1 = null;
            IResolveFieldContext <int?> rfc2 = null;
            var ffr1 = new FuncFieldResolver <int?, object>(context =>
            {
                rfc1 = context;
                return(Task.FromResult <IEnumerable <int> >(new[] { 1, 2 }));
            });
            var ffr2 = new FuncFieldResolver <int?, object>(context =>
            {
                rfc2 = context;
                return(Task.FromResult <IEnumerable <int> >(new[] { 1, 2 }));
            });

            ffr1.Resolve(_context);
            ffr2.Resolve(_context);
            rfc1.ShouldNotBeNull();
            rfc1.ShouldNotBeSameAs(_context);
            rfc2.ShouldNotBeNull();
            rfc2.ShouldNotBeSameAs(_context);
            rfc1.ShouldNotBe(rfc2);
        }