package com.netflix.suro.sink.queue; import com.netflix.suro.message.Message; import com.netflix.suro.queue.MemoryQueue4Sink; import org.junit.Test; import java.io.IOException; import java.util.LinkedList; import java.util.List; import static org.junit.Assert.assertEquals; public class TestMemoryQueue { @Test public void test() throws IOException { MemoryQueue4Sink queue = new MemoryQueue4Sink(100); assertEquals(queue.size(), 0); assertEquals(queue.isEmpty(), true); assertEquals(queue.drain(100, new LinkedList<Message>()), 0); for (int i = 0; i < 100; ++i) { queue.offer(new Message("routingkey" + i, ("value" + i).getBytes())); } assertEquals(queue.size(), 100); assertEquals(queue.isEmpty(), false); List<Message> msgList = new LinkedList<Message>(); assertEquals(queue.drain(100, msgList), 100); int i = 0; for (Message m : msgList) { assertEquals(m.getRoutingKey(), "routingkey" + i); assertEquals(new String(m.getPayload()), "value" + i); ++i; } assertEquals(i, 100); assertEquals(queue.size(), 0); assertEquals(queue.isEmpty(), true); } }