public void Log(ILogMessage message) { if (disposed) { throw new InvalidOperationException("Object has already been disposed"); } if (message == null) { throw new ArgumentNullException(nameof(message)); } streamWriter.WriteLine(message.ToLogString()); }
public void TestLog() { ILogMessage message = Substitute.For <ILogMessage>(); message.ToLogString().Returns("[OMG wtf] bbq"); byte[] bytes = new byte[15]; using (MemoryStream stream = new MemoryStream(bytes, true)) { using (StreamLogger streamLogger = new StreamLogger(stream)) { streamLogger.Log(message); } } using (MemoryStream stream = new MemoryStream(bytes, false)) { using (StreamReader reader = new StreamReader(stream)) { string result = reader.ReadToEnd().Trim('\r', '\n', '\0'); Assert.Equal("[OMG wtf] bbq", result); } } }