public void StructuredTextLoggerUsesHighestChildTypeToUpdateParentType() { //Arrange var analytics = new Mock<IAnalytics>(); var logger = new StructuredTextLogger(@"x:\log.log", analytics.Object); var fileSystemInfo = GetTextLoggerMockFileSystem(); const string message = "Message 1"; const string error = "Error 1"; FileSystemHelpers.Instance = fileSystemInfo.FileSystem; //Act var sublogger = logger.Log(message, LogEntryType.Message); sublogger.Log(error, LogEntryType.Error); var entries = logger.GetLogEntries(); //Assert Assert.Equal(1, entries.Count()); Assert.Equal(message, entries.First().Message); Assert.Equal(LogEntryType.Error, entries.First().Type); var subEntries = logger.GetLogEntryDetails(entries.First().Id); Assert.Equal(1, subEntries.Count()); Assert.Equal(error, subEntries.First().Message); Assert.Equal(LogEntryType.Error, subEntries.First().Type); //Clean up fileSystemInfo.MemoryStream.RealDispose(); }
public void StructuredTextLoggerLogFunction(string message, LogEntryType type) { //Arrange var fileSystem = new Mock<IFileSystem>(); var fileBase = new Mock<FileBase>(); var stream = new TestMemoryStream(); var analytics = new Mock<IAnalytics>(); var logger = new StructuredTextLogger(@"x:\log.log", analytics.Object); fileSystem.Setup(f => f.File).Returns(fileBase.Object); fileBase.Setup(f => f.Open(It.IsAny<string>(), It.IsAny<FileMode>(), It.IsAny<FileAccess>(), It.IsAny<FileShare>())) .Returns(stream); fileBase.Setup(f => f.OpenRead(It.IsAny<string>())) .Returns((string path) => { stream.Position = 0; return stream; }); fileBase.Setup(f => f.ReadAllText(It.IsAny<string>())) .Returns((string path) => { using (var reader = new StreamReader(fileBase.Object.OpenRead(path))) { return reader.ReadToEnd(); } }); fileBase.Setup(f => f.ReadAllLines(It.IsAny<string>())) .Returns((string path) => { return fileBase.Object.ReadAllText(path).Split(new[] { System.Environment.NewLine }, StringSplitOptions.None); }); FileSystemHelpers.Instance = fileSystem.Object; //Act logger.Log(message, type); var entries = logger.GetLogEntries(); //Assert Assert.Equal(1, entries.Count()); Assert.Equal(message, entries.First().Message); Assert.Equal(type, entries.First().Type); stream.RealDispose(); }
public void StructuredTextLoggerLogFunction(string message, LogEntryType type) { //Arrange var analytics = new Mock<IAnalytics>(); var logger = new StructuredTextLogger(@"x:\log.log", analytics.Object); var fileSystemInfo = GetTextLoggerMockFileSystem(); FileSystemHelpers.Instance = fileSystemInfo.FileSystem; //Act logger.Log(message, type); var entries = logger.GetLogEntries(); //Assert Assert.Equal(1, entries.Count()); Assert.Equal(message, entries.First().Message); Assert.Equal(type, entries.First().Type); //Clean up fileSystemInfo.MemoryStream.RealDispose(); }