示例#1
0
        public void CreateQueueFromEmptyListAndNextSequence()
        {
            queue = new SeriesQueue <MessageItem>(new List <MessageItem>(), 10);

            queue.Count.Should().Be(0);
            queue.NextOrdinal.Should().Be(10);
        }
示例#2
0
        public void SingleItemAheadOfQueueHeadTest()
        {
            queue = new SeriesQueue <MessageItem>(nextOrdinal: 4);
            var message = new MessageItem(new Message {
                Sequence = 10, Timestamp = DateTime.UtcNow, Data = "Message1"
            });
            var items = queue.AddAndDequeueAll(message);

            items.Should().BeEmpty();
            queue.Count.Should().Be(1);
        }
示例#3
0
        public void SingleItemAtQueueHeadTest()
        {
            queue = new SeriesQueue <MessageItem>(nextOrdinal: 4);
            var message = new MessageItem(new Message {
                Sequence = 4, Timestamp = DateTime.UtcNow, Data = "Message4"
            });
            var items = queue.AddAndDequeueAll(message);

            items.Should().BeEquivalentTo(new[] { message });
            queue.Count.Should().Be(0);
        }
示例#4
0
        public List <SeriesQueue> GetSeriesQueue(List <Series> list, SeriesState targetState)
        {
            List <SeriesQueue> result = new List <SeriesQueue>();

            foreach (Series s in list)
            {
                SeriesState state = s.watchState;
                if (state == targetState)
                {
                    SeriesQueue sq = s.getSeriesWatching();
                    result.Add(sq);
                }
            }
            return(result);
        }
示例#5
0
        public void CreateQueueFromBinaryTreeList()
        {
            var messages = new List <MessageItem>
            {
                new MessageItem(new Message {
                    Sequence = 10, Timestamp = DateTime.UtcNow, Data = "Message3"
                }),
                new MessageItem(new Message {
                    Sequence = 11, Timestamp = DateTime.UtcNow, Data = "Message2"
                }),
                new MessageItem(new Message {
                    Sequence = 12, Timestamp = DateTime.UtcNow, Data = "Message1"
                }),
            };

            queue = new SeriesQueue <MessageItem>(messages);
            queue.NextOrdinal.Should().Be(10);
        }
示例#6
0
        public void CreateQueueAheadOfNextSequence()
        {
            var messages = new List <MessageItem>
            {
                new MessageItem(new Message {
                    Sequence = 10, Timestamp = DateTime.UtcNow, Data = "Message3"
                }),
                new MessageItem(new Message {
                    Sequence = 11, Timestamp = DateTime.UtcNow, Data = "Message2"
                }),
                new MessageItem(new Message {
                    Sequence = 12, Timestamp = DateTime.UtcNow, Data = "Message1"
                }),
            };

            Assert.Throws <InvalidOperationException>(() =>
            {
                queue = new SeriesQueue <MessageItem>(messages, 5);
            });
        }
示例#7
0
 public void Setup()
 {
     queue = new SeriesQueue <MessageItem>();
 }