public void ShouldDecideIfSubscriptionCanHandleCommandByType() { var handler = new Func <MyCommand, Task>(cmd => Task.CompletedTask); var testee = new CommandSubscription <MyCommand>(handler); testee.CanHandle <MyCommand>().Should().BeTrue(); testee.CanHandle <OtherCommand>().Should().BeFalse(); }
public void ThrowsException_WhenTryingToHandleNullAsCommand() { var handler = new Func <ValueCommand, Task>(cmd => Task.CompletedTask); var testee = new CommandSubscription <ValueCommand>(handler); Func <Task> func = () => testee.HandleAsync(null); func.ShouldThrow <ArgumentNullException>(); }
public void ShouldDecideIfSubscriptionCanHandleCommandByInstance() { var commandOfSameType = new MyCommand(); var commandOfOtherType = new OtherCommand(); var handler = new Func <MyCommand, Task>(cmd => Task.CompletedTask); var testee = new CommandSubscription <MyCommand>(handler); testee.CanHandle(commandOfSameType).Should().BeTrue(); testee.CanHandle(commandOfOtherType).Should().BeFalse(); }
public async Task ShouldHandleCommand() { const int Value = 42; var expectedValue = 0; var valueCommand = new ValueCommand(Value); var handler = new Func <ValueCommand, Task>(cmd => { expectedValue = cmd.Value; return(Task.CompletedTask); }); var testee = new CommandSubscription <ValueCommand>(handler); await testee.HandleAsync(valueCommand).ConfigureAwait(false); expectedValue.Should().Be(Value); }