public void FlushWithNPlusOneElementsTest() { var buffer = new BufferWithFifoEviction<string>(1000, new StringLengthCostAssigner()); var bufferFlushingTask = new DummyBufferFlushingTask(buffer, TimeSpan.MaxValue, 3, "No-Name"); buffer.Add("msg1"); buffer.Add("msg2"); buffer.Add("msg3"); buffer.Add("msg4"); bufferFlushingTask.Run(); Assert.Equal(4, bufferFlushingTask.SentOut[0].Count); }
public void FlushBySizeTest() { var buffer = new BufferWithFifoEviction<string>(1000, new StringLengthCostAssigner()); var bufferFlushingTask = new DummyBufferFlushingTask(buffer, TimeSpan.MaxValue, 3, "No-Name"); bufferFlushingTask.Run(); Assert.Equal(0, bufferFlushingTask.SentOut.Count); buffer.Add("msg1"); buffer.Add("msg2"); bufferFlushingTask.Run(); Assert.Equal(0, bufferFlushingTask.SentOut.Count); buffer.Add("msg3"); bufferFlushingTask.Run(); Assert.Equal(1, bufferFlushingTask.SentOut.Count); Assert.Equal(bufferFlushingTask.SentOut[0].Count, 3); Assert.Equal(bufferFlushingTask.SentOut[0], new List<string>() { "msg1", "msg2", "msg3" }); }
public void FlushWhenBufferCapacityIsSmallTest() { var buffer = new BufferWithFifoEviction<string>(12, new StringLengthCostAssigner()); var bufferFlushingTask = new DummyBufferFlushingTask(buffer, TimeSpan.MaxValue, 3, "No-Name"); buffer.Add("msg1"); buffer.Add("msg2"); buffer.Add("msg3"); buffer.Add("msg4"); bufferFlushingTask.Run(); Assert.Equal(3, bufferFlushingTask.SentOut[0].Count); Assert.Equal(new List<string>() { "msg2", "msg3", "msg4" }, bufferFlushingTask.SentOut[0]); }