- private Matcher<InputStream> delivers(final byte[] data) {
- return new TypeSafeMatcher<InputStream>() {
- byte[] readData = new byte[data.length];
-
- @Override
- protected boolean matchesSafely(InputStream inputStream) {
- int offset = 0;
- try {
- while (true) {
- int r = inputStream.read();
- if (r == -1) {
- return offset == data.length;
- }
- readData[offset] = (byte) r;
- if (data[offset++] != r) {
- return false;
- }
- }
- } catch (IOException ioe1) {
- return false;
- }
- }
-
- @Override
- public void describeTo(Description description) {
- description.appendValue(data);
- }
-
- @Override
- protected void describeMismatchSafely(InputStream item, Description mismatchDescription) {
- mismatchDescription.appendValue(readData);
- }
- };
- }
-