public void Run(int messageCount, int timeOut, int workerCount,
                        int readerCount, int queueSize, ConnectionInfoTypes type, bool route)
        {
            var queueName        = GenerateQueueName.Create();
            var connectionString = new ConnectionInfo(type).ConnectionString;
            var consumer         =
                new DotNetWorkQueue.IntegrationTests.Shared.ConsumerAsync.Implementation.ConsumerAsyncPoisonMessage();

            consumer.Run <RedisQueueInit, FakeMessage, RedisQueueCreation>(new QueueConnection(queueName, connectionString),
                                                                           messageCount, timeOut, workerCount, readerCount, queueSize, false, x => { },
                                                                           Helpers.GenerateData, Helpers.Verify, VerifyQueueCount, ValidateErrorCounts);
        }
 public void Run(int messageCount, int timeOut, int workerCount, int readerCount, int queueSize, bool enableChaos, IntegrationConnectionInfo.ConnectionTypes connectionType)
 {
     using (var connectionInfo = new IntegrationConnectionInfo(connectionType))
     {
         var queueName = GenerateQueueName.Create();
         var consumer  =
             new DotNetWorkQueue.IntegrationTests.Shared.ConsumerAsync.Implementation.
             ConsumerAsyncPoisonMessage();
         consumer.Run <LiteDbMessageQueueInit, FakeMessage, LiteDbMessageQueueCreation>(new QueueConnection(queueName,
                                                                                                            connectionInfo.ConnectionString),
                                                                                        messageCount, timeOut, workerCount, readerCount, queueSize, enableChaos, x => Helpers.SetOptions(x, true, false, true),
                                                                                        Helpers.GenerateData, Helpers.Verify, Helpers.VerifyQueueCount, ValidateErrorCounts);
     }
 }
        public void Run(int messageCount, int timeOut, int workerCount, int readerCount, int queueSize,
                        bool useTransactions, bool enableChaos)
        {
            var queueName = GenerateQueueName.Create();
            var consumer  =
                new DotNetWorkQueue.IntegrationTests.Shared.ConsumerAsync.Implementation.ConsumerAsyncPoisonMessage();

            consumer.Run <SqlServerMessageQueueInit, FakeMessage, SqlServerMessageQueueCreation>(new QueueConnection(queueName, ConnectionInfo.ConnectionString),
                                                                                                 messageCount, timeOut, workerCount, readerCount, queueSize, enableChaos, x => Helpers.SetOptions(x,
                                                                                                                                                                                                  true, !useTransactions, useTransactions,
                                                                                                                                                                                                  false,
                                                                                                                                                                                                  false, !useTransactions, true, false),
                                                                                                 Helpers.GenerateData, Helpers.Verify, Helpers.VerifyQueueCount, ValidateErrorCounts);
        }