Пример #1
0
        public void GetInstance_ResolvingSingletonDependingOnInstancePerDependencyInstance_Succeeds()
        {
            // Arrange
            var container = new Container();

            var lifestyle = new InstancePerDependencyLifestyle();

            container.RegisterSingleton <CommandWithILoggerDependency>();

            container.Register <ILogger, NullLogger>(new InstancePerDependencyLifestyle());

            // Act
            container.GetInstance <CommandWithILoggerDependency>();
        }
        public void Verify_RegistrationWithSingletonDependingOnInstancePerDependencyInstance_Succeeds()
        {
            // Arrange
            var container = new Container();

            var lifestyle = new InstancePerDependencyLifestyle();

            container.RegisterSingleton<CommandWithILoggerDependency>();

            container.Register<ILogger, NullLogger>(new InstancePerDependencyLifestyle());

            // Act
            container.Verify();
        }
Пример #3
0
        public void GetInstance_ResolvingTransientDependingOnInstancePerDependencyInstance_EveryInstanceGetsNewInstance()
        {
            // Arrange
            var container = new Container();

            var lifestyle = new InstancePerDependencyLifestyle();

            container.Register <CommandWithILoggerDependency>();

            container.Register <ILogger, NullLogger>(new InstancePerDependencyLifestyle());

            // Act
            var c1 = container.GetInstance <CommandWithILoggerDependency>();
            var c2 = container.GetInstance <CommandWithILoggerDependency>();

            // Assert
            Assert.AreNotSame(c1.Logger, c2.Logger);
        }
        public void GetInstance_ResolvingTransientDependingOnInstancePerDependencyInstance_EveryInstanceGetsNewInstance()
        {
            // Arrange
            var container = new Container();

            var lifestyle = new InstancePerDependencyLifestyle();

            container.Register<CommandWithILoggerDependency>();

            container.Register<ILogger, NullLogger>(new InstancePerDependencyLifestyle());

            // Act
            var c1 = container.GetInstance<CommandWithILoggerDependency>();
            var c2 = container.GetInstance<CommandWithILoggerDependency>();

            // Assert
            Assert.AreNotSame(c1.Logger, c2.Logger);
        }