public async Task TestWireUpFromConfiguration() { var wireUp = new ConcurrentWireUp(); var config = wireUp.CreateConfigurationFromDefaultValue("10"); var limitedThroughputConfiguration = config as ConcurrentConfiguration; Assert.NotNull(limitedThroughputConfiguration); Assert.Equal(10, limitedThroughputConfiguration.MaxNumberOfConcurrentMessages); var handler = new ConcurrentMessageHandler(); var func = Create.SimpleFunc <int>(b => b.SoftFireAndForget().WireUp(handler, new[] { config })); Assert.Equal(0, handler.NumberOfInvokations); for (var i = 0; i < 20; i++) { await func(1); } await Task.Delay(1500); Assert.Equal(10, handler.NumberOfInvokations); }
public async Task ConcurrentDecoratorWireUpHandlerTests() { var handler = new ConcurrentMessageHandler(); var func = Create.SimpleFunc <int>(b => b.SoftFireAndForget().WireUp(handler)); for (var i = 0; i < 20; i++) { await func(1); } await Task.Delay(1500); Assert.Equal(10, handler.NumberOfInvokations); }