@Test public void testPumpBasic() throws Exception { FakeReadStream<MyClass> rs = new FakeReadStream<>(); FakeWriteStream<MyClass> ws = new FakeWriteStream<>(); Pump p = Pump.pump(rs, ws, 1001); for (int i = 0; i < 10; i++) { // Repeat a few times p.start(); List<MyClass> inp = new ArrayList<>(); for (int j = 0; j < 10; j++) { MyClass myClass = new MyClass(); inp.add(myClass); rs.addData(myClass); } assertEquals(inp, ws.received); assertFalse(rs.paused); assertEquals(0, rs.pauseCount); assertEquals(0, rs.resumeCount); p.stop(); ws.clearReceived(); MyClass myClass = new MyClass(); rs.addData(myClass); assertEquals(0, ws.received.size()); } }
void clearReceived() { boolean callDrain = writeQueueFull(); received = new ArrayList<>(); if (callDrain && drainHandler != null) { drainHandler.handle(null); } }
@Test public void testPumpPauseResume() throws Exception { FakeReadStream<MyClass> rs = new FakeReadStream<>(); FakeWriteStream<MyClass> ws = new FakeWriteStream<>(); Pump p = Pump.pump(rs, ws, 5); p.start(); for (int i = 0; i < 10; i++) { // Repeat a few times List<MyClass> inp = new ArrayList<>(); for (int j = 0; j < 4; j++) { MyClass myClass = new MyClass(); inp.add(myClass); rs.addData(myClass); assertFalse(rs.paused); assertEquals(i, rs.pauseCount); assertEquals(i, rs.resumeCount); } MyClass myClass = new MyClass(); inp.add(myClass); rs.addData(myClass); assertTrue(rs.paused); assertEquals(i + 1, rs.pauseCount); assertEquals(i, rs.resumeCount); assertEquals(inp, ws.received); ws.clearReceived(); assertFalse(rs.paused); assertEquals(i + 1, rs.pauseCount); assertEquals(i + 1, rs.resumeCount); } }
@Test public void testPumpBasic() throws Exception { FakeReadStream<MyClass> rs = new FakeReadStream<>(); FakeWriteStream<MyClass> ws = new FakeWriteStream<>(); Pump p = Pump.pump(rs, ws, 1001); for (int i = 0; i < 10; i++) { // Repeat a few times p.start(); List<MyClass> inp = new ArrayList<>(); for (int j = 0; j < 10; j++) { MyClass myClass = new MyClass(); inp.add(myClass); rs.addData(myClass); } assertEquals(inp, ws.received); assertFalse(rs.paused); assertEquals(0, rs.pauseCount); assertEquals(0, rs.resumeCount); p.stop(); ws.clearReceived(); MyClass myClass = new MyClass(); rs.addData(myClass); assertEquals(0, ws.received.size()); } }
@Test(expected = NullPointerException.class) public void testPumpWriteStreamNull2() { FakeWriteStream<MyClass> ws = new FakeWriteStream<>(); Pump.pump(null, ws, 1000); }
@Test(expected = NullPointerException.class) public void testPumpWriteStreamNull() { FakeWriteStream<MyClass> ws = new FakeWriteStream<>(); Pump.pump(null, ws); }
void clearReceived() { boolean callDrain = writeQueueFull(); received = new ArrayList<>(); if (callDrain && drainHandler != null) { drainHandler.handle(null); } }
@Test public void testPumpPauseResume() throws Exception { FakeReadStream<MyClass> rs = new FakeReadStream<>(); FakeWriteStream<MyClass> ws = new FakeWriteStream<>(); Pump p = Pump.pump(rs, ws, 5); p.start(); for (int i = 0; i < 10; i++) { // Repeat a few times List<MyClass> inp = new ArrayList<>(); for (int j = 0; j < 4; j++) { MyClass myClass = new MyClass(); inp.add(myClass); rs.addData(myClass); assertFalse(rs.paused); assertEquals(i, rs.pauseCount); assertEquals(i, rs.resumeCount); } MyClass myClass = new MyClass(); inp.add(myClass); rs.addData(myClass); assertTrue(rs.paused); assertEquals(i + 1, rs.pauseCount); assertEquals(i, rs.resumeCount); assertEquals(inp, ws.received); ws.clearReceived(); assertFalse(rs.paused); assertEquals(i + 1, rs.pauseCount); assertEquals(i + 1, rs.resumeCount); } }
@Test(expected = NullPointerException.class) public void testPumpWriteStreamNull2() { FakeWriteStream<MyClass> ws = new FakeWriteStream<>(); Pump.pump(null, ws, 1000); }
@Test(expected = NullPointerException.class) public void testPumpWriteStreamNull() { FakeWriteStream<MyClass> ws = new FakeWriteStream<>(); Pump.pump(null, ws); }