public void Enqueue_Dequeue_Enqueue_Succeeds()
        {
            var q        = new EndpointConcurrentQueueSet();
            var endpoint = new Endpoint {
                Issuer = "issuer1"
            };

            q.TryEnqueue(endpoint);
            q.TryDequeue(out var _);
            var ok = q.TryEnqueue(endpoint);

            Assert.True(ok);
        }
        public void Enqueueing_Twice_Fails_On_Second_Add()
        {
            var q        = new EndpointConcurrentQueueSet();
            var endpoint = new Endpoint {
                Issuer = "issuer1"
            };

            var first  = q.TryEnqueue(endpoint);
            var second = q.TryEnqueue(endpoint);

            Assert.True(first);
            Assert.False(second);
        }
Beispiel #3
0
        public void Drain_Length_Equals_Unique_Additions()
        {
            var q  = new EndpointConcurrentQueueSet();
            var e1 = new Endpoint {
                Issuer = "issuer1"
            };
            var e2 = new Endpoint {
                Issuer = "issuer2"
            };

            q.TryEnqueue(e1);
            q.TryEnqueue(e2);
            q.TryEnqueue(e2);

            var uniq = q.Drain();

            Assert.Equal(2, uniq.Count());
        }
Beispiel #4
0
        public void Fresh_Queue_Is_Empty()
        {
            var q = new EndpointConcurrentQueueSet();

            Assert.True(q.IsEmpty);
        }