public void execute_async_executes_each_exercise() { var action1 = new ActionMock(MockBehavior.Loose); var action2 = new ActionMock(MockBehavior.Loose); var sut = new ExerciseProgramBuilder() .AddExercise(new ExerciseBuilder() .WithBeforeExerciseAction(action1)) .AddExercise(new ExerciseBuilder() .WithBeforeExerciseAction(action2)) .Build(); using (var executionContext = new ExecutionContext()) { sut.ExecuteAsync(executionContext); action1 .Verify(x => x.ExecuteAsync(executionContext)) .WasCalledExactlyOnce(); action2 .Verify(x => x.ExecuteAsync(executionContext)) .WasCalledExactlyOnce(); } }
public void execute_async_throws_if_the_context_is_null() { var sut = new ExerciseProgramBuilder() .Build(); Assert.Throws <ArgumentNullException>(() => sut.ExecuteAsync(null)); }
public void execute_async_skips_exercises_that_are_shorter_than_the_skip_ahead() { var action1 = new ActionMock(MockBehavior.Loose); var action2 = new ActionMock(MockBehavior.Loose); var action3 = new ActionMock(MockBehavior.Loose); action1 .When(x => x.Duration) .Return(TimeSpan.FromSeconds(13)); action2 .When(x => x.Duration) .Return(TimeSpan.FromSeconds(10)); action3 .When(x => x.Duration) .Return(TimeSpan.FromSeconds(5)); action1 .When(x => x.ExecuteAsync(It.IsAny <ExecutionContext>())) .Throw(); action2 .When(x => x.ExecuteAsync(It.IsAny <ExecutionContext>())) .Throw(); var sut = new ExerciseProgramBuilder() .AddExercise(new ExerciseBuilder() .WithBeforeExerciseAction(action1)) .AddExercise(new ExerciseBuilder() .WithBeforeExerciseAction(action2)) .AddExercise(new ExerciseBuilder() .WithBeforeExerciseAction(action3)) .Build(); using (var executionContext = new ExecutionContext(TimeSpan.FromSeconds(23))) { sut.ExecuteAsync(executionContext); action3 .Verify(x => x.ExecuteAsync(executionContext)) .WasCalledExactlyOnce(); } }
public void execute_async_skips_exercises_that_are_shorter_than_the_skip_ahead() { var action1 = new ActionMock(MockBehavior.Loose); var action2 = new ActionMock(MockBehavior.Loose); var action3 = new ActionMock(MockBehavior.Loose); action1 .When(x => x.Duration) .Return(TimeSpan.FromSeconds(13)); action2 .When(x => x.Duration) .Return(TimeSpan.FromSeconds(10)); action3 .When(x => x.Duration) .Return(TimeSpan.FromSeconds(5)); action1 .When(x => x.ExecuteAsync(It.IsAny<ExecutionContext>())) .Throw(); action2 .When(x => x.ExecuteAsync(It.IsAny<ExecutionContext>())) .Throw(); var sut = new ExerciseProgramBuilder() .AddExercise(new ExerciseBuilder() .WithBeforeExerciseAction(action1)) .AddExercise(new ExerciseBuilder() .WithBeforeExerciseAction(action2)) .AddExercise(new ExerciseBuilder() .WithBeforeExerciseAction(action3)) .Build(); using (var executionContext = new ExecutionContext(TimeSpan.FromSeconds(23))) { sut.ExecuteAsync(executionContext); action3 .Verify(x => x.ExecuteAsync(executionContext)) .WasCalledExactlyOnce(); } }
public void execute_async_executes_each_exercise() { var action1 = new ActionMock(MockBehavior.Loose); var action2 = new ActionMock(MockBehavior.Loose); var sut = new ExerciseProgramBuilder() .AddExercise(new ExerciseBuilder() .WithBeforeExerciseAction(action1)) .AddExercise(new ExerciseBuilder() .WithBeforeExerciseAction(action2)) .Build(); using (var executionContext = new ExecutionContext()) { sut.ExecuteAsync(executionContext); action1 .Verify(x => x.ExecuteAsync(executionContext)) .WasCalledExactlyOnce(); action2 .Verify(x => x.ExecuteAsync(executionContext)) .WasCalledExactlyOnce(); } }
public void execute_async_throws_if_the_context_is_null() { var sut = new ExerciseProgramBuilder() .Build(); Assert.Throws<ArgumentNullException>(() => sut.ExecuteAsync(null)); }