package com.zendesk.maxwell.producer; import com.zendesk.maxwell.replication.BinlogPosition; import com.zendesk.maxwell.replication.Position; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; /** * Created by ben on 5/25/16. */ public class InflightMessageListTest { static Position p1 = new Position(BinlogPosition.at(1, "f"), 0L); static Position p2 = new Position(BinlogPosition.at(2, "f"), 0L); static Position p3 = new Position(BinlogPosition.at(3, "f"), 0L); InflightMessageList list; @Before public void setupBefore() { list = new InflightMessageList(); list.addMessage(p1); list.addMessage(p2); list.addMessage(p3); } @Test public void testInOrderCompletion() { Position ret; ret = list.completeMessage(p1); assert(ret.equals(p1)); ret = list.completeMessage(p2); assert(ret.equals(p2)); ret = list.completeMessage(p3); assert(ret.equals(p3)); assert(list.size() == 0); } @Test public void testOutOfOrderComplete() { Position ret; ret = list.completeMessage(p3); assert(ret == null); ret = list.completeMessage(p2); assert(ret == null); ret = list.completeMessage(p1); assertEquals(p3, ret); } }