public void Queue_messages_in_multiple_partitions()
        {
            var sut = new NotifyingPartionedQueue<PartitionedTestData>();

            sut.Enqueue(0, new PartitionedTestData("a", "1"));
            sut.Enqueue(0, new PartitionedTestData("b", "2"));
            sut.Enqueue(0, new PartitionedTestData("b", "4"));
            sut.Enqueue(0, new PartitionedTestData("c", "3"));
            sut.Enqueue(0, new PartitionedTestData("c", "5"));
            sut.Enqueue(0, new PartitionedTestData("c", "6"));

            PartitionedTestData result;
            Assert.IsTrue(sut.TryDequeue(out result));
            Assert.AreEqual("1", result.Data);
            Assert.IsTrue(sut.TryDequeue(out result));
            Assert.AreEqual("2", result.Data);
            Assert.IsTrue(sut.TryDequeue(out result));
            Assert.AreEqual("3", result.Data);
            Assert.IsTrue(sut.TryDequeue(out result));
            Assert.AreEqual("4", result.Data);
            Assert.IsTrue(sut.TryDequeue(out result));
            Assert.AreEqual("5", result.Data);
            Assert.IsTrue(sut.TryDequeue(out result));
            Assert.AreEqual("6", result.Data);
        }
Ejemplo n.º 2
0
        public void Queue_messages_in_multiple_partitions()
        {
            var sut = new NotifyingPartionedQueue <PartitionedTestData>();

            sut.Enqueue(0, new PartitionedTestData("a", "1"));
            sut.Enqueue(0, new PartitionedTestData("b", "2"));
            sut.Enqueue(0, new PartitionedTestData("b", "4"));
            sut.Enqueue(0, new PartitionedTestData("c", "3"));
            sut.Enqueue(0, new PartitionedTestData("c", "5"));
            sut.Enqueue(0, new PartitionedTestData("c", "6"));

            PartitionedTestData result;

            Assert.IsTrue(sut.TryDequeue(out result));
            Assert.AreEqual("1", result.Data);
            Assert.IsTrue(sut.TryDequeue(out result));
            Assert.AreEqual("2", result.Data);
            Assert.IsTrue(sut.TryDequeue(out result));
            Assert.AreEqual("3", result.Data);
            Assert.IsTrue(sut.TryDequeue(out result));
            Assert.AreEqual("4", result.Data);
            Assert.IsTrue(sut.TryDequeue(out result));
            Assert.AreEqual("5", result.Data);
            Assert.IsTrue(sut.TryDequeue(out result));
            Assert.AreEqual("6", result.Data);
        }