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-io.git
commit d18e81487493ae6eedd03dbe27ff699f7f410523 Author: Gary Gregory <[email protected]> AuthorDate: Sat Nov 25 09:36:43 2023 -0500 Use JUnit 5 parameterized tests --- .../java/org/apache/commons/io/CharsetsTest.java | 13 ++++ .../io/input/CharSequenceInputStreamTest.java | 84 ++++++++++------------ 2 files changed, 49 insertions(+), 48 deletions(-) diff --git a/src/test/java/org/apache/commons/io/CharsetsTest.java b/src/test/java/org/apache/commons/io/CharsetsTest.java index 7c988978..53d9ff0b 100644 --- a/src/test/java/org/apache/commons/io/CharsetsTest.java +++ b/src/test/java/org/apache/commons/io/CharsetsTest.java @@ -36,6 +36,10 @@ public class CharsetsTest { * For parameterized tests. */ public static final String AVAIL_CHARSETS = "org.apache.commons.io.CharsetsTest#availableCharsetsKeySet"; + /** + * For parameterized tests. + */ + public static final String REQUIRED_CHARSETS = "org.apache.commons.io.CharsetsTest#getRequiredCharsetNames"; /** * For parameterized tests. @@ -46,6 +50,15 @@ public class CharsetsTest { return Charset.availableCharsets().keySet(); } + /** + * For parameterized tests. + * + * @return {@code Charset.requiredCharsets().keySet()}. + */ + public static Set<String> getRequiredCharsetNames() { + return Charsets.requiredCharsets().keySet(); + } + @Test public void testIso8859_1() { assertEquals("ISO-8859-1", Charsets.ISO_8859_1.name()); diff --git a/src/test/java/org/apache/commons/io/input/CharSequenceInputStreamTest.java b/src/test/java/org/apache/commons/io/input/CharSequenceInputStreamTest.java index 808ddb67..c551fdf2 100644 --- a/src/test/java/org/apache/commons/io/input/CharSequenceInputStreamTest.java +++ b/src/test/java/org/apache/commons/io/input/CharSequenceInputStreamTest.java @@ -64,10 +64,6 @@ public class CharSequenceInputStreamTest { return available; } - private Set<String> getRequiredCharsetNames() { - return Charsets.requiredCharsets().keySet(); - } - private boolean isAvailabilityTestableForCharset(final String csName) { return Charset.forName(csName).canEncode() && !"COMPOUND_TEXT".equalsIgnoreCase(csName) && !"x-COMPOUND_TEXT".equalsIgnoreCase(csName) @@ -168,11 +164,10 @@ public class CharSequenceInputStreamTest { } } - @Test - public void testBufferedRead_RequiredCharset() throws IOException { - for (final String csName : getRequiredCharsetNames()) { - testBufferedRead(TEST_STRING, csName); - } + @ParameterizedTest + @MethodSource(CharsetsTest.REQUIRED_CHARSETS) + public void testBufferedRead_RequiredCharset(final String csName) throws IOException { + testBufferedRead(TEST_STRING, csName); } @Test @@ -192,11 +187,10 @@ public class CharSequenceInputStreamTest { } } - @Test - public void testCharsetMismatchInfiniteLoop_RequiredCharsets() throws IOException { - for (final String csName : getRequiredCharsetNames()) { - testCharsetMismatchInfiniteLoop(csName); - } + @ParameterizedTest + @MethodSource(CharsetsTest.REQUIRED_CHARSETS) + public void testCharsetMismatchInfiniteLoop_RequiredCharsets(final String csName) throws IOException { + testCharsetMismatchInfiniteLoop(csName); } // Test is broken if readFirst > 0 @@ -283,11 +277,10 @@ public class CharSequenceInputStreamTest { testIO_356_Loop(charset.displayName(), (int) ReaderInputStream.minBufferSize(charset.newEncoder())); } - @Test - public void testLargeBufferedRead_RequiredCharsets() throws IOException { - for (final String csName : getRequiredCharsetNames()) { - testBufferedRead(LARGE_TEST_STRING, csName); - } + @ParameterizedTest + @MethodSource(CharsetsTest.REQUIRED_CHARSETS) + public void testLargeBufferedRead_RequiredCharsets(final String csName) throws IOException { + testBufferedRead(LARGE_TEST_STRING, csName); } @Test @@ -295,11 +288,10 @@ public class CharSequenceInputStreamTest { testBufferedRead(LARGE_TEST_STRING, UTF_8); } - @Test - public void testLargeSingleByteRead_RequiredCharsets() throws IOException { - for (final String csName : getRequiredCharsetNames()) { - testSingleByteRead(LARGE_TEST_STRING, csName); - } + @ParameterizedTest + @MethodSource(CharsetsTest.REQUIRED_CHARSETS) + public void testLargeSingleByteRead_RequiredCharsets(final String csName) throws IOException { + testSingleByteRead(LARGE_TEST_STRING, csName); } @Test @@ -324,12 +316,11 @@ public class CharSequenceInputStreamTest { } } - @Test + @ParameterizedTest + @MethodSource(CharsetsTest.REQUIRED_CHARSETS) @Disabled // Test broken for charsets that create multiple bytes for a single char - public void testMarkReset_RequiredCharsets() throws Exception { - for (final String csName : getRequiredCharsetNames()) { - testMarkReset(csName); - } + public void testMarkReset_RequiredCharsets(final String csName) throws Exception { + testMarkReset(csName); } @Test @@ -392,11 +383,10 @@ public class CharSequenceInputStreamTest { } } - @Test - public void testReadZero_RequiredCharsets() throws Exception { - for (final String csName : getRequiredCharsetNames()) { - testReadZero(csName); - } + @ParameterizedTest + @MethodSource(CharsetsTest.REQUIRED_CHARSETS) + public void testReadZero_RequiredCharsets(final String csName) throws Exception { + testReadZero(csName); } private void testResetBeforeEnd(final CharSequenceInputStream inputStream) throws IOException { @@ -454,11 +444,10 @@ public class CharSequenceInputStreamTest { } } - @Test - public void testSingleByteRead_RequiredCharsets() throws IOException { - for (final String csName : getRequiredCharsetNames()) { - testSingleByteRead(TEST_STRING, csName); - } + @ParameterizedTest + @MethodSource(CharsetsTest.REQUIRED_CHARSETS) + public void testSingleByteRead_RequiredCharsets(final String csName) throws IOException { + testSingleByteRead(TEST_STRING, csName); } @Test @@ -472,15 +461,14 @@ public class CharSequenceInputStreamTest { } - @Test - public void testSkip_RequiredCharsets() throws Exception { - for (final String csName : getRequiredCharsetNames()) { - try (InputStream r = new CharSequenceInputStream("test", csName)) { - assertEquals(1, r.skip(1)); - assertEquals(2, r.skip(2)); - r.skip(100); - assertEquals(-1, r.read(), csName); - } + @ParameterizedTest + @MethodSource(CharsetsTest.REQUIRED_CHARSETS) + public void testSkip_RequiredCharsets(final String csName) throws Exception { + try (InputStream r = new CharSequenceInputStream("test", csName)) { + assertEquals(1, r.skip(1)); + assertEquals(2, r.skip(2)); + r.skip(100); + assertEquals(-1, r.read(), csName); } } }
