Example #1
0
        public void Startup_InjectConfigurationValues_WhenDependencyAttributeIsSet()
        {
            // Arrange
            var configurationManagerMock = new Mock <IConfigurationManager>();
            var testee = new UnityBootstrapper(configurationManagerMock.Object);
            var nameValueCollection = new NameValueCollection {
                { "MyIntConfigurationValue", "100" }, { "MyStringConfigurationValue", "MyValue" }, { "MyDateTimeConfigurationValue", "2010-01-01" }
            };
            var connectionStringSettingsCollection = new ConnectionStringSettingsCollection {
                new ConnectionStringSettings("MyConnectionStringProperty", "SqlServer")
            };

            configurationManagerMock.Setup(c => c.AppSettings).Returns(nameValueCollection);
            configurationManagerMock.Setup(con => con.ConnectionStrings).Returns(connectionStringSettingsCollection);
            testee.AddExtension <MyExtensionWithDependencyAttributes>();

            // Act
            testee.Startup();

            // Assert
            var     extensionCache = TestHelper.GetFieldValue <HashSet <BootstrapperExtension <IUnityContainer> > >(testee, "extensionCache");
            dynamic extension      = extensionCache.First();

            Assert.AreEqual(100, extension.MyIntConfigurationValue, "The value must be {0}", 100);
            Assert.AreEqual("MyValue", extension.MyStringConfigurationValue, "The value must be {0}", "MyValue");
            Assert.AreEqual(new DateTime(2010, 01, 01), extension.MyDateTimeConfigurationValue, "The value must be {0}", new DateTime(2010, 01, 01));
            Assert.AreEqual(null, extension.MyOtherProperty, "The value must be {0}", null);
            Assert.AreEqual("SqlServer", extension.MyConnectionStringProperty, "The value must be {0}", "SqlServer");
        }
Example #2
0
        public void Shutdown_CallsOnShutdown_OnExtension()
        {
            // Arrange
            var configurationManagerMock = new Mock <IConfigurationManager>();
            var testee = new UnityBootstrapper(configurationManagerMock.Object);

            testee.AddExtension <MyExtension>();

            // Act
            testee.Startup();

            // Assert
            Assert.IsTrue(HasCalledBeforeStartupMethod, "The extension method has not been called");
        }
Example #3
0
        public void Startup_CallsBeforeStartupMethod_OnGenericExtension()
        {
            // Arrange
            bool startupDelegateCalled    = false;
            var  configurationManagerMock = new Mock <IConfigurationManager>();
            var  testee = new UnityBootstrapper(configurationManagerMock.Object);

            testee.AddExtensionInstance(new GenericExtension <IUnityContainer> {
                StartupDelegate = context => startupDelegateCalled = true
            });

            // Act
            testee.Startup();

            // Assert
            Assert.IsTrue(startupDelegateCalled, "The startup delegate has not been called.");
        }