public void GetNextRequestDoesntRemoveItFromQueue()
        {
            IRequestQueue queue = new MemoryRequestQueue();

            Assert.AreEqual(0, queue.GetCount());

            Request request = CreateRequest();

            queue.Enqueue(request);

            Assert.AreEqual(1, queue.GetCount());
            Request dequeued = queue.GetNextRequest();

            Assert.AreEqual(1, queue.GetCount());
            Assert.IsTrue(AreEqual(request, dequeued));
        }
        public void CanDequeuedWhenOptionalPropertiesNotSet()
        {
            Request request = new Request();

            request.Endpoint                  = "Endpoint";
            request.MethodName                = "Method";
            request.OnlineProxyType           = typeof(MemoryRequestQueueFixture);
            request.Behavior                  = new OfflineBehavior();
            request.Behavior.ProxyFactoryType = typeof(object);

            IRequestQueue queue = new MemoryRequestQueue();

            Assert.AreEqual(0, queue.GetCount());
            queue.Enqueue(request);
            Assert.AreEqual(1, queue.GetCount());

            Request request2 = queue.GetNextRequest();

            Assert.IsNotNull(request2);
        }