public async Task InvokeDelegate_WithValidNotification_ReturnsSame() { var expected = Mock.Of <IEventNotification>(ctx1 => ctx1.LastExecution == DateTime.Now && ctx1.RemainingEventCount == 100 && ctx1.Events == Enumerable.Repeat(Mock.Of <IEventEntry>(), 10).ToList().AsReadOnly() ); var execution = new Execution(); var configurator = (IExecutionConfigurator)execution; configurator.WithDelegate(notification => { return(Task.FromResult(notification)); }); var actual = await(Task <IEventNotification>) execution.Delegate(expected); Assert.Equal(expected.Events, actual.Events); Assert.Equal(expected.LastExecution, actual.LastExecution); Assert.Equal(expected.RemainingEventCount, actual.RemainingEventCount); }