Example #1
0
        public void InjectAllProperties_OnContainerUncontrolledSingletonsCollection_DoesNotInjectPropertiesOfImplementation()
        {
            // Arrange
            var singleton = new ServiceWithProperty <ITimeProvider>();

            var container = CreateContainerThatInjectsAllProperties();

            container.Register <ITimeProvider, RealTimeProvider>(Lifestyle.Singleton);

            container.RegisterCollection <IService>(new[] { singleton });

            // Act
            container.GetAllInstances <IService>().ToArray();

            // Assert
            Assert.IsNull(singleton.Dependency);
        }
        public void InjectAllProperties_OnContainerUncontrolledSingleton_DoesNotInjectPropertiesOfImplementation()
        {
            // Arrange
            var singleton = new ServiceWithProperty <ITimeProvider>();

            Assert.IsNull(singleton.Dependency, "Test setup failed.");

            var container = CreateContainerThatInjectsAllProperties();

            container.RegisterSingle <ITimeProvider, RealTimeProvider>();

            container.RegisterSingle <IService>(singleton);

            // Act
            container.GetInstance <IService>();

            // Assert
            Assert.IsNull(singleton.Dependency);
        }
Example #3
0
        public void InjectAllProperties_OnContainerUncontrolledSingleton_InjectsProperty()
        {
            // Arrange
            var singleton = new ServiceWithProperty <ITimeProvider>();

            Assert.IsNull(singleton.Dependency, "Test setup failed.");

            var container = CreateContainerThatInjectsAllProperties();

            container.Register <ITimeProvider, RealTimeProvider>(Lifestyle.Singleton);

            container.RegisterSingleton <ServiceWithProperty <ITimeProvider> >(singleton);

            // Act
            container.GetInstance <ServiceWithProperty <ITimeProvider> >();

            // Assert
            Assert.IsNotNull(singleton.Dependency);
        }
        public void InjectAllProperties_OnContainerUncontrolledSingletonsCollection_InjectsProperty()
        {
            // Arrange
            var singleton = new ServiceWithProperty <ITimeProvider>();

            var container = CreateContainerThatInjectsAllProperties();

            container.RegisterSingle <ITimeProvider, RealTimeProvider>();

            ServiceWithProperty <ITimeProvider>[] services = new[] { singleton };

            container.RegisterAll <ServiceWithProperty <ITimeProvider> >(services);

            // Act
            container.GetAllInstances <ServiceWithProperty <ITimeProvider> >().ToArray();

            // Assert
            Assert.IsNotNull(singleton.Dependency);
        }