Beispiel #1
0
        public void PropertyInjection_ImportMember_With_Members_HaveAttribute_Filter_With_Filter()
        {
            var container = new DependencyInjectionContainer();

            container.Configure(c =>
            {
                c.Export <BasicService>().As <IBasicService>();
                c.Export <MultipleService1>().As <IMultipleService>();
                c.Export <MultiplePropertyInject>().ImportMembers(MembersThat.HaveAttribute <SomeTestAttribute>(attribute => attribute.TestValue == 10));
            });

            var instance = container.Locate <MultiplePropertyInject>();

            Assert.NotNull(instance);

            Assert.Null(instance.BasicService);

            Assert.NotNull(instance.MultipleService);
        }
Beispiel #2
0
        public void ImportMembers_Filtered()
        {
            var container = new DependencyInjectionContainer();

            container.Configure(c =>
            {
                c.ImportMembers(MembersThat.HaveAttribute <ImportAttribute>());
                c.Export <BasicService>().As <IBasicService>();
                c.Export <MultipleService1>().As <IMultipleService>();
                c.Export <MultiplePropertyInject>();
            });

            var instance = container.Locate <MultiplePropertyInject>();

            Assert.NotNull(instance);

            Assert.NotNull(instance.BasicService);

            Assert.NotNull(instance.MultipleService);
        }
Beispiel #3
0
        public void ImportMembers_Filtered_Keyed()
        {
            var container = new DependencyInjectionContainer();

            container.Configure(c =>
            {
                c.ImportMembers(MembersThat.HaveAttribute <ImportAttribute>());
                c.Export <BasicService>().AsKeyed <IBasicService>("A");
                c.Export <OtherBasicService>().AsKeyed <IBasicService>("B");
                c.Export <KeyedMultiplePropertyInject>();
            });

            var instance = container.Locate <KeyedMultiplePropertyInject>();

            Assert.NotNull(instance);
            Assert.NotNull(instance.BasicServiceA);
            Assert.IsType <BasicService>(instance.BasicServiceA);

            Assert.NotNull(instance.BasicServiceB);
            Assert.IsType <OtherBasicService>(instance.BasicServiceB);
        }