import org.junit.jupiter.api.Test; import java.util.ArrayList; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; class NetworkPacketTest { @Test void test() { int bufferMaxSize = 1; NetworkPacket.Buffer buf = new NetworkPacket.Buffer(bufferMaxSize); ArrayList requests = new ArrayList<>(); ArrayList responses = NetworkPacket.processRequests(requests, buf); assertEquals(0, responses.size()); } @Test void test1() { int bufferMaxSize = 1; NetworkPacket.Buffer buf = new NetworkPacket.Buffer(bufferMaxSize); ArrayList requests = new ArrayList<>(); requests.add(new NetworkPacket.Request(0, 1)); ArrayList responses = NetworkPacket.processRequests(requests, buf); assertEquals(1, responses.size()); assertFalse(responses.get(0).dropped); assertEquals(0, responses.get(0).startTime); } @Test void test2() { int bufferMaxSize = 1; NetworkPacket.Buffer buf = new NetworkPacket.Buffer(bufferMaxSize); ArrayList requests = new ArrayList<>(); requests.add(new NetworkPacket.Request(0, 1)); requests.add(new NetworkPacket.Request(0, 1)); ArrayList responses = NetworkPacket.processRequests(requests, buf); assertEquals(2, responses.size()); assertFalse(responses.get(0).dropped); assertEquals(0, responses.get(0).startTime); assertTrue(responses.get(1).dropped); } @Test void test3() { int bufferMaxSize = 1; NetworkPacket.Buffer buf = new NetworkPacket.Buffer(bufferMaxSize); ArrayList requests = new ArrayList<>(); requests.add(new NetworkPacket.Request(0, 1)); requests.add(new NetworkPacket.Request(1, 1)); ArrayList responses = NetworkPacket.processRequests(requests, buf); assertEquals(2, responses.size()); assertFalse(responses.get(0).dropped); assertEquals(0, responses.get(0).startTime); assertFalse(responses.get(1).dropped); assertEquals(1, responses.get(1).startTime); } @Test void test4() { int bufferMaxSize = 1; NetworkPacket.Buffer buf = new NetworkPacket.Buffer(bufferMaxSize); ArrayList requests = new ArrayList<>(); requests.add(new NetworkPacket.Request(1, 0)); ArrayList responses = NetworkPacket.processRequests(requests, buf); assertEquals(1, responses.size()); assertEquals(1, responses.get(0).startTime); } @Test void test5() { int bufferMaxSize = 1; NetworkPacket.Buffer buf = new NetworkPacket.Buffer(bufferMaxSize); ArrayList requests = new ArrayList<>(); requests.add(new NetworkPacket.Request(0, 1)); requests.add(new NetworkPacket.Request(0, 0)); ArrayList responses = NetworkPacket.processRequests(requests, buf); assertEquals(2, responses.size()); assertEquals(0, responses.get(0).startTime); assertEquals(-1, responses.get(1).startTime); } @Test void test6() { int bufferMaxSize = 2; NetworkPacket.Buffer buf = new NetworkPacket.Buffer(bufferMaxSize); ArrayList requests = new ArrayList<>(); requests.add(new NetworkPacket.Request(0, 1)); requests.add(new NetworkPacket.Request(0, 1)); ArrayList responses = NetworkPacket.processRequests(requests, buf); assertEquals(2, responses.size()); assertEquals(0, responses.get(0).startTime); assertEquals(1, responses.get(1).startTime); } @Test void test7() { int bufferMaxSize = 2; NetworkPacket.Buffer buf = new NetworkPacket.Buffer(bufferMaxSize); ArrayList requests = new ArrayList<>(); requests.add(new NetworkPacket.Request(0, 1)); requests.add(new NetworkPacket.Request(0, 1)); requests.add(new NetworkPacket.Request(0, 1)); ArrayList responses = NetworkPacket.processRequests(requests, buf); assertEquals(3, responses.size()); assertEquals(0, responses.get(0).startTime); assertEquals(1, responses.get(1).startTime); assertEquals(-1, responses.get(2).startTime); } @Test void test8() { int bufferMaxSize = 3; NetworkPacket.Buffer buf = new NetworkPacket.Buffer(bufferMaxSize); ArrayList requests = new ArrayList<>(); requests.add(new NetworkPacket.Request(0, 2)); requests.add(new NetworkPacket.Request(1, 2)); requests.add(new NetworkPacket.Request(2, 2)); requests.add(new NetworkPacket.Request(3, 2)); requests.add(new NetworkPacket.Request(4, 2)); requests.add(new NetworkPacket.Request(5, 2)); ArrayList responses = NetworkPacket.processRequests(requests, buf); assertEquals(6, responses.size()); assertEquals(0, responses.get(0).startTime); assertEquals(2, responses.get(1).startTime); assertEquals(4, responses.get(2).startTime); assertEquals(6, responses.get(3).startTime); assertEquals(8, responses.get(4).startTime); assertEquals(-1, responses.get(5).startTime); } @Test void test9() { int bufferMaxSize = 1; NetworkPacket.Buffer buf = new NetworkPacket.Buffer(bufferMaxSize); ArrayList requests = new ArrayList<>(); requests.add(new NetworkPacket.Request(0, 1)); requests.add(new NetworkPacket.Request(1, 1)); requests.add(new NetworkPacket.Request(2, 1)); requests.add(new NetworkPacket.Request(3, 1)); requests.add(new NetworkPacket.Request(3, 1)); ArrayList responses = NetworkPacket.processRequests(requests, buf); assertEquals(5, responses.size()); assertEquals(0, responses.get(0).startTime); assertEquals(1, responses.get(1).startTime); assertEquals(2, responses.get(2).startTime); assertEquals(3, responses.get(3).startTime); assertEquals(-1, responses.get(4).startTime); } @Test void test10() { int bufferMaxSize = 1; NetworkPacket.Buffer buf = new NetworkPacket.Buffer(bufferMaxSize); ArrayList requests = new ArrayList<>(); requests.add(new NetworkPacket.Request(0, 1)); requests.add(new NetworkPacket.Request(2, 1)); ArrayList responses = NetworkPacket.processRequests(requests, buf); assertEquals(2, responses.size()); assertFalse(responses.get(0).dropped); assertEquals(0, responses.get(0).startTime); assertFalse(responses.get(1).dropped); assertEquals(2, responses.get(1).startTime); } }