Ejemplo n.º 1
0
            public void CreateInstance_WhenComponentHasMultipleConstructors_UsesPublicConstructorWithMostParameters()
            {
                var dependencyResolver = MockRepository.GenerateMock <IObjectDependencyResolver>();
                var objectFactory      = new ObjectFactory(dependencyResolver, typeof(ComponentWithMultipleConstructors), new PropertySet()
                {
                    { "prOpERtY", "value" }
                });
                var service = MockRepository.GenerateStub <IService>();

                dependencyResolver.Expect(x => x.ResolveDependency("service", typeof(IService), null)).Return(DependencyResolution.Satisfied(service));
                dependencyResolver.Expect(x => x.ResolveDependency("property", typeof(string), "value")).Return(DependencyResolution.Satisfied("value"));

                var component = (ComponentWithMultipleConstructors)objectFactory.CreateInstance();

                Assert.AreSame(service, component.Service);
                Assert.AreEqual("value", component.Property);

                dependencyResolver.VerifyAllExpectations();
            }
Ejemplo n.º 2
0
            public void CreateInstance_WhenComponentHasRequiredDependencyWithNoParameterValueAndItIsSatisfied_BuildsTheObjectWithTheResolvedDependency()
            {
                var dependencyResolver = MockRepository.GenerateMock <IObjectDependencyResolver>();
                var objectFactory      = new ObjectFactory(dependencyResolver, typeof(ComponentWithRequiredDependencyOnService), new PropertySet());
                var service            = MockRepository.GenerateStub <IService>();

                dependencyResolver.Expect(x => x.ResolveDependency("service", typeof(IService), null)).Return(DependencyResolution.Satisfied(service));

                var component = (ComponentWithRequiredDependencyOnService)objectFactory.CreateInstance();

                Assert.AreSame(service, component.Service);

                dependencyResolver.VerifyAllExpectations();
            }
Ejemplo n.º 3
0
            public void CreateInstance_WhenComponentHasRequiredDependencyWithAParameterValueAndItIsSatisfied_BuildsTheObjectWithTheResolvedDependency()
            {
                var dependencyResolver = MockRepository.GenerateMock <IObjectDependencyResolver>();
                var objectFactory      = new ObjectFactory(dependencyResolver, typeof(ComponentWithRequiredDependencyOnProperty), new PropertySet()
                {
                    { "prOpERtY", "value" }
                });

                dependencyResolver.Expect(x => x.ResolveDependency("property", typeof(string), "value")).Return(DependencyResolution.Satisfied("value"));

                var component = (ComponentWithRequiredDependencyOnProperty)objectFactory.CreateInstance();

                Assert.AreEqual("value", component.Property);

                dependencyResolver.VerifyAllExpectations();
            }