private void doTestSetStreamEndOfStream(ByteArray target, byte[] base, int offset) throws IOException { // Create mock, set up expected calls, and transition to // verification mode. MockInputStream stream = new MockInputStream(); stream.read(base, offset, 1, -1, null); stream.activate(); // Test. assertEquals("Failed to signal end of stream.", -1, target.set(0, 1, stream)); // Make sure all expected calls were performed. stream.verify(); }
@Test public void testSetStreamWhen1LengthSlice() throws IOException { // Create mock, set up expected calls, and transition to // verification mode. byte[] base = new byte[] {0, 0}; MockInputStream stream = new MockInputStream(); stream.read(base, 1, 1, 1, null); // Will set base[1]=1. stream.activate(); // Test. ByteArray target = new ByteArray(base, 1, 1); doTestSetStreamBoundaryCases(target); doTestSetStreamEndOfStream(target, base, 1); assertEquals("Should return the bytes written.", 1, target.set(0, 1, stream)); verifySetStream(base, 1, 0, target, 1); // Make sure all expected calls were performed. stream.verify(); }