public void Log_CanLogToFile_MessageLoggedInFile() { Mock <IFileWriter> fileWriterMock = new Mock <IFileWriter>(); Mock <IEmailService> emailServiceStub = new Mock <IEmailService>(); PersonLogger target = new PersonLogger(fileWriterMock.Object, emailServiceStub.Object); target.Log(new Person { Name = "Florin Coros" }, "CREATED"); const string expected = "Person: Florin Coros | Message: CREATED"; fileWriterMock.Verify(e => e.WriteLine(expected)); }
public void Log_IOException_SendEmail() { Mock <IFileWriter> fileWriterStub = new Mock <IFileWriter>(); fileWriterStub.Setup(f => f.WriteLine(It.IsAny <string>())) .Throws(new IOException()); Mock <IEmailService> emailServiceMock = new Mock <IEmailService>(); PersonLogger target = new PersonLogger(fileWriterStub.Object, emailServiceMock.Object); target.Log(new Person(), "Some message"); const string expected = "Person: Florin Coros | Message: CREATED"; emailServiceMock.Verify(e => e.SendMessage(It.IsAny <string>())); }