public async Task FlushBySizeTest() { var buffer = new BufferWithFifoEviction <string>(1000, new StringLengthCostAssigner()); var bufferFlushingTask = new DummyBufferFlushingTask(buffer, TimeSpan.MaxValue, 3, "No-Name"); await bufferFlushingTask.Run(); Assert.Equal(0, bufferFlushingTask.SentOut.Count); buffer.Add("msg1"); buffer.Add("msg2"); await bufferFlushingTask.Run(); Assert.Equal(0, bufferFlushingTask.SentOut.Count); buffer.Add("msg3"); await bufferFlushingTask.Run(); Assert.Equal(1, bufferFlushingTask.SentOut.Count); Assert.Equal(3, bufferFlushingTask.SentOut[0].Count); Assert.Equal(new List <string>() { "msg1", "msg2", "msg3" }, bufferFlushingTask.SentOut[0]); }
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 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]); }