public void CanSendAndReceiveFromPrivateQueue()
        {
            var name = $"IntegrationTest_{UniqueKeyUtility.Generate()}";

            try
            {
                using (var queue = CreateLocalQueue(name, true, LocaleQueueMode.DurableCreate, AccessMode.Send))
                {
                    queue.Send("Hallo");
                }

                using (var queue = new LocaleQueue(NullLogger.Instance, _messageQueueManager, _messageQueueTransactionFactory, name, true, LocaleQueueMode.DurableCreate, true, AccessMode.Receive))
                {
                    var message = (string)queue.Receive(100, _cancellationToken).Message;

                    message.Should().Be("Hallo");
                }
            }
            finally
            {
                _messageQueueManager.Delete(name, true);
            }
        }
        public void CancelReceiveShouldStopBeforeTimeout()
        {
            var name = $"IntegrationTest_{UniqueKeyUtility.Generate()}";

            try
            {
                using (var queue = new LocaleQueue(NullLogger.Instance, _messageQueueManager, _messageQueueTransactionFactory, name, true, LocaleQueueMode.DurableCreate, true, AccessMode.Receive))
                {
                    var cancellationTokenSource = new CancellationTokenSource();
                    var stopwatch = new Stopwatch();

                    stopwatch.Start();
                    cancellationTokenSource.CancelAfter(500);
                    var message = queue.Receive <string>(1000, cancellationTokenSource.Token);
                    message.Should().BeNull();
                    stopwatch.Stop();
                    stopwatch.ElapsedMilliseconds.Should().BeInRange(400, 700);
                }
            }
            finally
            {
                _messageQueueManager.Delete(name, true);
            }
        }