Example #1
0
        public void ConstructorInjectionBehavior_ChangedBeforeAnyRegistrations_ChangesThePropertyToTheSetInstance()
        {
            // Arrange
            var expectedBehavior = new AlternativeDependencyInjectionBehavior();

            var container = new Container();

            // Act
            container.Options.DependencyInjectionBehavior = expectedBehavior;

            // Assert
            Assert.IsTrue(object.ReferenceEquals(expectedBehavior, container.Options.DependencyInjectionBehavior),
                          "The set_ConstructorInjectionBehavior did not work.");
        }
Example #2
0
        public void ConstructorInjectionBehavior_ChangedAfterFirstCollectionRegistration_Fails()
        {
            // Arrange
            var expectedBehavior = new AlternativeDependencyInjectionBehavior();

            var container = new Container();

            container.RegisterCollection <ILogger>(new[] { typeof(NullLogger) });

            // Act
            Action action = () => container.Options.DependencyInjectionBehavior = expectedBehavior;

            // Assert
            AssertThat.ThrowsWithExceptionMessageContains <InvalidOperationException>(
                "DependencyInjectionBehavior property cannot be changed after the first registration",
                action);
        }
Example #3
0
        public void ConstructorInjectionBehavior_ChangedAfterFirstRegistration_Fails()
        {
            // Arrange
            var expectedBehavior = new AlternativeDependencyInjectionBehavior();

            var container = new Container();

            container.RegisterSingleton <object>("The first registration.");

            // Act
            Action action = () => container.Options.DependencyInjectionBehavior = expectedBehavior;

            // Assert
            AssertThat.ThrowsWithExceptionMessageContains <InvalidOperationException>(
                "DependencyInjectionBehavior property cannot be changed after the first registration",
                action);
        }