コード例 #1
0
        public void Should_Leave_Delegates_In_Place()
        {
            var b  = new B();
            var d1 = new ServiceConventionDelegate(x => { });
            var d2 = new ServiceConventionDelegate(x => { });
            var d3 = new ServiceConventionDelegate(x => { });
            var c  = new C();
            var d  = new D();
            var e  = new E();
            var f  = new F();

            var provider = new ConventionProvider(
                new IConvention[] { b, c },
                new object[] { d1, d, d2 },
                new object[] { e, d3, f }
                );

            provider.GetAll()
            .Select(x => x.Convention as object ?? x.Delegate)
            .Should()
            .ContainInOrder(
                d1,
                e,
                d,
                d2,
                b,
                c,
                d3,
                f
                );
        }
コード例 #2
0
        public void Should_Include_Unit_Test_Conventions()
        {
            var b  = new B();
            var d1 = new ServiceConventionDelegate(x => { });
            var d2 = new ServiceConventionDelegate(x => { });
            var d3 = new ServiceConventionDelegate(x => { });
            var c  = new C();
            var d  = new D();
            var e  = new E();
            var f  = new F();

            var provider = new ConventionProvider(
                new IConvention[] { b, c },
                new object[] { d1, d, d2 },
                new object[] { e, d3, f }
                );

            provider.GetAll(HostType.UnitTestHost)
            .Select(x => x.Convention as object ?? x.Delegate)
            .Should()
            .ContainInOrder(
                d1,
                e,
                d,
                d2,
                b,
                c,
                d3
                );
        }
コード例 #3
0
        /// <summary>
        /// Configure the services delegate to the convention scanner
        /// </summary>
        /// <param name="container">The container.</param>
        /// <param name="delegate">The delegate.</param>
        /// <returns>IConventionHostBuilder.</returns>
        public static IConventionHostBuilder ConfigureServices(
            [NotNull] this IConventionHostBuilder container,
            ServiceConventionDelegate @delegate
            )
        {
            if (container == null)
            {
                throw new ArgumentNullException(nameof(container));
            }

            container.Scanner.AppendDelegate(@delegate);
            return(container);
        }
コード例 #4
0
        public void ShouldIncludeAddedDelegates()
        {
            var scanner = AutoFake.Resolve <SimpleConventionScanner>();
            var finder  = AutoFake.Resolve <IAssemblyCandidateFinder>();

            A.CallTo(() => finder.GetCandidateAssemblies(A <IEnumerable <string> > ._))
            .Returns(Array.Empty <Assembly>());

            var @delegate = new ServiceConventionDelegate(context => { });
            var delegate2 = new ServiceConventionDelegate(context => { });

            scanner.PrependDelegate(delegate2);
            scanner.AppendDelegate(@delegate);

            var provider = scanner.BuildProvider();

            provider.Get <IServiceConvention, ServiceConventionDelegate>()
            .Select(x => x.Delegate)
            .Should()
            .ContainInOrder(delegate2, @delegate);
        }