void Update_WithThreeSoccerEvents_ReturnsTrue() { // Arrange IEnumerable <SoccerEvent> threeSoccerEvents = new SoccerEvent[] { new SoccerEvent(eventId: 1, homeScore: 2, awayScore: 0, homeTeam: "Bayern Munich", awayTeam: "Arsenal F.C."), new SoccerEvent(eventId: 2, homeScore: 1, awayScore: 1, homeTeam: "Manchester United", awayTeam: "Juventus"), new SoccerEvent(eventId: 3, homeScore: 3, awayScore: 3, homeTeam: "Porto F.C.", awayTeam: "Barcelona") }; Mock <ISoccerEventsProvider> mockProvider = new Mock <ISoccerEventsProvider>(); mockProvider.Setup(m => m.GetAll()).Returns(threeSoccerEvents); Mock <ISoccerEventsStore> mockStore = new Mock <ISoccerEventsStore>(); Mock <INotifier> mockNotifier = new Mock <INotifier>(); string infoEmailAddress = "*****@*****.**", infoMessage = "Soccer events processed successfully", alertEmailAddress = "*****@*****.**", alertSmsNumber = "6999999999", alertMessage = "ALERT! No soccer events!"; SoccerEventsTask sut = new SoccerEventsTask(mockProvider.Object, mockStore.Object, mockNotifier.Object, infoEmailAddress, infoMessage, alertEmailAddress, alertSmsNumber, alertMessage); bool expected = true; // Act bool actual = sut.Update(); // Assert Assert.Equal(expected, actual); }
void Update_WithThreeSoccerEvents_ReturnsTrue() { // Arrange ISoccerEventsProvider provider = new StubThreeSoccerEventsProvider(); ISoccerEventsStore store = new DummySoccerEventsStore(); INotifier notifier = new DummyNotifier(); string infoEmailAddress = "*****@*****.**", infoMessage = "Soccer events processed successfully", alertEmailAddress = "*****@*****.**", alertSmsNumber = "6999999999", alertMessage = "ALERT! No soccer events!"; SoccerEventsTask sut = new SoccerEventsTask(provider, store, notifier, infoEmailAddress, infoMessage, alertEmailAddress, alertSmsNumber, alertMessage); bool expected = true; // Act bool actual = sut.Update(); // Assert Assert.Equal(expected, actual); }
void Update_WithThreeSoccerEvents_CallsNotifierSendEmailUsingCorrectInfoParametersOnce() { // Arrange StubThreeSoccerEventsProvider provider = new StubThreeSoccerEventsProvider(); DummySoccerEventsStore store = new DummySoccerEventsStore(); MockNotifier notifier = new MockNotifier(); string infoEmailAddress = "*****@*****.**", infoMessage = "Soccer events processed successfully", alertEmailAddress = "*****@*****.**", alertSmsNumber = "6999999999", alertMessage = "ALERT! No soccer events!"; SoccerEventsTask sut = new SoccerEventsTask(provider, store, notifier, infoEmailAddress, infoMessage, alertEmailAddress, alertSmsNumber, alertMessage); int expectedTimesSendEmailWasCalled = 1; // Act sut.Update(); // Assert notifier.SendEmailExpectation(infoEmailAddress, infoMessage, expectedTimesSendEmailWasCalled); }
void Update_WithZeroSoccerEvents_CallsNotifierSendEmailAndSendSmsUsingCorrectAlertParametersOnce() { // Arrange Mock <ISoccerEventsProvider> mockProvider = new Mock <ISoccerEventsProvider>(); mockProvider.Setup(m => m.GetAll()).Returns(Enumerable.Empty <SoccerEvent>()); Mock <ISoccerEventsStore> mockStore = new Mock <ISoccerEventsStore>(); Mock <INotifier> mockNotifier = new Mock <INotifier>(); string infoEmailAddress = "*****@*****.**", infoMessage = "Soccer events processed successfully", alertEmailAddress = "*****@*****.**", alertSmsNumber = "6999999999", alertMessage = "ALERT! No soccer events!"; SoccerEventsTask sut = new SoccerEventsTask(mockProvider.Object, mockStore.Object, mockNotifier.Object, infoEmailAddress, infoMessage, alertEmailAddress, alertSmsNumber, alertMessage); // Act sut.Update(); // Assert mockNotifier.Verify(m => m.SendEmail(alertEmailAddress, alertMessage), Times.Once); mockNotifier.Verify(m => m.SendSms(alertSmsNumber, alertMessage), Times.Once); }
void Update_WithThreeSoccerEvents_CallsNotifierSendEmailOnce() { // Arrange StubThreeSoccerEventsProvider provider = new StubThreeSoccerEventsProvider(); DummySoccerEventsStore store = new DummySoccerEventsStore(); SpyNotifier notifier = new SpyNotifier(); string infoEmailAddress = "*****@*****.**", infoMessage = "Soccer events processed successfully", alertEmailAddress = "*****@*****.**", alertSmsNumber = "6999999999", alertMessage = "ALERT! No soccer events!"; SoccerEventsTask sut = new SoccerEventsTask(provider, store, notifier, infoEmailAddress, infoMessage, alertEmailAddress, alertSmsNumber, alertMessage); int expectedTimesSendEmailWasCalled = 1; // Act sut.Update(); int actualTimesSendEmailWasCalled = notifier.NumberOfTimesSendEmailWasCalled; // Assert Assert.Equal(expectedTimesSendEmailWasCalled, actualTimesSendEmailWasCalled); }
void Update_WithZeroSoccerEvents_ReturnsFalse() { // Arrange Mock <ISoccerEventsProvider> mockProvider = new Mock <ISoccerEventsProvider>(); mockProvider.Setup(m => m.GetAll()).Returns(Enumerable.Empty <SoccerEvent>()); Mock <ISoccerEventsStore> mockStore = new Mock <ISoccerEventsStore>(); Mock <INotifier> mockNotifier = new Mock <INotifier>(); string infoEmailAddress = "*****@*****.**", infoMessage = "Soccer events processed successfully", alertEmailAddress = "*****@*****.**", alertSmsNumber = "6999999999", alertMessage = "ALERT! No soccer events!"; SoccerEventsTask sut = new SoccerEventsTask(mockProvider.Object, mockStore.Object, mockNotifier.Object, infoEmailAddress, infoMessage, alertEmailAddress, alertSmsNumber, alertMessage); bool expected = false; // Act bool actual = sut.Update(); // Assert Assert.Equal(expected, actual); }