public static void Execute_Stop_ButNot_Running() { // Arrange var taskMock1 = new Mock <IBackgroundTask>(MockBehavior.Strict); var taskMock2 = new Mock <IBackgroundTask>(MockBehavior.Strict); taskMock1.SetupGet(t => t.IsRunning).Returns(false); taskMock2.SetupGet(t => t.IsRunning).Returns(false); // Act var task = new WaitBackgroundTasks(new[] { taskMock1.Object, taskMock2.Object }, 1); task.Execute(); // Assert taskMock1.VerifyAll(); taskMock2.VerifyAll(); }
public static void Execute_Stop_Some_Running_But_Shutdown_During_Wait() { // Arrange var taskMock1 = new Mock <IBackgroundTask>(MockBehavior.Strict); var taskMock2 = new Mock <IBackgroundTask>(MockBehavior.Strict); taskMock1.SetupGet(t => t.IsRunning).Returns(false); taskMock2.SetupGet(t => t.IsRunning).Returns(true); taskMock2.Setup(t => t.Stop(false)); taskMock2.Setup(t => t.Wait(TimeSpan.FromSeconds(5))).Returns(true); // Act var task = new WaitBackgroundTasks(new[] { taskMock1.Object, taskMock2.Object }, 5); task.Execute(); // Assert taskMock1.VerifyAll(); taskMock2.VerifyAll(); }