| testReadFailure() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| testReadFailureDoesNotSurfaceInAbort() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| testFakeStreamRead() |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| assertBytesRead(SDKStreamDrainer, int) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| testEmptyStream() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| testSingleChar() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| testMultipleBuffers() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| testExactlyOneBuffer() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| testStreamUnderflow() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| drainer(int, boolean, TestSDKStreamDrainer.FakeSDKInputStream) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| testDrainerDrained() |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| testDrainerAborted() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| assertAborted(SDKStreamDrainer) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| assertNotAborted(SDKStreamDrainer) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$assertNotAborted$1(SDKStreamDrainer) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| assertBytesReadNotAborted(SDKStreamDrainer, int) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| stream() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$testReadFailure$0(SDKStreamDrainer) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| TestSDKStreamDrainer() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |