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); }
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); }
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); }