public void MethodInjection_Inject_Members_That_Are_Method_With_Filter()
        {
            var container = new DependencyInjectionContainer();

            container.Configure(c =>
            {
                c.Export <BasicService>().As <IBasicService>();
                c.Export <MethodInjectionClass>().ImportMembers(MembersThat.AreMethod(m => m.Name.StartsWith("Some")), true);
            });

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

            Assert.NotNull(instance);
            Assert.Null(instance.BasicService);

            Assert.NotNull(instance.SecondService);
            Assert.IsType <BasicService>(instance.SecondService);
        }
Exemple #2
0
        public void InjectionScopeDiagnostics_ImportMembers_Check_For_Missing_Method_Dependency()
        {
            var container = new DependencyInjectionContainer();

            container.Configure(c =>
            {
                c.Export <MethodInjectionClass>().ImportMembers(MembersThat.AreMethod(m => m.Name.StartsWith("Some")), true);
            });

            var diagnostic = container.Locate <InjectionScopeDiagnostics>();

            Assert.NotNull(diagnostic);

            var missingDependencies = diagnostic.PossibleMissingDependencies.ToArray();

            Assert.Equal(1, missingDependencies.Length);

            var dependency = missingDependencies[0];

            Assert.Equal("basicService", dependency.MemberName);
            Assert.Equal(DependencyType.MethodParameter, dependency.DependencyType);
            Assert.Equal(typeof(IBasicService), dependency.TypeBeingImported);
        }