public async Task CreateMessagesAndCancelNoDelay() { int messagesToCreate = 50000; int messageToCancel = 1000; int delay = 1; Resources.Shared.MessageList = new List <string>(); IMultiple multiple = GetMultiple(); IMultipleModel[] multipleModelsList = { new AddMessagesNoDelays(1, messagesToCreate, messageToCancel, delay), new AddMessagesNoDelays(2, messagesToCreate, messageToCancel, delay), new AddMessagesNoDelays(3, messagesToCreate, messageToCancel, delay), new AddMessagesNoDelays(4, messagesToCreate, messageToCancel, delay), new AddMessagesNoDelays(5, messagesToCreate, messageToCancel, delay), new AddMessagesNoDelays(6, messagesToCreate, messageToCancel, delay), }; multiple.Run(multipleModelsList); await Task.Delay(1000); multiple.Dispose(); await multiple.Wait(); Assert.Equal(messageToCancel * multipleModelsList.Length, Resources.Shared.MessageList.Count); Assert.Equal((Resources.Shared.MessageList.Count / (double)(messagesToCreate * multipleModelsList.Length)), multiple.Progress()); }