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"); }
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"); }