You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2023/08/29 14:45:14 UTC
[commons-compress] 01/06: Generics
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-compress.git
commit 0c221f08db2eb0882fd5ef9108ab735a4d6a15f1
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Tue Aug 29 10:04:38 2023 -0400
Generics
---
.../utils/FixedLengthBlockOutputStreamTest.java | 148 +++++++++++----------
1 file changed, 75 insertions(+), 73 deletions(-)
diff --git a/src/test/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStreamTest.java b/src/test/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStreamTest.java
index bb24992f..77cd68b9 100644
--- a/src/test/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStreamTest.java
@@ -140,7 +140,7 @@ public class FixedLengthBlockOutputStreamTest {
return buf;
}
- private FixedLengthBlockOutputStream getClosedFLBOS() throws IOException {
+ private FixedLengthBlockOutputStream newClosedFLBOS() throws IOException {
final int blockSize = 512;
final FixedLengthBlockOutputStream out = new FixedLengthBlockOutputStream(
new MockOutputStream(blockSize, false), blockSize);
@@ -152,52 +152,53 @@ public class FixedLengthBlockOutputStreamTest {
}
private void testBuf(final int blockSize, final String text) throws IOException {
- final MockWritableByteChannel mock = new MockWritableByteChannel(blockSize, false);
-
- final ByteArrayOutputStream bos = mock.bos;
- final byte[] msg = text.getBytes();
- final ByteBuffer buf = getByteBuffer(msg);
- try (FixedLengthBlockOutputStream out = new FixedLengthBlockOutputStream(mock, blockSize)) {
- out.write(buf);
- }
- final double v = Math.ceil(msg.length / (double) blockSize) * blockSize;
- assertEquals((long) v, bos.size(), "wrong size");
- final byte[] output = bos.toByteArray();
- final String l = new String(output, 0, msg.length);
- assertEquals(text, l);
- for (int i = msg.length; i < bos.size(); i++) {
- assertEquals(0, output[i], String.format("output[%d]", i));
+ try (MockWritableByteChannel mock = new MockWritableByteChannel(blockSize, false)) {
+ final ByteArrayOutputStream bos = mock.bos;
+ final byte[] msg = text.getBytes();
+ final ByteBuffer buf = getByteBuffer(msg);
+ try (FixedLengthBlockOutputStream out = new FixedLengthBlockOutputStream(mock, blockSize)) {
+ out.write(buf);
+ }
+ final double v = Math.ceil(msg.length / (double) blockSize) * blockSize;
+ assertEquals((long) v, bos.size(), "wrong size");
+ final byte[] output = bos.toByteArray();
+ final String l = new String(output, 0, msg.length);
+ assertEquals(text, l);
+ for (int i = msg.length; i < bos.size(); i++) {
+ assertEquals(0, output[i], String.format("output[%d]", i));
+ }
}
}
@Test
public void testMultiWriteBuf() throws IOException {
final int blockSize = 13;
- final MockWritableByteChannel mock = new MockWritableByteChannel(blockSize, false);
- final String testString = "hello world";
- final byte[] msg = testString.getBytes();
- final int reps = 17;
-
- try (FixedLengthBlockOutputStream out = new FixedLengthBlockOutputStream(mock, blockSize)) {
+ try (MockWritableByteChannel mock = new MockWritableByteChannel(blockSize, false)) {
+ final String testString = "hello world";
+ final byte[] msg = testString.getBytes();
+ final int reps = 17;
+
+ try (FixedLengthBlockOutputStream out = new FixedLengthBlockOutputStream(mock, blockSize)) {
+ for (int i = 0; i < reps; i++) {
+ final ByteBuffer buf = getByteBuffer(msg);
+ out.write(buf);
+ }
+ }
+ final ByteArrayOutputStream bos = mock.bos;
+ final double v = Math.ceil((reps * msg.length) / (double) blockSize) * blockSize;
+ assertEquals((long) v, bos.size(), "wrong size");
+ final int strLen = msg.length * reps;
+ final byte[] output = bos.toByteArray();
+ final String l = new String(output, 0, strLen);
+ final StringBuilder buf = new StringBuilder(strLen);
for (int i = 0; i < reps; i++) {
- final ByteBuffer buf = getByteBuffer(msg);
- out.write(buf);
+ buf.append(testString);
+ }
+ assertEquals(buf.toString(), l);
+ for (int i = strLen; i < output.length; i++) {
+ assertEquals(0, output[i]);
}
- }
- final ByteArrayOutputStream bos = mock.bos;
- final double v = Math.ceil((reps * msg.length) / (double) blockSize) * blockSize;
- assertEquals((long) v, bos.size(), "wrong size");
- final int strLen = msg.length * reps;
- final byte[] output = bos.toByteArray();
- final String l = new String(output, 0, strLen);
- final StringBuilder buf = new StringBuilder(strLen);
- for (int i = 0; i < reps; i++) {
- buf.append(testString);
- }
- assertEquals(buf.toString(), l);
- for (int i = strLen; i < output.length; i++) {
- assertEquals(0, output[i]);
}
}
@@ -236,12 +237,11 @@ public class FixedLengthBlockOutputStreamTest {
}));
final int blockSize = 512;
final int reps = 1000;
- final OutputStream os = Files.newOutputStream(tempFile.toFile().toPath());
try (FixedLengthBlockOutputStream out = new FixedLengthBlockOutputStream(
- os, blockSize)) {
+ Files.newOutputStream(tempFile.toFile().toPath()), blockSize)) {
final DataOutputStream dos = new DataOutputStream(out);
for (int i = 0; i < reps; i++) {
- dos.writeInt(i);
+ dos.writeInt(i);
}
}
final long expectedDataSize = reps * 4L;
@@ -258,32 +258,33 @@ public class FixedLengthBlockOutputStreamTest {
}
private void testWriteAndPad(final int blockSize, final String text, final boolean doPartialWrite)
- throws IOException {
- final MockWritableByteChannel mock = new MockWritableByteChannel(blockSize, doPartialWrite);
- final byte[] msg = text.getBytes(US_ASCII);
+ throws IOException {
+ try (MockWritableByteChannel mock = new MockWritableByteChannel(blockSize, doPartialWrite)) {
+ final byte[] msg = text.getBytes(US_ASCII);
- final ByteArrayOutputStream bos = mock.bos;
- try (FixedLengthBlockOutputStream out = new FixedLengthBlockOutputStream(mock, blockSize)) {
+ final ByteArrayOutputStream bos = mock.bos;
+ try (FixedLengthBlockOutputStream out = new FixedLengthBlockOutputStream(mock, blockSize)) {
- out.write(msg);
- assertEquals((msg.length / blockSize) * blockSize, bos.size(), "no partial write");
+ out.write(msg);
+ assertEquals((msg.length / blockSize) * blockSize, bos.size(), "no partial write");
+ }
+ validate(blockSize, msg, bos.toByteArray());
}
- validate(blockSize, msg, bos.toByteArray());
}
private void testWriteAndPadToStream(final int blockSize, final String text, final boolean doPartialWrite)
- throws IOException {
- final MockOutputStream mock = new MockOutputStream(blockSize, doPartialWrite);
- final byte[] msg = text.getBytes(US_ASCII);
-
- final ByteArrayOutputStream bos = mock.bos;
- try (FixedLengthBlockOutputStream out = new FixedLengthBlockOutputStream(mock, blockSize)) {
- out.write(msg);
- assertEquals((msg.length / blockSize) * blockSize, bos.size(), "no partial write");
+ throws IOException {
+ try (MockOutputStream mock = new MockOutputStream(blockSize, doPartialWrite)) {
+ final byte[] msg = text.getBytes(US_ASCII);
+
+ final ByteArrayOutputStream bos = mock.bos;
+ try (FixedLengthBlockOutputStream out = new FixedLengthBlockOutputStream(mock, blockSize)) {
+ out.write(msg);
+ assertEquals((msg.length / blockSize) * blockSize, bos.size(), "no partial write");
+ }
+ validate(blockSize, msg, bos.toByteArray());
}
- validate(blockSize, msg, bos.toByteArray());
-
}
@Test
@@ -314,17 +315,17 @@ public class FixedLengthBlockOutputStreamTest {
@Test
public void testWriteFailsAfterFLClosedThrowsException() {
assertThrowsExactly(ClosedChannelException.class, () -> {
- final FixedLengthBlockOutputStream out = getClosedFLBOS();
+ final FixedLengthBlockOutputStream out = newClosedFLBOS();
out.write(1);
}, "expected Closed Channel Exception");
assertThrowsExactly(ClosedChannelException.class, () -> {
- final FixedLengthBlockOutputStream out = getClosedFLBOS();
+ final FixedLengthBlockOutputStream out = newClosedFLBOS();
out.write(new byte[]{0, 1, 2, 3});
}, "expected Closed Channel Exception");
assertThrowsExactly(ClosedChannelException.class, () -> {
- final FixedLengthBlockOutputStream out = getClosedFLBOS();
+ final FixedLengthBlockOutputStream out = newClosedFLBOS();
out.write(ByteBuffer.wrap(new byte[]{0, 1, 2, 3}));
}, "expected Closed Channel Exception");
}
@@ -332,19 +333,20 @@ public class FixedLengthBlockOutputStreamTest {
@Test
public void testWriteSingleBytes() throws IOException {
final int blockSize = 4;
- final MockWritableByteChannel mock = new MockWritableByteChannel(blockSize, false);
- final ByteArrayOutputStream bos = mock.bos;
- final String text = "hello world avengers";
- final byte[] msg = text.getBytes();
- final int len = msg.length;
- try (FixedLengthBlockOutputStream out = new FixedLengthBlockOutputStream(mock, blockSize)) {
- for (int i = 0; i < len; i++) {
- out.write(msg[i]);
+ try (MockWritableByteChannel mock = new MockWritableByteChannel(blockSize, false)) {
+ final ByteArrayOutputStream bos = mock.bos;
+ final String text = "hello world avengers";
+ final byte[] msg = text.getBytes();
+ final int len = msg.length;
+ try (FixedLengthBlockOutputStream out = new FixedLengthBlockOutputStream(mock, blockSize)) {
+ for (int i = 0; i < len; i++) {
+ out.write(msg[i]);
+ }
}
- }
- final byte[] output = bos.toByteArray();
+ final byte[] output = bos.toByteArray();
- validate(blockSize, msg, output);
+ validate(blockSize, msg, output);
+ }
}
private void validate(final int blockSize, final byte[] expectedBytes, final byte[] actualBytes) {