|
@@ -29,6 +29,8 @@ import java.nio.charset.MalformedInputException;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
import java.util.function.Predicate;
|
|
import java.util.function.Predicate;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
+
|
|
|
|
|
+import net.ranides.assira.collection.arrays.ArrayUtils;
|
|
|
import net.ranides.assira.events.EventDispatcher;
|
|
import net.ranides.assira.events.EventDispatcher;
|
|
|
import net.ranides.assira.events.EventRouter;
|
|
import net.ranides.assira.events.EventRouter;
|
|
|
import net.ranides.assira.functional.CheckedFunction;
|
|
import net.ranides.assira.functional.CheckedFunction;
|
|
@@ -60,7 +62,21 @@ public class IOStreamsTest {
|
|
|
assertCopy(7* 4096 + 1);
|
|
assertCopy(7* 4096 + 1);
|
|
|
assertCopy(7* 4096 + 740);
|
|
assertCopy(7* 4096 + 740);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
+ @Test
|
|
|
|
|
+ public void testCopy2() throws IOException {
|
|
|
|
|
+ byte[] data = random(32, 777L);
|
|
|
|
|
+ ByteArrayOutputStream bos1 = new ByteArrayOutputStream();
|
|
|
|
|
+ ByteArrayOutputStream bos2 = new ByteArrayOutputStream();
|
|
|
|
|
+
|
|
|
|
|
+ ByteArrayInputStream bis = new ByteArrayInputStream(data);
|
|
|
|
|
+ IOStreams.copy(bis, bos1, 16);
|
|
|
|
|
+ IOStreams.copy(bis, bos2, 14);
|
|
|
|
|
+
|
|
|
|
|
+ assertArrayEquals(ArrayUtils.slice(data, 0, 16), bos1.toByteArray());
|
|
|
|
|
+ assertArrayEquals(ArrayUtils.slice(data, 16, 30), bos2.toByteArray());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Test
|
|
@Test
|
|
|
public void testEquivalent() throws IOException {
|
|
public void testEquivalent() throws IOException {
|
|
|
byte[] data1 = random(7*4096+33, 777L);
|
|
byte[] data1 = random(7*4096+33, 777L);
|