public void CreateLogger_WithConfiguredLogWriter_LogEntryIsForwardedToConfiguredLogWriter() { /* Create a mocked logwriter */ LogWriter mockedLogWriter = MockRepository.GenerateMock <LogWriter>(); /* Build up the EnterpriseLibraryContainer using Unity for the IoC */ IUnityContainer container = new UnityContainer(); container.RegisterInstance <LogWriter>("logwriter", mockedLogWriter); /* Any name will do */ UnityContainerConfigurator configurator = new UnityContainerConfigurator(container); IConfigurationSource configSource = new DictionaryConfigurationSource(); EnterpriseLibraryContainer.ConfigureContainer(configurator, configSource); IServiceLocator locator = new UnityServiceLocator(container); EnterpriseLibraryContainer.Current = locator; /* Call the test subject */ Logger result = LogManager.CreateLogger(); /* Make sure the returned logger is not null... */ Assert.IsNotNull(result); /* ...and that the returned logger is working with the configured LogWriter */ LogEntry entry = new LogEntry("message", "category", 1, 1000, System.Diagnostics.TraceEventType.Information, "title", null); result.Log(entry); mockedLogWriter.AssertWasCalled(lw => lw.Write(Arg.Is(entry))); }