From d6ad3f01574b839670d4ea5cf82a601eee7e0c16 Mon Sep 17 00:00:00 2001 From: Oliver Siegmar Date: Fri, 8 Sep 2017 10:36:07 +0200 Subject: [PATCH 0001/3439] remove redundant modifiers (support recent checkstyle versions) (closes #284) --- src/main/java/org/apache/commons/lang3/SerializationUtils.java | 2 +- .../java/org/apache/commons/lang3/concurrent/Computable.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/apache/commons/lang3/SerializationUtils.java b/src/main/java/org/apache/commons/lang3/SerializationUtils.java index e62827a57ab..69c3664e9d8 100644 --- a/src/main/java/org/apache/commons/lang3/SerializationUtils.java +++ b/src/main/java/org/apache/commons/lang3/SerializationUtils.java @@ -81,7 +81,7 @@ public static T clone(final T object) { final byte[] objectData = serialize(object); final ByteArrayInputStream bais = new ByteArrayInputStream(objectData); - try (final ClassLoaderAwareObjectInputStream in = new ClassLoaderAwareObjectInputStream(bais, + try (ClassLoaderAwareObjectInputStream in = new ClassLoaderAwareObjectInputStream(bais, object.getClass().getClassLoader())) { /* * when we serialize and deserialize an object, diff --git a/src/main/java/org/apache/commons/lang3/concurrent/Computable.java b/src/main/java/org/apache/commons/lang3/concurrent/Computable.java index c949f083e65..a74d1b1ebf5 100644 --- a/src/main/java/org/apache/commons/lang3/concurrent/Computable.java +++ b/src/main/java/org/apache/commons/lang3/concurrent/Computable.java @@ -37,5 +37,5 @@ public interface Computable { * @throws InterruptedException * thrown if the calculation is interrupted */ - O compute(final I arg) throws InterruptedException; + O compute(I arg) throws InterruptedException; } From 3e08af573f8b50da5202f55df62c925f88a47f3d Mon Sep 17 00:00:00 2001 From: namannigam Date: Thu, 10 Aug 2017 08:45:27 +0530 Subject: [PATCH 0002/3439] LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug (closes #282) SwappedPair constructed as Pair.of(rhs,lhs) --- .../java/org/apache/commons/lang3/builder/EqualsBuilder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java b/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java index 4e24bc5248c..d2cf7c7fb5e 100644 --- a/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java +++ b/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java @@ -157,7 +157,7 @@ static Pair getRegisterPair(final Object lhs, final Object rhs) { static boolean isRegistered(final Object lhs, final Object rhs) { final Set> registry = getRegistry(); final Pair pair = getRegisterPair(lhs, rhs); - final Pair swappedPair = Pair.of(pair.getLeft(), pair.getRight()); + final Pair swappedPair = Pair.of(pair.getRight(), pair.getLeft()); return registry != null && (registry.contains(pair) || registry.contains(swappedPair)); From a2dce32cdab108e7e281dfc27dd0a394e1419ce1 Mon Sep 17 00:00:00 2001 From: pascalschumacher Date: Fri, 8 Sep 2017 18:18:45 +0200 Subject: [PATCH 0003/3439] LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug Add a test and a changes.xml entry. --- src/changes/changes.xml | 3 ++- .../commons/lang3/builder/EqualsBuilderTest.java | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 58464722705..ec74e49ebad 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -47,7 +47,8 @@ The type attribute can be add,update,fix,remove. Remove deprecation from RandomStringUtils - ConstructorUtils.invokeConstructor(Class, Object...) regression + ConstructorUtils.invokeConstructor(Class, Object...) regression + EqualsBuilder#isRegistered: swappedPair construction bug diff --git a/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java b/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java index 3e47b3af475..8dad5e8eb17 100644 --- a/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java +++ b/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java @@ -21,8 +21,10 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; +import java.lang.reflect.Method; import java.util.Arrays; +import org.apache.commons.lang3.reflect.MethodUtils; import org.junit.Test; /** @@ -1339,5 +1341,17 @@ public void testReflectionAppend() { assertFalse(new EqualsBuilder().reflectionAppend(null, o2).build()); } + @Test + public void testIsRegistered() throws Exception { + Object firstObject = new Object(); + Object secondObject = new Object(); + + Method registerMethod = MethodUtils.getMatchingMethod(EqualsBuilder.class, "register", Object.class, Object.class); + registerMethod.setAccessible(true); + registerMethod.invoke(null, firstObject, secondObject); + + assertTrue(EqualsBuilder.isRegistered(firstObject, secondObject)); + assertTrue(EqualsBuilder.isRegistered(secondObject, firstObject)); // LANG-1349 + } } From fdf05fa29babe21e64f9a5b268dc8406d449d4f1 Mon Sep 17 00:00:00 2001 From: pascalschumacher Date: Fri, 8 Sep 2017 18:43:16 +0200 Subject: [PATCH 0004/3439] LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug Modify test to clean-up registry at the end. --- .../lang3/builder/EqualsBuilderTest.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java b/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java index 8dad5e8eb17..d516dcafe92 100644 --- a/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java +++ b/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java @@ -1346,12 +1346,18 @@ public void testIsRegistered() throws Exception { Object firstObject = new Object(); Object secondObject = new Object(); - Method registerMethod = MethodUtils.getMatchingMethod(EqualsBuilder.class, "register", Object.class, Object.class); - registerMethod.setAccessible(true); - registerMethod.invoke(null, firstObject, secondObject); - - assertTrue(EqualsBuilder.isRegistered(firstObject, secondObject)); - assertTrue(EqualsBuilder.isRegistered(secondObject, firstObject)); // LANG-1349 + try { + Method registerMethod = MethodUtils.getMatchingMethod(EqualsBuilder.class, "register", Object.class, Object.class); + registerMethod.setAccessible(true); + registerMethod.invoke(null, firstObject, secondObject); + + assertTrue(EqualsBuilder.isRegistered(firstObject, secondObject)); + assertTrue(EqualsBuilder.isRegistered(secondObject, firstObject)); // LANG-1349 + } finally { + Method unregisterMethod = MethodUtils.getMatchingMethod(EqualsBuilder.class, "unregister", Object.class, Object.class); + unregisterMethod.setAccessible(true); + unregisterMethod.invoke(null, firstObject, secondObject); + } } } From 67830fe24964b0164d0212cbb4f018f15608ff37 Mon Sep 17 00:00:00 2001 From: Oliver Siegmar Date: Fri, 8 Sep 2017 10:39:40 +0200 Subject: [PATCH 0005/3439] make checkstyle config more portable (no maven coupling) --- checkstyle.xml | 3 +++ pom.xml | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/checkstyle.xml b/checkstyle.xml index d91202804de..9ba1bccc25f 100644 --- a/checkstyle.xml +++ b/checkstyle.xml @@ -35,6 +35,9 @@ limitations under the License. + + + diff --git a/pom.xml b/pom.xml index be88716ebb9..419211268f6 100644 --- a/pom.xml +++ b/pom.xml @@ -684,7 +684,6 @@ ${checkstyle.plugin.version} ${basedir}/checkstyle.xml - ${basedir}/checkstyle-suppressions.xml true false @@ -709,7 +708,6 @@ ${checkstyle.plugin.version} ${basedir}/checkstyle.xml - ${basedir}/checkstyle-suppressions.xml true false From 466244ce3d175ad97c2858e54152d5bb5243bcd5 Mon Sep 17 00:00:00 2001 From: Allon Mureinik Date: Wed, 20 Sep 2017 19:52:03 +0300 Subject: [PATCH 0006/3439] Clean up findbugs exclusions for old XYZRange classes (closes #287) Commit 56e830a removed all the old XYZRange classes from org.apache.lang3.math, and left only the generic Range class. This patch removes the left-over findbugs exclusions for those classes. --- findbugs-exclude-filter.xml | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/findbugs-exclude-filter.xml b/findbugs-exclude-filter.xml index 23dddbdf75b..0e710c4e655 100644 --- a/findbugs-exclude-filter.xml +++ b/findbugs-exclude-filter.xml @@ -80,34 +80,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - From be31b6eb244d6ec757d6c27c4c2682ea38bd197a Mon Sep 17 00:00:00 2001 From: Allon Mureinik Date: Thu, 21 Sep 2017 13:28:09 +0300 Subject: [PATCH 0007/3439] Fix typo stateme->statement This closes #288 --- findbugs-exclude-filter.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/findbugs-exclude-filter.xml b/findbugs-exclude-filter.xml index 0e710c4e655..864b0763491 100644 --- a/findbugs-exclude-filter.xml +++ b/findbugs-exclude-filter.xml @@ -130,7 +130,7 @@ - + From e1a6e084177cd6824e8fd2e5b5a62a05658a3718 Mon Sep 17 00:00:00 2001 From: Benedikt Ritter Date: Mon, 25 Sep 2017 20:27:59 +0200 Subject: [PATCH 0008/3439] Add JavaDoc badge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ae5aee2a10c..d608c03ea1d 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,7 @@ Apache Commons Lang [![Build Status](https://travis-ci.org/apache/commons-lang.svg?branch=master)](https://travis-ci.org/apache/commons-lang) [![Coverage Status](https://coveralls.io/repos/apache/commons-lang/badge.svg?branch=master)](https://coveralls.io/r/apache/commons-lang) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.commons/commons-lang3/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.apache.commons/commons-lang3/) +[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-lang3.svg/3.6)](https://javadoc.io/doc/org.apache.commons/commons-lang3/3.6) Apache Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so From 1406f2a4f2cda80a05b8dc2506ec9d0a25bdf2db Mon Sep 17 00:00:00 2001 From: Benedikt Ritter Date: Mon, 25 Sep 2017 20:30:04 +0200 Subject: [PATCH 0009/3439] Correct link to JavaDoc badge image --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d608c03ea1d..bd2a4051d63 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Apache Commons Lang [![Build Status](https://travis-ci.org/apache/commons-lang.svg?branch=master)](https://travis-ci.org/apache/commons-lang) [![Coverage Status](https://coveralls.io/repos/apache/commons-lang/badge.svg?branch=master)](https://coveralls.io/r/apache/commons-lang) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.commons/commons-lang3/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.apache.commons/commons-lang3/) -[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-lang3.svg/3.6)](https://javadoc.io/doc/org.apache.commons/commons-lang3/3.6) +[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-lang3/3.6.svg)](https://javadoc.io/doc/org.apache.commons/commons-lang3/3.6) Apache Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so From 7076b7408f06bc8a277f58e7bb6c2ec3372d5d6f Mon Sep 17 00:00:00 2001 From: Allon Mureinik Date: Fri, 22 Sep 2017 05:35:51 +0300 Subject: [PATCH 0010/3439] Boolean comparisons in CharRange (closes #289) Cleaned up comparisons to false to just use the boolean negation operator (!). --- src/main/java/org/apache/commons/lang3/CharRange.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/apache/commons/lang3/CharRange.java b/src/main/java/org/apache/commons/lang3/CharRange.java index b395306bdb9..6a416bb632a 100644 --- a/src/main/java/org/apache/commons/lang3/CharRange.java +++ b/src/main/java/org/apache/commons/lang3/CharRange.java @@ -206,7 +206,7 @@ public boolean equals(final Object obj) { if (obj == this) { return true; } - if (obj instanceof CharRange == false) { + if (!(obj instanceof CharRange)) { return false; } final CharRange other = (CharRange) obj; @@ -335,7 +335,7 @@ public boolean hasNext() { */ @Override public Character next() { - if (hasNext == false) { + if (!hasNext) { throw new NoSuchElementException(); } final char cur = current; From c7554151d3f695718a5bd431e22c7f4c39a0b261 Mon Sep 17 00:00:00 2001 From: Allon Mureinik Date: Sat, 30 Sep 2017 15:25:34 +0300 Subject: [PATCH 0011/3439] Clean up if in CharUtilsTest#testIsAscii_char The if statement calls assertTrue on the if branch and assertFalse on the else branch on the same expression. This can easily be simplified to assertEquals with a boolean expression to make the code clean and easier to read. --- src/test/java/org/apache/commons/lang3/CharUtilsTest.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/test/java/org/apache/commons/lang3/CharUtilsTest.java b/src/test/java/org/apache/commons/lang3/CharUtilsTest.java index bd92c3355f5..35f7f02712a 100644 --- a/src/test/java/org/apache/commons/lang3/CharUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/CharUtilsTest.java @@ -220,11 +220,7 @@ public void testIsAscii_char() { assertFalse(CharUtils.isAscii(CHAR_COPY)); for (int i = 0; i < 128; i++) { - if (i < 128) { - assertTrue(CharUtils.isAscii((char) i)); - } else { - assertFalse(CharUtils.isAscii((char) i)); - } + assertEquals(i < 128, CharUtils.isAscii((char) i)); } } From ae862ae116f2056421ab8d6e997e7b64a95828a5 Mon Sep 17 00:00:00 2001 From: Allon Mureinik Date: Sat, 30 Sep 2017 15:27:42 +0300 Subject: [PATCH 0012/3439] CharUtilsTest#testIsAscii_char loop The loop currently loops only up to 128, thus testing just positive return values of CharUtils#isAscii(char). This patch increase the loop to go over all the possible values of an unsigned byte, thus testing also negative return values. --- src/test/java/org/apache/commons/lang3/CharUtilsTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/apache/commons/lang3/CharUtilsTest.java b/src/test/java/org/apache/commons/lang3/CharUtilsTest.java index 35f7f02712a..71975d3a065 100644 --- a/src/test/java/org/apache/commons/lang3/CharUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/CharUtilsTest.java @@ -219,7 +219,7 @@ public void testIsAscii_char() { assertTrue(CharUtils.isAscii('\n')); assertFalse(CharUtils.isAscii(CHAR_COPY)); - for (int i = 0; i < 128; i++) { + for (int i = 0; i < 255; i++) { assertEquals(i < 128, CharUtils.isAscii((char) i)); } } From d65b9d2bed09847ef28b9ceb30c9f8a96e0c12fe Mon Sep 17 00:00:00 2001 From: Allon Mureinik Date: Sat, 30 Sep 2017 15:32:54 +0300 Subject: [PATCH 0013/3439] Improve tests for CharUtils illegal usages (closes #293) CharUtilsTest has several instances of the following pattern: try { CharUtils.someMethod("illegal input"); } catch (final IllegalArgumentException ex) {} This pattern is not very useful for testing, as the test would pass whether an IllegalArgumentException is thrown or not. This patch enhances the test by explicitly failing it if the exception is not thrown: try { CharUtils.someMethod("illegal input"); fail("An IllegalArgumentException should have been thrown"); } catch (final IllegalArgumentException ex) {} --- src/test/java/org/apache/commons/lang3/CharUtilsTest.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/test/java/org/apache/commons/lang3/CharUtilsTest.java b/src/test/java/org/apache/commons/lang3/CharUtilsTest.java index 71975d3a065..50f263460be 100644 --- a/src/test/java/org/apache/commons/lang3/CharUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/CharUtilsTest.java @@ -21,6 +21,7 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import java.lang.reflect.Constructor; import java.lang.reflect.Modifier; @@ -84,6 +85,7 @@ public void testToChar_Character() { assertEquals('B', CharUtils.toChar(CHARACTER_B)); try { CharUtils.toChar((Character) null); + fail("An IllegalArgumentException should have been thrown"); } catch (final IllegalArgumentException ex) {} } @@ -100,9 +102,11 @@ public void testToChar_String() { assertEquals('B', CharUtils.toChar("BA")); try { CharUtils.toChar((String) null); + fail("An IllegalArgumentException should have been thrown"); } catch (final IllegalArgumentException ex) {} try { CharUtils.toChar(""); + fail("An IllegalArgumentException should have been thrown"); } catch (final IllegalArgumentException ex) {} } @@ -128,6 +132,7 @@ public void testToIntValue_char() { assertEquals(9, CharUtils.toIntValue('9')); try { CharUtils.toIntValue('a'); + fail("An IllegalArgumentException should have been thrown"); } catch (final IllegalArgumentException ex) {} } @@ -144,9 +149,11 @@ public void testToIntValue_Character() { assertEquals(3, CharUtils.toIntValue(new Character('3'))); try { CharUtils.toIntValue(null); + fail("An IllegalArgumentException should have been thrown"); } catch (final IllegalArgumentException ex) {} try { CharUtils.toIntValue(CHARACTER_A); + fail("An IllegalArgumentException should have been thrown"); } catch (final IllegalArgumentException ex) {} } From f3df2590dfa631f21298f7d0c3d1fb42ca3a48b7 Mon Sep 17 00:00:00 2001 From: pascalschumacher Date: Sun, 1 Oct 2017 15:47:59 +0200 Subject: [PATCH 0014/3439] .travis.yml: trusty is now the default distribution, so remove it from explicit configuration --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index eea1fdc4847..860ae2873f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,8 +15,6 @@ language: java sudo: false -# trusty is required for oraclejdk9 -dist: trusty jdk: - openjdk7 From cc748d35e50cc290ffbecd287e04bec9db906a76 Mon Sep 17 00:00:00 2001 From: pascalschumacher Date: Sun, 1 Oct 2017 16:19:50 +0200 Subject: [PATCH 0015/3439] travis: remove travis profile from pom and use travis-cobertura profile commons-parent --- .travis.yml | 2 +- pom.xml | 29 ----------------------------- 2 files changed, 1 insertion(+), 30 deletions(-) diff --git a/.travis.yml b/.travis.yml index 860ae2873f1..49775378969 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,4 +25,4 @@ script: - mvn after_success: - - mvn clean cobertura:cobertura coveralls:report + - mvn clean cobertura:cobertura coveralls:report -Ptravis-cobertura diff --git a/pom.xml b/pom.xml index 419211268f6..81f2d30900b 100644 --- a/pom.xml +++ b/pom.xml @@ -834,35 +834,6 @@ - - travis - - - env.TRAVIS - true - - - - - - org.codehaus.mojo - cobertura-maven-plugin - ${commons.cobertura.version} - - - xml - - - - - org.eluder.coveralls - coveralls-maven-plugin - 4.3.0 - - - - - java9 From 36217ee164239391c672fdfc8f5bd080beab5c4b Mon Sep 17 00:00:00 2001 From: Allon Mureinik Date: Thu, 5 Oct 2017 21:46:26 +0300 Subject: [PATCH 0016/3439] ExtendedMessageFormatTest integers (#295) Use the decimal "5" instead of the octal notation "05" to make the code more straight forward and easier to read. --- .../apache/commons/lang3/text/ExtendedMessageFormatTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java b/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java index 17ec9760443..fadb4f07c0f 100644 --- a/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java +++ b/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java @@ -110,7 +110,7 @@ public void testEscapedBraces_LANG_948() { @Test public void testExtendedAndBuiltInFormats() { final Calendar cal = Calendar.getInstance(); - cal.set(2007, Calendar.JANUARY, 23, 18, 33, 05); + cal.set(2007, Calendar.JANUARY, 23, 18, 33, 5); final Object[] args = new Object[] {"John Doe", cal.getTime(), Double.valueOf("12345.67")}; final String builtinsPattern = "DOB: {1,date,short} Salary: {2,number,currency}"; final String extendedPattern = "Name: {0,upper} "; @@ -229,7 +229,7 @@ public void testBuiltInChoiceFormat() { @Test public void testBuiltInDateTimeFormat() { final Calendar cal = Calendar.getInstance(); - cal.set(2007, Calendar.JANUARY, 23, 18, 33, 05); + cal.set(2007, Calendar.JANUARY, 23, 18, 33, 5); final Object[] args = new Object[] {cal.getTime()}; final Locale[] availableLocales = DateFormat.getAvailableLocales(); From cc6beb2d05347fba64d933906ae2b712b1a43302 Mon Sep 17 00:00:00 2001 From: mbusso Date: Thu, 28 Sep 2017 21:51:24 -0300 Subject: [PATCH 0017/3439] LANG-1348 - StackOverflowError on TypeUtils.toString(...) for a generic return type of Enum.valueOf (closes #292) --- .../commons/lang3/reflect/TypeUtils.java | 46 +++++++++++++++++-- .../commons/lang3/reflect/TypeUtilsTest.java | 6 +++ 2 files changed, 49 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java b/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java index 54c810d04b3..9e07c33b114 100644 --- a/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java +++ b/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java @@ -1788,7 +1788,7 @@ private static String parameterizedTypeToString(final ParameterizedType p) { final Type useOwner = p.getOwnerType(); final Class raw = (Class) p.getRawType(); - final Type[] typeArguments = p.getActualTypeArguments(); + if (useOwner == null) { buf.append(raw.getName()); } else { @@ -1800,10 +1800,46 @@ private static String parameterizedTypeToString(final ParameterizedType p) { buf.append('.').append(raw.getSimpleName()); } - appendAllTo(buf.append('<'), ", ", typeArguments).append('>'); + final int[] recursiveTypeIndexes = findRecursiveTypes(p); + + if (recursiveTypeIndexes.length > 0) { + appendRecursiveTypes(buf, recursiveTypeIndexes, p.getActualTypeArguments()); + } else { + appendAllTo(buf.append('<'), ", ", p.getActualTypeArguments()).append('>'); + } + return buf.toString(); } + private static void appendRecursiveTypes(StringBuilder buf, int[] recursiveTypeIndexes, Type[] argumentTypes) { + for (int i = 0; i < recursiveTypeIndexes.length; i++) { + appendAllTo(buf.append('<'), ", ", argumentTypes[i].toString()).append('>'); + } + + final Type[] argumentsFiltered = ArrayUtils.removeAll(argumentTypes, recursiveTypeIndexes); + + if (argumentsFiltered.length > 0) { + appendAllTo(buf.append('<'), ", ", argumentsFiltered).append('>'); + } + } + + private static int[] findRecursiveTypes(ParameterizedType p) { + Type[] filteredArgumentTypes = Arrays.copyOf(p.getActualTypeArguments(), p.getActualTypeArguments().length); + int[] indexesToRemove = new int[] {}; + for (int i = 0; i < filteredArgumentTypes.length; i++) { + if (filteredArgumentTypes[i] instanceof TypeVariable) { + if (containsVariableTypeSameParametrizedTypeBound(((TypeVariable) filteredArgumentTypes[i]), p)) { + indexesToRemove = ArrayUtils.add(indexesToRemove, i); + } + } + } + return indexesToRemove; + } + + private static boolean containsVariableTypeSameParametrizedTypeBound(TypeVariable typeVariable, ParameterizedType p) { + return ArrayUtils.contains(typeVariable.getBounds(), p); + } + /** * Format a {@link WildcardType} as a {@link String}. * @param w {@code WildcardType} to format @@ -1840,7 +1876,7 @@ private static String genericArrayTypeToString(final GenericArrayType g) { * @return {@code buf} * @since 3.2 */ - private static StringBuilder appendAllTo(final StringBuilder buf, final String sep, final Type... types) { + private static StringBuilder appendAllTo(final StringBuilder buf, final String sep, final T... types) { Validate.notEmpty(Validate.noNullElements(types)); if (types.length > 0) { buf.append(toString(types[0])); @@ -1851,4 +1887,8 @@ private static StringBuilder appendAllTo(final StringBuilder buf, final String s return buf; } + private static String toString(T object) { + return object instanceof Type ? toString((Type) object) : object.toString(); + } + } diff --git a/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java b/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java index 1b88147a3f3..eea6b87c59d 100644 --- a/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java @@ -781,6 +781,12 @@ public void testLANG1190() throws Exception { Assert.assertTrue(TypeUtils.isAssignable(fromType, failingToType)); } + @Test + public void testLANG1348() throws Exception { + final Method method = Enum.class.getMethod("valueOf", Class.class, String.class); + Assert.assertEquals("T extends java.lang.Enum", TypeUtils.toString(method.getGenericReturnType())); + } + public Iterable>> iterable; public static > G stub() { From 00feb98f807cf44c993296052726043a90d70b7e Mon Sep 17 00:00:00 2001 From: pascalschumacher Date: Sat, 7 Oct 2017 11:54:38 +0200 Subject: [PATCH 0018/3439] LANG-1348: StackOverflowError on TypeUtils.toString(...) for a generic return type of Enum.valueOf add changes.xml entry --- src/changes/changes.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index ec74e49ebad..187b5f04c9b 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -46,6 +46,7 @@ The type attribute can be add,update,fix,remove. + StackOverflowError on TypeUtils.toString(...) for a generic return type of Enum.valueOf Remove deprecation from RandomStringUtils ConstructorUtils.invokeConstructor(Class, Object...) regression EqualsBuilder#isRegistered: swappedPair construction bug From 44854912194177d67cdfa1dc765ba684eb013a4c Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Mon, 9 Oct 2017 14:30:07 -0600 Subject: [PATCH 0019/3439] [LANG-1357] org.apache.commons.lang3.time.FastDateParser should use toUpperCase(Locale) --- src/changes/changes.xml | 1 + .../apache/commons/lang3/time/FastDateParser.java | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 187b5f04c9b..72656570c7a 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -50,6 +50,7 @@ The type attribute can be add,update,fix,remove. Remove deprecation from RandomStringUtils ConstructorUtils.invokeConstructor(Class, Object...) regression EqualsBuilder#isRegistered: swappedPair construction bug + org.apache.commons.lang3.time.FastDateParser should use toUpperCase(Locale) diff --git a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java index ac60d214ea2..8511bbaf3bf 100644 --- a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java +++ b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java @@ -887,15 +887,15 @@ private static class TzInfo { * {@inheritDoc} */ @Override - void setCalendar(final FastDateParser parser, final Calendar cal, final String value) { - if (value.charAt(0) == '+' || value.charAt(0) == '-') { - final TimeZone tz = TimeZone.getTimeZone("GMT" + value); + void setCalendar(final FastDateParser parser, final Calendar cal, final String timeZone) { + if (timeZone.charAt(0) == '+' || timeZone.charAt(0) == '-') { + final TimeZone tz = TimeZone.getTimeZone("GMT" + timeZone); cal.setTimeZone(tz); - } else if (value.regionMatches(true, 0, "GMT", 0, 3)) { - final TimeZone tz = TimeZone.getTimeZone(value.toUpperCase()); + } else if (timeZone.regionMatches(true, 0, "GMT", 0, 3)) { + final TimeZone tz = TimeZone.getTimeZone(timeZone.toUpperCase(Locale.ROOT)); cal.setTimeZone(tz); } else { - final TzInfo tzInfo = tzNames.get(value.toLowerCase(locale)); + final TzInfo tzInfo = tzNames.get(timeZone.toLowerCase(locale)); cal.set(Calendar.DST_OFFSET, tzInfo.dstOffset); cal.set(Calendar.ZONE_OFFSET, tzInfo.zone.getRawOffset()); } From fd60085a2a3891ab6db46dd3b75e9dd67a7c734a Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Mon, 9 Oct 2017 14:40:43 -0600 Subject: [PATCH 0020/3439] Refactor "GMT" magic string. --- .../commons/lang3/time/FastDateParser.java | 6 ++-- .../apache/commons/lang3/time/TimeZones.java | 31 +++++++++++++++++++ 2 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 src/main/java/org/apache/commons/lang3/time/TimeZones.java diff --git a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java index 8511bbaf3bf..23abc5af8e1 100644 --- a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java +++ b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java @@ -844,7 +844,7 @@ private static class TzInfo { for (final String[] zoneNames : zones) { // offset 0 is the time zone ID and is not localized final String tzId = zoneNames[ID]; - if (tzId.equalsIgnoreCase("GMT")) { + if (tzId.equalsIgnoreCase(TimeZones.GMT_ID)) { continue; } final TimeZone tz = TimeZone.getTimeZone(tzId); @@ -889,9 +889,9 @@ private static class TzInfo { @Override void setCalendar(final FastDateParser parser, final Calendar cal, final String timeZone) { if (timeZone.charAt(0) == '+' || timeZone.charAt(0) == '-') { - final TimeZone tz = TimeZone.getTimeZone("GMT" + timeZone); + final TimeZone tz = TimeZone.getTimeZone(TimeZones.GMT_ID + timeZone); cal.setTimeZone(tz); - } else if (timeZone.regionMatches(true, 0, "GMT", 0, 3)) { + } else if (timeZone.regionMatches(true, 0, TimeZones.GMT_ID, 0, 3)) { final TimeZone tz = TimeZone.getTimeZone(timeZone.toUpperCase(Locale.ROOT)); cal.setTimeZone(tz); } else { diff --git a/src/main/java/org/apache/commons/lang3/time/TimeZones.java b/src/main/java/org/apache/commons/lang3/time/TimeZones.java new file mode 100644 index 00000000000..634a9e321fb --- /dev/null +++ b/src/main/java/org/apache/commons/lang3/time/TimeZones.java @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.commons.lang3.time; + +/** + * Helps to deal with {@link java.util.TimeZone}s. + * + * @since 3.7 + */ +public class TimeZones { + + /** + * A public version of {@link java.util.TimeZone}'s package private {@code GMT_ID} field. + */ + public static final String GMT_ID = "GMT"; +} From f4bfd9c71f51fb541d0fd203f0df2e609632dc62 Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Mon, 9 Oct 2017 14:41:46 -0600 Subject: [PATCH 0021/3439] Refactor "GMT" magic string. --- src/main/java/org/apache/commons/lang3/time/FastDateParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java index 23abc5af8e1..27eca47d3b6 100644 --- a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java +++ b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java @@ -808,7 +808,7 @@ int modify(final FastDateParser parser, final int iValue) { */ static class TimeZoneStrategy extends PatternStrategy { private static final String RFC_822_TIME_ZONE = "[+-]\\d{4}"; - private static final String GMT_OPTION= "GMT[+-]\\d{1,2}:\\d{2}"; + private static final String GMT_OPTION = TimeZones.GMT_ID + "[+-]\\d{1,2}:\\d{2}"; private final Locale locale; private final Map tzNames= new HashMap<>(); From 3b6867fc25b5dbf27925fdced660553ea8289dda Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Mon, 9 Oct 2017 14:44:35 -0600 Subject: [PATCH 0022/3439] Refactor "GMT" magic string. --- src/main/java/org/apache/commons/lang3/time/FastDateParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java index 27eca47d3b6..94a5d97a3ff 100644 --- a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java +++ b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java @@ -921,7 +921,7 @@ void setCalendar(final FastDateParser parser, final Calendar cal, final String v if (value.equals("Z")) { cal.setTimeZone(TimeZone.getTimeZone("UTC")); } else { - cal.setTimeZone(TimeZone.getTimeZone("GMT" + value)); + cal.setTimeZone(TimeZone.getTimeZone(TimeZones.GMT_ID + value)); } } From ed94e5a5cce33af89dc1b1475204734b17f64bb0 Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Mon, 9 Oct 2017 14:47:33 -0600 Subject: [PATCH 0023/3439] UTC and GMT are the same, so simplify. --- src/main/java/org/apache/commons/lang3/time/FastDateParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java index 94a5d97a3ff..f670d7ee170 100644 --- a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java +++ b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java @@ -919,7 +919,7 @@ private static class ISO8601TimeZoneStrategy extends PatternStrategy { @Override void setCalendar(final FastDateParser parser, final Calendar cal, final String value) { if (value.equals("Z")) { - cal.setTimeZone(TimeZone.getTimeZone("UTC")); + cal.setTimeZone(TimeZone.getTimeZone(TimeZones.GMT_ID)); } else { cal.setTimeZone(TimeZone.getTimeZone(TimeZones.GMT_ID + value)); } From 0726ffe1e9e923b678db5484ff0055b0f63d81e8 Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Mon, 9 Oct 2017 14:48:10 -0600 Subject: [PATCH 0024/3439] Minor formatting. --- .../java/org/apache/commons/lang3/time/FastDateParser.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java index f670d7ee170..d41f0ad6bf8 100644 --- a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java +++ b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java @@ -956,6 +956,7 @@ int modify(final FastDateParser parser, final int iValue) { return iValue-1; } }; + private static final Strategy LITERAL_YEAR_STRATEGY = new NumberStrategy(Calendar.YEAR); private static final Strategy WEEK_OF_YEAR_STRATEGY = new NumberStrategy(Calendar.WEEK_OF_YEAR); private static final Strategy WEEK_OF_MONTH_STRATEGY = new NumberStrategy(Calendar.WEEK_OF_MONTH); @@ -967,6 +968,7 @@ int modify(final FastDateParser parser, final int iValue) { return iValue != 7 ? iValue + 1 : Calendar.SUNDAY; } }; + private static final Strategy DAY_OF_WEEK_IN_MONTH_STRATEGY = new NumberStrategy(Calendar.DAY_OF_WEEK_IN_MONTH); private static final Strategy HOUR_OF_DAY_STRATEGY = new NumberStrategy(Calendar.HOUR_OF_DAY); private static final Strategy HOUR24_OF_DAY_STRATEGY = new NumberStrategy(Calendar.HOUR_OF_DAY) { @@ -975,12 +977,14 @@ int modify(final FastDateParser parser, final int iValue) { return iValue == 24 ? 0 : iValue; } }; + private static final Strategy HOUR12_STRATEGY = new NumberStrategy(Calendar.HOUR) { @Override int modify(final FastDateParser parser, final int iValue) { return iValue == 12 ? 0 : iValue; } }; + private static final Strategy HOUR_STRATEGY = new NumberStrategy(Calendar.HOUR); private static final Strategy MINUTE_STRATEGY = new NumberStrategy(Calendar.MINUTE); private static final Strategy SECOND_STRATEGY = new NumberStrategy(Calendar.SECOND); From 87eff4c78fac85c1b5f2309887f6be5fa2972537 Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Mon, 9 Oct 2017 14:52:43 -0600 Subject: [PATCH 0025/3439] Make tests a little more bullet-proof. --- .../commons/lang3/text/ExtendedMessageFormatTest.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java b/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java index fadb4f07c0f..7e2967c5e7e 100644 --- a/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java +++ b/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java @@ -138,7 +138,7 @@ public void testExtendedAndBuiltInFormats() { } final StringBuilder expected = new StringBuilder(); expected.append("Name: "); - expected.append(args[0].toString().toUpperCase()); + expected.append(args[0].toString().toUpperCase(Locale.ROOT)); expected.append(" DOB: "); expected.append(df.format(args[1])); expected.append(" Salary: "); @@ -422,8 +422,9 @@ private static class UpperCaseFormat extends Format { @Override public StringBuffer format(final Object obj, final StringBuffer toAppendTo, final FieldPosition pos) { - return toAppendTo.append(((String)obj).toUpperCase()); + return toAppendTo.append(((String) obj).toUpperCase(Locale.ROOT)); } + @Override public Object parseObject(final String source, final ParsePosition pos) { throw new UnsupportedOperationException(); @@ -437,6 +438,7 @@ public Object parseObject(final String source, final ParsePosition pos) { */ private static class LowerCaseFormatFactory implements FormatFactory { private static final Format LOWER_INSTANCE = new LowerCaseFormat(); + @Override public Format getFormat(final String name, final String arguments, final Locale locale) { return LOWER_INSTANCE; @@ -447,6 +449,7 @@ public Format getFormat(final String name, final String arguments, final Locale */ private static class UpperCaseFormatFactory implements FormatFactory { private static final Format UPPER_INSTANCE = new UpperCaseFormat(); + @Override public Format getFormat(final String name, final String arguments, final Locale locale) { return UPPER_INSTANCE; @@ -456,6 +459,7 @@ public Format getFormat(final String name, final String arguments, final Locale * {@link FormatFactory} implementation to override date format "short" to "default". */ private static class OverrideShortDateFormatFactory implements FormatFactory { + @Override public Format getFormat(final String name, final String arguments, final Locale locale) { return !"short".equals(arguments) ? null From 732ea5e94fdf8fef42b5c21d001983fb24d2842a Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Mon, 9 Oct 2017 14:53:32 -0600 Subject: [PATCH 0026/3439] Make tests a little more bullet-proof. --- .../commons/lang3/StringUtilsEqualsIndexOfTest.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/test/java/org/apache/commons/lang3/StringUtilsEqualsIndexOfTest.java b/src/test/java/org/apache/commons/lang3/StringUtilsEqualsIndexOfTest.java index a9904e7593a..7172c0e1793 100644 --- a/src/test/java/org/apache/commons/lang3/StringUtilsEqualsIndexOfTest.java +++ b/src/test/java/org/apache/commons/lang3/StringUtilsEqualsIndexOfTest.java @@ -21,6 +21,8 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; +import java.util.Locale; + import org.apache.commons.lang3.test.SystemDefaultsSwitch; import org.hamcrest.core.IsNot; import org.junit.Rule; @@ -166,7 +168,7 @@ public void testEqualsAny() { assertFalse(StringUtils.equalsAny(null, FOO, BAR, FOOBAR)); assertFalse(StringUtils.equalsAny(FOO, null, BAR)); assertTrue(StringUtils.equalsAny(FOO, BAR, null, "", FOO, BAR)); - assertFalse(StringUtils.equalsAny(FOO, FOO.toUpperCase())); + assertFalse(StringUtils.equalsAny(FOO, FOO.toUpperCase(Locale.ROOT))); assertFalse(StringUtils.equalsAny(null, (CharSequence[]) null)); assertTrue(StringUtils.equalsAny(FOO, new CustomCharSequence("foo"))); @@ -181,7 +183,7 @@ public void testEqualsAnyIgnoreCase() { assertFalse(StringUtils.equalsAnyIgnoreCase(FOO, new String[]{})); assertTrue(StringUtils.equalsAnyIgnoreCase(FOO, FOO)); - assertTrue(StringUtils.equalsAnyIgnoreCase(FOO, FOO.toUpperCase())); + assertTrue(StringUtils.equalsAnyIgnoreCase(FOO, FOO.toUpperCase(Locale.ROOT))); assertTrue(StringUtils.equalsAnyIgnoreCase(FOO, FOO, new String(new char[]{'f', 'o', 'o'}))); assertTrue(StringUtils.equalsAnyIgnoreCase(FOO, BAR, new String(new char[]{'f', 'O', 'O'}))); assertFalse(StringUtils.equalsAnyIgnoreCase(FOO, BAR)); @@ -193,8 +195,8 @@ public void testEqualsAnyIgnoreCase() { assertTrue(StringUtils.equalsAnyIgnoreCase(null, null, null)); assertFalse(StringUtils.equalsAnyIgnoreCase(null, FOO, BAR, FOOBAR)); assertFalse(StringUtils.equalsAnyIgnoreCase(FOO, null, BAR)); - assertTrue(StringUtils.equalsAnyIgnoreCase(FOO, BAR, null, "", FOO.toUpperCase(), BAR)); - assertTrue(StringUtils.equalsAnyIgnoreCase(FOO, FOO.toUpperCase())); + assertTrue(StringUtils.equalsAnyIgnoreCase(FOO, BAR, null, "", FOO.toUpperCase(Locale.ROOT), BAR)); + assertTrue(StringUtils.equalsAnyIgnoreCase(FOO, FOO.toUpperCase(Locale.ROOT))); assertFalse(StringUtils.equalsAnyIgnoreCase(null, (CharSequence[]) null)); assertTrue(StringUtils.equalsAnyIgnoreCase(FOO, new CustomCharSequence("fOo"))); From 09d70ce73dd37544c92621eecb7faf062fccbd5b Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Mon, 9 Oct 2017 14:54:31 -0600 Subject: [PATCH 0027/3439] Make tests a little more bullet-proof. --- .../apache/commons/lang3/text/ExtendedMessageFormatTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java b/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java index 7e2967c5e7e..b5f3717377d 100644 --- a/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java +++ b/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java @@ -406,7 +406,7 @@ private static class LowerCaseFormat extends Format { @Override public StringBuffer format(final Object obj, final StringBuffer toAppendTo, final FieldPosition pos) { - return toAppendTo.append(((String)obj).toLowerCase()); + return toAppendTo.append(((String)obj).toLowerCase(Locale.ROOT)); } @Override public Object parseObject(final String source, final ParsePosition pos) { From d848328a7aa54f73117b8f13ce6e67049dc9502e Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Mon, 9 Oct 2017 14:58:35 -0600 Subject: [PATCH 0028/3439] Set date template and description. --- src/changes/changes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 72656570c7a..55e8c0c2b8d 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -45,7 +45,7 @@ The type attribute can be add,update,fix,remove. - + StackOverflowError on TypeUtils.toString(...) for a generic return type of Enum.valueOf Remove deprecation from RandomStringUtils ConstructorUtils.invokeConstructor(Class, Object...) regression From 15d5503215a4cd1efc1ae6659d82194a22ebee9b Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Mon, 9 Oct 2017 15:44:17 -0600 Subject: [PATCH 0029/3439] Checkstyle: Remove trailing white spaces on all lines. --- .../org/apache/commons/lang3/time/FastDateParser.java | 8 ++++---- .../commons/lang3/text/ExtendedMessageFormatTest.java | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java index d41f0ad6bf8..3c8fe8c72e0 100644 --- a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java +++ b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java @@ -956,7 +956,7 @@ int modify(final FastDateParser parser, final int iValue) { return iValue-1; } }; - + private static final Strategy LITERAL_YEAR_STRATEGY = new NumberStrategy(Calendar.YEAR); private static final Strategy WEEK_OF_YEAR_STRATEGY = new NumberStrategy(Calendar.WEEK_OF_YEAR); private static final Strategy WEEK_OF_MONTH_STRATEGY = new NumberStrategy(Calendar.WEEK_OF_MONTH); @@ -968,7 +968,7 @@ int modify(final FastDateParser parser, final int iValue) { return iValue != 7 ? iValue + 1 : Calendar.SUNDAY; } }; - + private static final Strategy DAY_OF_WEEK_IN_MONTH_STRATEGY = new NumberStrategy(Calendar.DAY_OF_WEEK_IN_MONTH); private static final Strategy HOUR_OF_DAY_STRATEGY = new NumberStrategy(Calendar.HOUR_OF_DAY); private static final Strategy HOUR24_OF_DAY_STRATEGY = new NumberStrategy(Calendar.HOUR_OF_DAY) { @@ -977,14 +977,14 @@ int modify(final FastDateParser parser, final int iValue) { return iValue == 24 ? 0 : iValue; } }; - + private static final Strategy HOUR12_STRATEGY = new NumberStrategy(Calendar.HOUR) { @Override int modify(final FastDateParser parser, final int iValue) { return iValue == 12 ? 0 : iValue; } }; - + private static final Strategy HOUR_STRATEGY = new NumberStrategy(Calendar.HOUR); private static final Strategy MINUTE_STRATEGY = new NumberStrategy(Calendar.MINUTE); private static final Strategy SECOND_STRATEGY = new NumberStrategy(Calendar.SECOND); diff --git a/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java b/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java index b5f3717377d..6b0f725c11a 100644 --- a/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java +++ b/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java @@ -424,7 +424,7 @@ private static class UpperCaseFormat extends Format { public StringBuffer format(final Object obj, final StringBuffer toAppendTo, final FieldPosition pos) { return toAppendTo.append(((String) obj).toUpperCase(Locale.ROOT)); } - + @Override public Object parseObject(final String source, final ParsePosition pos) { throw new UnsupportedOperationException(); @@ -438,7 +438,7 @@ public Object parseObject(final String source, final ParsePosition pos) { */ private static class LowerCaseFormatFactory implements FormatFactory { private static final Format LOWER_INSTANCE = new LowerCaseFormat(); - + @Override public Format getFormat(final String name, final String arguments, final Locale locale) { return LOWER_INSTANCE; @@ -449,7 +449,7 @@ public Format getFormat(final String name, final String arguments, final Locale */ private static class UpperCaseFormatFactory implements FormatFactory { private static final Format UPPER_INSTANCE = new UpperCaseFormat(); - + @Override public Format getFormat(final String name, final String arguments, final Locale locale) { return UPPER_INSTANCE; @@ -459,7 +459,7 @@ public Format getFormat(final String name, final String arguments, final Locale * {@link FormatFactory} implementation to override date format "short" to "default". */ private static class OverrideShortDateFormatFactory implements FormatFactory { - + @Override public Format getFormat(final String name, final String arguments, final Locale locale) { return !"short".equals(arguments) ? null From 1dbfaeecbd104a6edae43fcd3350c06a7cb51146 Mon Sep 17 00:00:00 2001 From: Chas Honton Date: Tue, 10 Oct 2017 11:58:29 -0600 Subject: [PATCH 0030/3439] [LANG-1355] TimeZone.getTimeZone() in FastDateParser causes resource contention. This closes #296. --- src/changes/changes.xml | 1 + .../commons/lang3/time/DateFormatUtils.java | 2 +- .../commons/lang3/time/FastDateParser.java | 13 +-- .../commons/lang3/time/FastTimeZone.java | 95 ++++++++++++++++ .../commons/lang3/time/GmtTimeZone.java | 106 ++++++++++++++++++ .../apache/commons/lang3/time/TimeZones.java | 4 + .../lang3/test/SystemDefaultsSwitchTest.java | 3 +- .../lang3/time/DateFormatUtilsTest.java | 10 +- .../lang3/time/DurationFormatUtilsTest.java | 2 +- .../lang3/time/FastDateFormatTest.java | 2 +- .../lang3/time/FastDatePrinterTest.java | 2 +- .../commons/lang3/time/FastTimeZoneTest.java | 99 ++++++++++++++++ .../commons/lang3/time/GmtTimeZoneTest.java | 92 +++++++++++++++ 13 files changed, 411 insertions(+), 20 deletions(-) create mode 100644 src/main/java/org/apache/commons/lang3/time/FastTimeZone.java create mode 100644 src/main/java/org/apache/commons/lang3/time/GmtTimeZone.java create mode 100644 src/test/java/org/apache/commons/lang3/time/FastTimeZoneTest.java create mode 100644 src/test/java/org/apache/commons/lang3/time/GmtTimeZoneTest.java diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 55e8c0c2b8d..c4491ee0e1a 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -46,6 +46,7 @@ The type attribute can be add,update,fix,remove. + TimeZone.getTimeZone() in FastDateParser causes resource contention (PR #296.) StackOverflowError on TypeUtils.toString(...) for a generic return type of Enum.valueOf Remove deprecation from RandomStringUtils ConstructorUtils.invokeConstructor(Class, Object...) regression diff --git a/src/main/java/org/apache/commons/lang3/time/DateFormatUtils.java b/src/main/java/org/apache/commons/lang3/time/DateFormatUtils.java index 09d2c521c08..b353e0db04a 100644 --- a/src/main/java/org/apache/commons/lang3/time/DateFormatUtils.java +++ b/src/main/java/org/apache/commons/lang3/time/DateFormatUtils.java @@ -38,7 +38,7 @@ public class DateFormatUtils { * The UTC time zone (often referred to as GMT). * This is private as it is mutable. */ - private static final TimeZone UTC_TIME_ZONE = TimeZone.getTimeZone("GMT"); + private static final TimeZone UTC_TIME_ZONE = FastTimeZone.getGmtTimeZone(); /** * ISO 8601 formatter for date-time without time zone. diff --git a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java index 3c8fe8c72e0..33815588e23 100644 --- a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java +++ b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java @@ -888,11 +888,8 @@ private static class TzInfo { */ @Override void setCalendar(final FastDateParser parser, final Calendar cal, final String timeZone) { - if (timeZone.charAt(0) == '+' || timeZone.charAt(0) == '-') { - final TimeZone tz = TimeZone.getTimeZone(TimeZones.GMT_ID + timeZone); - cal.setTimeZone(tz); - } else if (timeZone.regionMatches(true, 0, TimeZones.GMT_ID, 0, 3)) { - final TimeZone tz = TimeZone.getTimeZone(timeZone.toUpperCase(Locale.ROOT)); + TimeZone tz = FastTimeZone.getGmtTimeZone(timeZone); + if (tz != null) { cal.setTimeZone(tz); } else { final TzInfo tzInfo = tzNames.get(timeZone.toLowerCase(locale)); @@ -918,11 +915,7 @@ private static class ISO8601TimeZoneStrategy extends PatternStrategy { */ @Override void setCalendar(final FastDateParser parser, final Calendar cal, final String value) { - if (value.equals("Z")) { - cal.setTimeZone(TimeZone.getTimeZone(TimeZones.GMT_ID)); - } else { - cal.setTimeZone(TimeZone.getTimeZone(TimeZones.GMT_ID + value)); - } + cal.setTimeZone(FastTimeZone.getGmtTimeZone(value)); } private static final Strategy ISO_8601_1_STRATEGY = new ISO8601TimeZoneStrategy("(Z|(?:[+-]\\d{2}))"); diff --git a/src/main/java/org/apache/commons/lang3/time/FastTimeZone.java b/src/main/java/org/apache/commons/lang3/time/FastTimeZone.java new file mode 100644 index 00000000000..3962479f4f4 --- /dev/null +++ b/src/main/java/org/apache/commons/lang3/time/FastTimeZone.java @@ -0,0 +1,95 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.lang3.time; + +import java.util.TimeZone; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Faster methods to produce custom time zones. + * + * @since 3.7 + */ +public class FastTimeZone { + + private static final TimeZone GREENWICH = new GmtTimeZone(false, 0, 0); + + // do not instantiate + private FastTimeZone() { + } + + /** + * Get the GMT TimeZone. + * @return A TimeZone with a raw offset of zero. + */ + public static TimeZone getGmtTimeZone() { + return GREENWICH; + } + + /** + * Get a TimeZone, looking first for GMT custom ids, then falling back to Olson ids. + * A GMT custom id can be 'Z', or 'UTC', or has an optional prefix of GMT, + * followed by sign, hours digit(s), optional colon(':'), and optional minutes digits. + * i.e. [GMT] (+|-) Hours [[:] Minutes] + * + * @param id A GMT custom id (or Olson id + * @return A timezone + */ + public static TimeZone getTimeZone(String id) { + TimeZone tz = getGmtTimeZone(id); + if (tz != null) { + return tz; + } + return TimeZone.getTimeZone(id); + } + + private static final Pattern GMT_PATTERN = Pattern.compile("^(?:(?i)GMT)?([+-])?(\\d\\d?)?(:?(\\d\\d?))?$"); + + /** + * Get a TimeZone with GMT offsets. A GMT offset must be either 'Z', or 'UTC', or match + * (GMT)? hh?(:?mm?)?, where h and m are digits representing hours and minutes. + * + * @param pattern The GMT offset + * @return A TimeZone with offset from GMT or null, if pattern does not match. + */ + public static TimeZone getGmtTimeZone(String pattern) { + if ("Z".equals(pattern) || "UTC".equals(pattern)) { + return GREENWICH; + } + + Matcher m = GMT_PATTERN.matcher(pattern); + if (m.matches()) { + int hours = parseInt(m.group(2)); + int minutes = parseInt(m.group(4)); + if (hours == 0 && minutes == 0) { + return GREENWICH; + } + return new GmtTimeZone(parseSign(m.group(1)), hours, minutes); + } + return null; + } + + private static int parseInt(String group) { + return group != null ? Integer.parseInt(group) : 0; + } + + private static boolean parseSign(String group) { + return group != null && group.charAt(0) == '-'; + } + +} diff --git a/src/main/java/org/apache/commons/lang3/time/GmtTimeZone.java b/src/main/java/org/apache/commons/lang3/time/GmtTimeZone.java new file mode 100644 index 00000000000..1a7462b3d45 --- /dev/null +++ b/src/main/java/org/apache/commons/lang3/time/GmtTimeZone.java @@ -0,0 +1,106 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.lang3.time; + +import java.util.Date; +import java.util.TimeZone; + +/** + * Custom timezone that contains offset from GMT. + * + * @since 3.7 + */ +class GmtTimeZone extends TimeZone { + + private static final int MILLISECONDS_PER_MINUTE = 60 * 1000; + private static final int MINUTES_PER_HOUR = 60; + private static final int HOURS_PER_DAY = 24; + + // Serializable! + static final long serialVersionUID = 1L; + + private final int offset; + private final String zoneId; + + GmtTimeZone(boolean negate, int hours, int minutes) { + if (hours >= HOURS_PER_DAY) { + throw new IllegalArgumentException(hours + " hours out of range"); + } + if (minutes >= MINUTES_PER_HOUR) { + throw new IllegalArgumentException(minutes + " minutes out of range"); + } + int milliseconds = (minutes + (hours * MINUTES_PER_HOUR)) * MILLISECONDS_PER_MINUTE; + offset = negate ? -milliseconds : milliseconds; + zoneId = twoDigits( + twoDigits(new StringBuilder(9).append("GMT").append(negate ? '-' : '+'), hours) + .append(':'), minutes).toString(); + + } + + private static StringBuilder twoDigits(StringBuilder sb, int n) { + return sb.append((char) ('0' + (n / 10))).append((char) ('0' + (n % 10))); + } + + @Override + public int getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds) { + return offset; + } + + @Override + public void setRawOffset(int offsetMillis) { + throw new UnsupportedOperationException(); + } + + @Override + public int getRawOffset() { + return offset; + } + + @Override + public String getID() { + return zoneId; + } + + @Override + public boolean useDaylightTime() { + return false; + } + + @Override + public boolean inDaylightTime(Date date) { + return false; + } + + @Override + public String toString() { + return "[GmtTimeZone id=\"" + zoneId + "\",offset=" + offset + ']'; + } + + @Override + public int hashCode() { + return offset; + } + + @Override + public boolean equals(Object other) { + if (!(other instanceof GmtTimeZone)) { + return false; + } else { + return zoneId == ((GmtTimeZone) other).zoneId; + } + } +} diff --git a/src/main/java/org/apache/commons/lang3/time/TimeZones.java b/src/main/java/org/apache/commons/lang3/time/TimeZones.java index 634a9e321fb..5a75690426a 100644 --- a/src/main/java/org/apache/commons/lang3/time/TimeZones.java +++ b/src/main/java/org/apache/commons/lang3/time/TimeZones.java @@ -24,6 +24,10 @@ */ public class TimeZones { + // do not instantiate + private TimeZones() { + } + /** * A public version of {@link java.util.TimeZone}'s package private {@code GMT_ID} field. */ diff --git a/src/test/java/org/apache/commons/lang3/test/SystemDefaultsSwitchTest.java b/src/test/java/org/apache/commons/lang3/test/SystemDefaultsSwitchTest.java index f2cd6f52c42..ed152bb7952 100644 --- a/src/test/java/org/apache/commons/lang3/test/SystemDefaultsSwitchTest.java +++ b/src/test/java/org/apache/commons/lang3/test/SystemDefaultsSwitchTest.java @@ -21,6 +21,7 @@ import java.util.Locale; import java.util.TimeZone; +import org.apache.commons.lang3.time.FastTimeZone; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Rule; @@ -46,7 +47,7 @@ public static void classSetUp() { TEST_DEFAULT_LOCALE = Locale.getDefault(); DEFAULT_TIMEZONE_BEFORE_TEST = TimeZone.getDefault(); - final TimeZone utc = TimeZone.getTimeZone("UTC"); + final TimeZone utc = FastTimeZone.getGmtTimeZone(); if (!DEFAULT_TIMEZONE_BEFORE_TEST.equals(utc)) { TimeZone.setDefault(utc); } else { diff --git a/src/test/java/org/apache/commons/lang3/time/DateFormatUtilsTest.java b/src/test/java/org/apache/commons/lang3/time/DateFormatUtilsTest.java index a938caad4ad..603e7def93f 100644 --- a/src/test/java/org/apache/commons/lang3/time/DateFormatUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/time/DateFormatUtilsTest.java @@ -57,7 +57,7 @@ public void testConstructor() { //----------------------------------------------------------------------- @Test public void testFormat() { - final Calendar c = Calendar.getInstance(TimeZone.getTimeZone("UTC")); + final Calendar c = Calendar.getInstance(FastTimeZone.getGmtTimeZone()); c.set(2005, Calendar.JANUARY, 1, 12, 0, 0); c.setTimeZone(TimeZone.getDefault()); final StringBuilder buffer = new StringBuilder (); @@ -81,7 +81,7 @@ public void testFormat() { //----------------------------------------------------------------------- @Test public void testFormatCalendar() { - final Calendar c = Calendar.getInstance(TimeZone.getTimeZone("UTC")); + final Calendar c = Calendar.getInstance(FastTimeZone.getGmtTimeZone()); c.set(2005, Calendar.JANUARY, 1, 12, 0, 0); c.setTimeZone(TimeZone.getDefault()); final StringBuilder buffer = new StringBuilder (); @@ -104,7 +104,7 @@ public void testFormatCalendar() { @Test public void testFormatUTC() { - final Calendar c = Calendar.getInstance(TimeZone.getTimeZone("UTC")); + final Calendar c = Calendar.getInstance(FastTimeZone.getGmtTimeZone()); c.set(2005, Calendar.JANUARY, 1, 12, 0, 0); assertEquals ("2005-01-01T12:00:00", DateFormatUtils.formatUTC(c.getTime(), DateFormatUtils.ISO_DATETIME_FORMAT.getPattern())); @@ -139,7 +139,7 @@ private void testGmtMinus3(final String expectedValue, final String pattern) { } private void testUTC(final String expectedValue, final String pattern) { - final TimeZone timeZone = TimeZone.getTimeZone("UTC"); + final TimeZone timeZone = FastTimeZone.getGmtTimeZone(); assertFormats(expectedValue, pattern, timeZone, createFebruaryTestDate(timeZone)); } @@ -180,7 +180,7 @@ public void testSMTP() { assertFormats("Sun, 08 Jun 2003 10:11:12 -0300", DateFormatUtils.SMTP_DATETIME_FORMAT.getPattern(), timeZone, june); - timeZone = TimeZone.getTimeZone("UTC"); + timeZone = FastTimeZone.getGmtTimeZone(); june = createJuneTestDate(timeZone); assertFormats("Sun, 08 Jun 2003 10:11:12 +0000", DateFormatUtils.SMTP_DATETIME_FORMAT.getPattern(), timeZone, june); diff --git a/src/test/java/org/apache/commons/lang3/time/DurationFormatUtilsTest.java b/src/test/java/org/apache/commons/lang3/time/DurationFormatUtilsTest.java index b5eb0fac824..7dd3c8eb4ca 100644 --- a/src/test/java/org/apache/commons/lang3/time/DurationFormatUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/time/DurationFormatUtilsTest.java @@ -452,7 +452,7 @@ public void testLowDurations() { @Test public void testEdgeDurations() { // This test case must use a time zone without DST - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); + TimeZone.setDefault(FastTimeZone.getGmtTimeZone()); assertEqualDuration( "01", new int[] { 2006, 0, 15, 0, 0, 0 }, new int[] { 2006, 2, 10, 0, 0, 0 }, "MM"); assertEqualDuration( "12", new int[] { 2005, 0, 15, 0, 0, 0 }, diff --git a/src/test/java/org/apache/commons/lang3/time/FastDateFormatTest.java b/src/test/java/org/apache/commons/lang3/time/FastDateFormatTest.java index cf7c8fea812..be2d801ce38 100644 --- a/src/test/java/org/apache/commons/lang3/time/FastDateFormatTest.java +++ b/src/test/java/org/apache/commons/lang3/time/FastDateFormatTest.java @@ -311,7 +311,7 @@ public void testLANG_954() { @Test public void testLANG_1152() { - final TimeZone utc = TimeZone.getTimeZone("UTC"); + final TimeZone utc = FastTimeZone.getGmtTimeZone(); final Date date = new Date(Long.MAX_VALUE); String dateAsString = FastDateFormat.getInstance("yyyy-MM-dd", utc, Locale.US).format(date); diff --git a/src/test/java/org/apache/commons/lang3/time/FastDatePrinterTest.java b/src/test/java/org/apache/commons/lang3/time/FastDatePrinterTest.java index ff9180ce518..e6243e41b93 100644 --- a/src/test/java/org/apache/commons/lang3/time/FastDatePrinterTest.java +++ b/src/test/java/org/apache/commons/lang3/time/FastDatePrinterTest.java @@ -265,7 +265,7 @@ public void testTimeZoneMatches() { @SystemDefaults(timezone="UTC") @Test public void testTimeZoneAsZ() throws Exception { - final Calendar c = Calendar.getInstance(TimeZone.getTimeZone("UTC")); + final Calendar c = Calendar.getInstance(FastTimeZone.getGmtTimeZone()); final FastDateFormat noColonFormat = FastDateFormat.getInstance("Z"); assertEquals("+0000", noColonFormat.format(c)); diff --git a/src/test/java/org/apache/commons/lang3/time/FastTimeZoneTest.java b/src/test/java/org/apache/commons/lang3/time/FastTimeZoneTest.java new file mode 100644 index 00000000000..acd75009758 --- /dev/null +++ b/src/test/java/org/apache/commons/lang3/time/FastTimeZoneTest.java @@ -0,0 +1,99 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.lang3.time; + +import org.junit.Assert; +import org.junit.Test; + +import java.util.TimeZone; + +/** + * Tests for FastTimeZone + */ +public class FastTimeZoneTest { + + private static final int HOURS_23 = 23 * 60 * 60 * 1000; + private static final int HOURS_2 = 2 * 60 * 60 * 1000; + private static final int MINUTES_59 = 59 * 60 * 1000; + private static final int MINUTES_5 = 5 * 60 * 1000; + + @Test + public void testGetGmtTimeZone() { + Assert.assertEquals(0, FastTimeZone.getGmtTimeZone().getRawOffset()); + } + + @Test + public void testBareGmt() { + Assert.assertEquals(FastTimeZone.getGmtTimeZone(), FastTimeZone.getTimeZone("GMT")); + } + + @Test + public void testZ() { + Assert.assertEquals(FastTimeZone.getGmtTimeZone(), FastTimeZone.getTimeZone("Z")); + } + + @Test + public void testUTC() { + Assert.assertEquals(FastTimeZone.getGmtTimeZone(), FastTimeZone.getTimeZone("UTC")); + } + + @Test + public void testZeroOffsetsReturnSingleton() { + Assert.assertEquals(FastTimeZone.getGmtTimeZone(), FastTimeZone.getTimeZone("+0")); + Assert.assertEquals(FastTimeZone.getGmtTimeZone(), FastTimeZone.getTimeZone("-0")); + } + + @Test + public void testOlson() { + Assert.assertEquals(TimeZone.getTimeZone("America/New_York"), FastTimeZone.getTimeZone("America/New_York")); + } + + @Test + public void testGmtPrefix() { + Assert.assertEquals(HOURS_23, FastTimeZone.getGmtTimeZone("GMT+23:00").getRawOffset()); + Assert.assertEquals(-HOURS_23, FastTimeZone.getGmtTimeZone("GMT-23:00").getRawOffset()); + } + + @Test + public void testSign() { + Assert.assertEquals(HOURS_23, FastTimeZone.getGmtTimeZone("+23:00").getRawOffset()); + Assert.assertEquals(HOURS_2, FastTimeZone.getGmtTimeZone("+2:00").getRawOffset()); + Assert.assertEquals(-HOURS_23, FastTimeZone.getGmtTimeZone("-23:00").getRawOffset()); + Assert.assertEquals(-HOURS_2, FastTimeZone.getGmtTimeZone("-2:00").getRawOffset()); + } + + @Test + public void testHoursColonMinutes() { + Assert.assertEquals(HOURS_23, FastTimeZone.getGmtTimeZone("23:00").getRawOffset()); + Assert.assertEquals(HOURS_2, FastTimeZone.getGmtTimeZone("2:00").getRawOffset()); + Assert.assertEquals(MINUTES_59, FastTimeZone.getGmtTimeZone("00:59").getRawOffset()); + Assert.assertEquals(MINUTES_5, FastTimeZone.getGmtTimeZone("00:5").getRawOffset()); + Assert.assertEquals(HOURS_23+MINUTES_59, FastTimeZone.getGmtTimeZone("23:59").getRawOffset()); + Assert.assertEquals(HOURS_2+MINUTES_5, FastTimeZone.getGmtTimeZone("2:5").getRawOffset()); + } + + @Test + public void testHoursMinutes() { + Assert.assertEquals(HOURS_23, FastTimeZone.getGmtTimeZone("2300").getRawOffset()); + Assert.assertEquals(HOURS_2, FastTimeZone.getGmtTimeZone("0200").getRawOffset()); + Assert.assertEquals(MINUTES_59, FastTimeZone.getGmtTimeZone("0059").getRawOffset()); + Assert.assertEquals(MINUTES_5, FastTimeZone.getGmtTimeZone("0005").getRawOffset()); + Assert.assertEquals(HOURS_23+MINUTES_59, FastTimeZone.getGmtTimeZone("2359").getRawOffset()); + Assert.assertEquals(HOURS_2+MINUTES_5, FastTimeZone.getGmtTimeZone("0205").getRawOffset()); + } + +} diff --git a/src/test/java/org/apache/commons/lang3/time/GmtTimeZoneTest.java b/src/test/java/org/apache/commons/lang3/time/GmtTimeZoneTest.java new file mode 100644 index 00000000000..b4c139b67b8 --- /dev/null +++ b/src/test/java/org/apache/commons/lang3/time/GmtTimeZoneTest.java @@ -0,0 +1,92 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.lang3.time; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Tests for GmtTimeZone + */ +public class GmtTimeZoneTest { + + @Test(expected = IllegalArgumentException.class) + public void hoursOutOfRange() { + new GmtTimeZone(false, 24, 0); + } + + @Test + public void hoursInRange() { + Assert.assertEquals(23 * 60 * 60 * 1000, new GmtTimeZone(false, 23, 0).getRawOffset()); + } + + @Test(expected = IllegalArgumentException.class) + public void minutesOutOfRange() { + new GmtTimeZone(false, 0, 60); + } + + @Test + public void minutesInRange() { + Assert.assertEquals(59 * 60 * 1000, new GmtTimeZone(false, 0, 59).getRawOffset()); + } + + @Test + public void getOffset() { + Assert.assertEquals(0, new GmtTimeZone(false, 0, 0).getOffset(234304)); + } + + @Test(expected = UnsupportedOperationException.class) + public void setRawOffset() { + new GmtTimeZone(false, 0, 0).setRawOffset(0); + } + + @Test + public void getRawOffset() { + Assert.assertEquals(0, new GmtTimeZone(false, 0, 0).getRawOffset()); + } + + @Test + public void getID() { + Assert.assertEquals("GMT+00:00", new GmtTimeZone(false, 0, 0).getID()); + Assert.assertEquals("GMT+01:02", new GmtTimeZone(false, 1, 2).getID()); + Assert.assertEquals("GMT+11:22", new GmtTimeZone(false, 11, 22).getID()); + Assert.assertEquals("GMT-01:02", new GmtTimeZone(true, 1, 2).getID()); + Assert.assertEquals("GMT-11:22", new GmtTimeZone(true, 11, 22).getID()); + } + + @Test + public void useDaylightTime() { + Assert.assertFalse(new GmtTimeZone(false, 0, 0).useDaylightTime()); + } + + @Test + public void inDaylightTime() { + Assert.assertFalse(new GmtTimeZone(false, 0, 0).useDaylightTime()); + } + + @Test + public void testToString() { + Assert.assertEquals("[GmtTimeZone id=\"GMT-12:00\",offset=-43200000]", + new GmtTimeZone(true, 12, 0).toString()); + } + + @Test + public void testGetOffset() { + Assert.assertEquals(-(6 * 60 + 30) * 60 * 1000, + new GmtTimeZone(true, 6, 30).getOffset(1, 1, 1, 1, 1, 1)); + } +} From 33a1f82a139a9072892fab77039e9234d205b5af Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Tue, 10 Oct 2017 12:01:31 -0600 Subject: [PATCH 0031/3439] [LANG-1355] TimeZone.getTimeZone() in FastDateParser causes resource contention. Javadoc: Use the active voice. --- .../java/org/apache/commons/lang3/time/FastTimeZone.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/apache/commons/lang3/time/FastTimeZone.java b/src/main/java/org/apache/commons/lang3/time/FastTimeZone.java index 3962479f4f4..f43b268de41 100644 --- a/src/main/java/org/apache/commons/lang3/time/FastTimeZone.java +++ b/src/main/java/org/apache/commons/lang3/time/FastTimeZone.java @@ -34,7 +34,7 @@ private FastTimeZone() { } /** - * Get the GMT TimeZone. + * Gets the GMT TimeZone. * @return A TimeZone with a raw offset of zero. */ public static TimeZone getGmtTimeZone() { @@ -42,7 +42,7 @@ public static TimeZone getGmtTimeZone() { } /** - * Get a TimeZone, looking first for GMT custom ids, then falling back to Olson ids. + * Gets a TimeZone, looking first for GMT custom ids, then falling back to Olson ids. * A GMT custom id can be 'Z', or 'UTC', or has an optional prefix of GMT, * followed by sign, hours digit(s), optional colon(':'), and optional minutes digits. * i.e. [GMT] (+|-) Hours [[:] Minutes] @@ -61,7 +61,7 @@ public static TimeZone getTimeZone(String id) { private static final Pattern GMT_PATTERN = Pattern.compile("^(?:(?i)GMT)?([+-])?(\\d\\d?)?(:?(\\d\\d?))?$"); /** - * Get a TimeZone with GMT offsets. A GMT offset must be either 'Z', or 'UTC', or match + * Gets a TimeZone with GMT offsets. A GMT offset must be either 'Z', or 'UTC', or match * (GMT)? hh?(:?mm?)?, where h and m are digits representing hours and minutes. * * @param pattern The GMT offset From 060e66bf995177adfc4d73a2a4c9bea70dc5e441 Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Tue, 10 Oct 2017 12:02:06 -0600 Subject: [PATCH 0032/3439] No need to nest. --- src/main/java/org/apache/commons/lang3/time/GmtTimeZone.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/org/apache/commons/lang3/time/GmtTimeZone.java b/src/main/java/org/apache/commons/lang3/time/GmtTimeZone.java index 1a7462b3d45..860cdc05539 100644 --- a/src/main/java/org/apache/commons/lang3/time/GmtTimeZone.java +++ b/src/main/java/org/apache/commons/lang3/time/GmtTimeZone.java @@ -99,8 +99,7 @@ public int hashCode() { public boolean equals(Object other) { if (!(other instanceof GmtTimeZone)) { return false; - } else { - return zoneId == ((GmtTimeZone) other).zoneId; } + return zoneId == ((GmtTimeZone) other).zoneId; } } From 9a7de3974d64a5410e577933e141797928adca71 Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Tue, 10 Oct 2017 12:03:07 -0600 Subject: [PATCH 0033/3439] Sort members. --- .../commons/lang3/time/FastTimeZone.java | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/main/java/org/apache/commons/lang3/time/FastTimeZone.java b/src/main/java/org/apache/commons/lang3/time/FastTimeZone.java index f43b268de41..f759758d6b7 100644 --- a/src/main/java/org/apache/commons/lang3/time/FastTimeZone.java +++ b/src/main/java/org/apache/commons/lang3/time/FastTimeZone.java @@ -27,11 +27,9 @@ */ public class FastTimeZone { - private static final TimeZone GREENWICH = new GmtTimeZone(false, 0, 0); + private static final Pattern GMT_PATTERN = Pattern.compile("^(?:(?i)GMT)?([+-])?(\\d\\d?)?(:?(\\d\\d?))?$"); - // do not instantiate - private FastTimeZone() { - } + private static final TimeZone GREENWICH = new GmtTimeZone(false, 0, 0); /** * Gets the GMT TimeZone. @@ -41,25 +39,6 @@ public static TimeZone getGmtTimeZone() { return GREENWICH; } - /** - * Gets a TimeZone, looking first for GMT custom ids, then falling back to Olson ids. - * A GMT custom id can be 'Z', or 'UTC', or has an optional prefix of GMT, - * followed by sign, hours digit(s), optional colon(':'), and optional minutes digits. - * i.e. [GMT] (+|-) Hours [[:] Minutes] - * - * @param id A GMT custom id (or Olson id - * @return A timezone - */ - public static TimeZone getTimeZone(String id) { - TimeZone tz = getGmtTimeZone(id); - if (tz != null) { - return tz; - } - return TimeZone.getTimeZone(id); - } - - private static final Pattern GMT_PATTERN = Pattern.compile("^(?:(?i)GMT)?([+-])?(\\d\\d?)?(:?(\\d\\d?))?$"); - /** * Gets a TimeZone with GMT offsets. A GMT offset must be either 'Z', or 'UTC', or match * (GMT)? hh?(:?mm?)?, where h and m are digits representing hours and minutes. @@ -84,6 +63,23 @@ public static TimeZone getGmtTimeZone(String pattern) { return null; } + /** + * Gets a TimeZone, looking first for GMT custom ids, then falling back to Olson ids. + * A GMT custom id can be 'Z', or 'UTC', or has an optional prefix of GMT, + * followed by sign, hours digit(s), optional colon(':'), and optional minutes digits. + * i.e. [GMT] (+|-) Hours [[:] Minutes] + * + * @param id A GMT custom id (or Olson id + * @return A timezone + */ + public static TimeZone getTimeZone(String id) { + TimeZone tz = getGmtTimeZone(id); + if (tz != null) { + return tz; + } + return TimeZone.getTimeZone(id); + } + private static int parseInt(String group) { return group != null ? Integer.parseInt(group) : 0; } @@ -92,4 +88,8 @@ private static boolean parseSign(String group) { return group != null && group.charAt(0) == '-'; } + // do not instantiate + private FastTimeZone() { + } + } From 1e9e36640f762d29c07d8322c361ece163b179fb Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Tue, 10 Oct 2017 16:28:59 -0600 Subject: [PATCH 0034/3439] Make private fields final. --- .../builder/ReflectionDiffBuilderTest.java | 32 +++++++++---------- ...nToStringBuilderExcludeNullValuesTest.java | 4 +-- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/test/java/org/apache/commons/lang3/builder/ReflectionDiffBuilderTest.java b/src/test/java/org/apache/commons/lang3/builder/ReflectionDiffBuilderTest.java index 8fcc76a4538..b957f3a6209 100644 --- a/src/test/java/org/apache/commons/lang3/builder/ReflectionDiffBuilderTest.java +++ b/src/test/java/org/apache/commons/lang3/builder/ReflectionDiffBuilderTest.java @@ -27,25 +27,25 @@ public class ReflectionDiffBuilderTest { @SuppressWarnings("unused") private static class TypeTestClass implements Diffable { - private ToStringStyle style = SHORT_STYLE; - private boolean booleanField = true; - private boolean[] booleanArrayField = {true}; - private byte byteField = (byte) 0xFF; - private byte[] byteArrayField = {(byte) 0xFF}; + private final ToStringStyle style = SHORT_STYLE; + private final boolean booleanField = true; + private final boolean[] booleanArrayField = {true}; + private final byte byteField = (byte) 0xFF; + private final byte[] byteArrayField = {(byte) 0xFF}; private char charField = 'a'; private char[] charArrayField = {'a'}; - private double doubleField = 1.0; - private double[] doubleArrayField = {1.0}; - private float floatField = 1.0f; - private float[] floatArrayField = {1.0f}; + private final double doubleField = 1.0; + private final double[] doubleArrayField = {1.0}; + private final float floatField = 1.0f; + private final float[] floatArrayField = {1.0f}; int intField = 1; - private int[] intArrayField = {1}; - private long longField = 1L; - private long[] longArrayField = {1L}; - private short shortField = 1; - private short[] shortArrayField = {1}; - private Object objectField = null; - private Object[] objectArrayField = {null}; + private final int[] intArrayField = {1}; + private final long longField = 1L; + private final long[] longArrayField = {1L}; + private final short shortField = 1; + private final short[] shortArrayField = {1}; + private final Object objectField = null; + private final Object[] objectArrayField = {null}; private static int staticField; private transient String transientField; diff --git a/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeNullValuesTest.java b/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeNullValuesTest.java index 914700a67ef..f100d7db45a 100644 --- a/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeNullValuesTest.java +++ b/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeNullValuesTest.java @@ -26,9 +26,9 @@ public class ReflectionToStringBuilderExcludeNullValuesTest { static class TestFixture { @SuppressWarnings("unused") - private Integer testIntegerField; + private final Integer testIntegerField; @SuppressWarnings("unused") - private String testStringField; + private final String testStringField; TestFixture(Integer a, String b) { this.testIntegerField = a; From c56b87d6efe530590b6d9a07e41ca00af208ce37 Mon Sep 17 00:00:00 2001 From: Chas Honton Date: Tue, 10 Oct 2017 20:52:50 -0700 Subject: [PATCH 0035/3439] LANG-1354: FieldUtils should ignore any synthetic fields --- pom.xml | 11 +++++++++++ src/changes/changes.xml | 1 + .../org/apache/commons/lang3/reflect/FieldUtils.java | 11 +++++++++-- .../resources/{profile.cobertura => profile.jacoco} | 0 4 files changed, 21 insertions(+), 2 deletions(-) rename src/site/resources/{profile.cobertura => profile.jacoco} (100%) diff --git a/pom.xml b/pom.xml index 81f2d30900b..74d51a94152 100644 --- a/pom.xml +++ b/pom.xml @@ -703,6 +703,17 @@ + + org.jacoco + jacoco-maven-plugin + + + + report + + + + maven-checkstyle-plugin ${checkstyle.plugin.version} diff --git a/src/changes/changes.xml b/src/changes/changes.xml index c4491ee0e1a..5239f9ca345 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -46,6 +46,7 @@ The type attribute can be add,update,fix,remove. + FieldUtils should ignore any synthetic fields TimeZone.getTimeZone() in FastDateParser causes resource contention (PR #296.) StackOverflowError on TypeUtils.toString(...) for a generic return type of Enum.valueOf Remove deprecation from RandomStringUtils diff --git a/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java b/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java index c4ccccab74d..c45a73ac3c4 100644 --- a/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java +++ b/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java @@ -187,6 +187,7 @@ public static Field getDeclaredField(final Class cls, final String fieldName, /** * Gets all fields of the given class and its parents (if any). + * Does not return any synthetic fields. * * @param cls * the {@link Class} to query @@ -202,6 +203,7 @@ public static Field[] getAllFields(final Class cls) { /** * Gets all fields of the given class and its parents (if any). + * Does not return any synthetic fields. * * @param cls * the {@link Class} to query @@ -215,8 +217,11 @@ public static List getAllFieldsList(final Class cls) { final List allFields = new ArrayList<>(); Class currentClass = cls; while (currentClass != null) { - final Field[] declaredFields = currentClass.getDeclaredFields(); - Collections.addAll(allFields, declaredFields); + for(final Field declaredField : currentClass.getDeclaredFields()) { + if(!declaredField.isSynthetic()) { + allFields.add(declaredField); + } + } currentClass = currentClass.getSuperclass(); } return allFields; @@ -224,6 +229,8 @@ public static List getAllFieldsList(final Class cls) { /** * Gets all fields of the given class and its parents (if any) that are annotated with the given annotation. + * Does not return any synthetic fields. + * * @param cls * the {@link Class} to query * @param annotationCls diff --git a/src/site/resources/profile.cobertura b/src/site/resources/profile.jacoco similarity index 100% rename from src/site/resources/profile.cobertura rename to src/site/resources/profile.jacoco From e7b3e1d20f754729e9d9d478575831082225804b Mon Sep 17 00:00:00 2001 From: Chas Honton Date: Wed, 11 Oct 2017 08:03:59 -0700 Subject: [PATCH 0036/3439] update travis to use jacoco coverage report --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 49775378969..6e09a29e784 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,4 +25,4 @@ script: - mvn after_success: - - mvn clean cobertura:cobertura coveralls:report -Ptravis-cobertura + - mvn clean test jacoco:report coveralls:report -Ptravis-jacoco From 0f32b292c2c86776f7ce3e47105c16359e0fe5a4 Mon Sep 17 00:00:00 2001 From: Chas Honton Date: Wed, 11 Oct 2017 08:15:21 -0700 Subject: [PATCH 0037/3439] remove checkstyle error --- src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java b/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java index c45a73ac3c4..c42cd3285e1 100644 --- a/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java +++ b/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java @@ -24,7 +24,6 @@ import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.ArrayList; -import java.util.Collections; import java.util.List; /** From 07f3694a5c85ff5ee8c556817c0d2ea3504f26f7 Mon Sep 17 00:00:00 2001 From: Chas Honton Date: Wed, 11 Oct 2017 08:50:01 -0700 Subject: [PATCH 0038/3439] revert LANG-1354; java7 has synthetic fields on Integer, jacoco does not yet work with java9 --- .travis.yml | 2 +- .../org/apache/commons/lang3/reflect/FieldUtils.java | 12 +++--------- .../resources/{profile.jacoco => profile.cobertura} | 0 3 files changed, 4 insertions(+), 10 deletions(-) rename src/site/resources/{profile.jacoco => profile.cobertura} (100%) diff --git a/.travis.yml b/.travis.yml index 6e09a29e784..49775378969 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,4 +25,4 @@ script: - mvn after_success: - - mvn clean test jacoco:report coveralls:report -Ptravis-jacoco + - mvn clean cobertura:cobertura coveralls:report -Ptravis-cobertura diff --git a/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java b/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java index c42cd3285e1..c4ccccab74d 100644 --- a/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java +++ b/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java @@ -24,6 +24,7 @@ import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.ArrayList; +import java.util.Collections; import java.util.List; /** @@ -186,7 +187,6 @@ public static Field getDeclaredField(final Class cls, final String fieldName, /** * Gets all fields of the given class and its parents (if any). - * Does not return any synthetic fields. * * @param cls * the {@link Class} to query @@ -202,7 +202,6 @@ public static Field[] getAllFields(final Class cls) { /** * Gets all fields of the given class and its parents (if any). - * Does not return any synthetic fields. * * @param cls * the {@link Class} to query @@ -216,11 +215,8 @@ public static List getAllFieldsList(final Class cls) { final List allFields = new ArrayList<>(); Class currentClass = cls; while (currentClass != null) { - for(final Field declaredField : currentClass.getDeclaredFields()) { - if(!declaredField.isSynthetic()) { - allFields.add(declaredField); - } - } + final Field[] declaredFields = currentClass.getDeclaredFields(); + Collections.addAll(allFields, declaredFields); currentClass = currentClass.getSuperclass(); } return allFields; @@ -228,8 +224,6 @@ public static List getAllFieldsList(final Class cls) { /** * Gets all fields of the given class and its parents (if any) that are annotated with the given annotation. - * Does not return any synthetic fields. - * * @param cls * the {@link Class} to query * @param annotationCls diff --git a/src/site/resources/profile.jacoco b/src/site/resources/profile.cobertura similarity index 100% rename from src/site/resources/profile.jacoco rename to src/site/resources/profile.cobertura From 862a0d1ff5bf6564bf99e4248c44f41e453de848 Mon Sep 17 00:00:00 2001 From: Chas Honton Date: Wed, 11 Oct 2017 08:54:23 -0700 Subject: [PATCH 0039/3439] revert change.xml note --- src/changes/changes.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 5239f9ca345..c4491ee0e1a 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -46,7 +46,6 @@ The type attribute can be add,update,fix,remove. - FieldUtils should ignore any synthetic fields TimeZone.getTimeZone() in FastDateParser causes resource contention (PR #296.) StackOverflowError on TypeUtils.toString(...) for a generic return type of Enum.valueOf Remove deprecation from RandomStringUtils From 274dbfe81f5f43a47639623c62fc998b5eccd5f0 Mon Sep 17 00:00:00 2001 From: pascalschumacher Date: Wed, 11 Oct 2017 18:54:14 +0200 Subject: [PATCH 0040/3439] pom.xml: remove jacoco configuration from reporting section, so that c56b87d6efe530590b6d9a07e41ca00af208ce37 is completely reverted --- pom.xml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/pom.xml b/pom.xml index 74d51a94152..81f2d30900b 100644 --- a/pom.xml +++ b/pom.xml @@ -703,17 +703,6 @@ - - org.jacoco - jacoco-maven-plugin - - - - report - - - - maven-checkstyle-plugin ${checkstyle.plugin.version} From 5cb988334179b4f04a27c59c1e6a888db0dbfc9c Mon Sep 17 00:00:00 2001 From: Stephane Landelle Date: Thu, 12 Oct 2017 10:41:53 +0200 Subject: [PATCH 0041/3439] LANG-1358: Improve StringUtils#replace throughput (closes #300) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Motivation: `StringUtils#replace` uses `substring` to append a String region into a StringBuilder. This causes useless copies, as `StringBuilder#append` can take start and end indexes. Modification: Use proper `StringBuilder#append` [overload](https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html#append-java.lang.CharSequence-int-int-). Result: Based on benchmark from [JOOQ’s post](https://blog.jooq.org/2017/10/11/benchmarking-jdk-string-replace-vs-apache-commons-stringutils-replace): Benchmark Mode Cnt Score Error Units StringReplaceBenchmark.testFastStringReplaceLongStringOneMatch thrpt 21 7546534,219 ± 145523,962 ops/s StringReplaceBenchmark.testStringUtilsReplaceLongStringOneMatch thrpt 21 7353512,552 ± 124498,228 ops/s StringReplaceBenchmark.testFastStringReplaceLongStringSeveralMatches thrpt 21 5077255,810 ± 62358,937 ops/s StringReplaceBenchmark.testStringUtilsReplaceLongStringSeveralMatches thrpt 21 4108357,612 ± 92909,038 ops/s StringReplaceBenchmark.testFastStringReplaceShortStringOneMatch thrpt 21 15911221,949 ± 541064,693 ops/s StringReplaceBenchmark.testStringUtilsReplaceShortStringOneMatch thrpt 21 10677897,475 ± 491091,973 ops/s StringReplaceBenchmark.testFastStringReplaceShortStringSeveralMatches thrpt 21 9271742,251 ± 220150,121 ops/s StringReplaceBenchmark.testStringUtilsReplaceShortStringSeveralMatches thrpt 21 6158829,188 ± 99637,607 ops/s --- src/main/java/org/apache/commons/lang3/StringUtils.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/apache/commons/lang3/StringUtils.java b/src/main/java/org/apache/commons/lang3/StringUtils.java index 4af966e52bf..b2b6b7261f1 100644 --- a/src/main/java/org/apache/commons/lang3/StringUtils.java +++ b/src/main/java/org/apache/commons/lang3/StringUtils.java @@ -5515,14 +5515,14 @@ private static String replace(final String text, String searchString, final Stri increase *= max < 0 ? 16 : max > 64 ? 64 : max; final StringBuilder buf = new StringBuilder(text.length() + increase); while (end != INDEX_NOT_FOUND) { - buf.append(text.substring(start, end)).append(replacement); + buf.append(text, start, end).append(replacement); start = end + replLength; if (--max == 0) { break; } end = searchText.indexOf(searchString, start); } - buf.append(text.substring(start)); + buf.append(text, start, text.length()); return buf.toString(); } From 04ca0852b99af613e7db8f65ea6136bfe409d534 Mon Sep 17 00:00:00 2001 From: pascalschumacher Date: Thu, 12 Oct 2017 19:35:15 +0200 Subject: [PATCH 0042/3439] LANG-1358: Improve StringUtils#replace throughput Add changes.xml entry --- src/changes/changes.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index c4491ee0e1a..cf4296efcc5 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -46,6 +46,7 @@ The type attribute can be add,update,fix,remove. + Improve StringUtils#replace throughput TimeZone.getTimeZone() in FastDateParser causes resource contention (PR #296.) StackOverflowError on TypeUtils.toString(...) for a generic return type of Enum.valueOf Remove deprecation from RandomStringUtils From 713c77ceda21d0c3cc9c213341259d64fb46fdc7 Mon Sep 17 00:00:00 2001 From: pascalschumacher Date: Thu, 12 Oct 2017 19:53:14 +0200 Subject: [PATCH 0043/3439] use StringBuilder#append(CharSequence, int, int) were possible to improve performance (similar to LANG-1358, thanks to Stephane Landelle for the suggestion) --- .../apache/commons/lang3/builder/ToStringStyle.java | 3 +-- .../java/org/apache/commons/lang3/text/WordUtils.java | 10 +++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java b/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java index f40ecce3640..e24aa3100ae 100644 --- a/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java +++ b/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java @@ -387,11 +387,10 @@ public void appendToString(final StringBuffer buffer, final String toString) { final int pos1 = toString.indexOf(contentStart) + contentStart.length(); final int pos2 = toString.lastIndexOf(contentEnd); if (pos1 != pos2 && pos1 >= 0 && pos2 >= 0) { - final String data = toString.substring(pos1, pos2); if (fieldSeparatorAtStart) { removeLastFieldSeparator(buffer); } - buffer.append(data); + buffer.append(toString, pos1, pos2); appendFieldSeparator(buffer); } } diff --git a/src/main/java/org/apache/commons/lang3/text/WordUtils.java b/src/main/java/org/apache/commons/lang3/text/WordUtils.java index fef20d0bba8..b4c5999c026 100644 --- a/src/main/java/org/apache/commons/lang3/text/WordUtils.java +++ b/src/main/java/org/apache/commons/lang3/text/WordUtils.java @@ -308,7 +308,7 @@ public static String wrap(final String str, int wrapLength, String newLineStr, f if (spaceToWrapAt >= offset) { // normal case - wrappedLine.append(str.substring(offset, spaceToWrapAt)); + wrappedLine.append(str, offset, spaceToWrapAt); wrappedLine.append(newLineStr); offset = spaceToWrapAt + 1; @@ -316,7 +316,7 @@ public static String wrap(final String str, int wrapLength, String newLineStr, f // really long word or URL if (wrapLongWords) { // wrap really long word one line at a time - wrappedLine.append(str.substring(offset, wrapLength + offset)); + wrappedLine.append(str, offset, wrapLength + offset); wrappedLine.append(newLineStr); offset += wrapLength; } else { @@ -327,11 +327,11 @@ public static String wrap(final String str, int wrapLength, String newLineStr, f } if (spaceToWrapAt >= 0) { - wrappedLine.append(str.substring(offset, spaceToWrapAt)); + wrappedLine.append(str, offset, spaceToWrapAt); wrappedLine.append(newLineStr); offset = spaceToWrapAt + 1; } else { - wrappedLine.append(str.substring(offset)); + wrappedLine.append(str, offset, str.length()); offset = inputLineLength; } } @@ -339,7 +339,7 @@ public static String wrap(final String str, int wrapLength, String newLineStr, f } // Whatever is left in line is short enough to just pass through - wrappedLine.append(str.substring(offset)); + wrappedLine.append(str, offset, str.length()); return wrappedLine.toString(); } From 0dc5b94a0d098c4474dee9f2c7d74818c9a7faee Mon Sep 17 00:00:00 2001 From: pascalschumacher Date: Thu, 12 Oct 2017 20:38:14 +0200 Subject: [PATCH 0044/3439] fix typos in comments --- src/main/java/org/apache/commons/lang3/text/StrBuilder.java | 2 +- src/main/java/org/apache/commons/lang3/text/StrTokenizer.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/apache/commons/lang3/text/StrBuilder.java b/src/main/java/org/apache/commons/lang3/text/StrBuilder.java index cf42495fd55..25d0f211d07 100644 --- a/src/main/java/org/apache/commons/lang3/text/StrBuilder.java +++ b/src/main/java/org/apache/commons/lang3/text/StrBuilder.java @@ -1194,7 +1194,7 @@ public StrBuilder appendln(final double value) { public StrBuilder appendAll(@SuppressWarnings("unchecked") final T... array) { /* * @SuppressWarnings used to hide warning about vararg usage. We cannot - * use @SafeVarargs, since this method is not final. Using @SupressWarnings + * use @SafeVarargs, since this method is not final. Using @SuppressWarnings * is fine, because it isn't inherited by subclasses, so each subclass must * vouch for itself whether its use of 'array' is safe. */ diff --git a/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java b/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java index e321934927e..06bc2b87495 100644 --- a/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java +++ b/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java @@ -853,7 +853,7 @@ public StrMatcher getDelimiterMatcher() { /** * Sets the field delimiter matcher. *

- * The delimitier is used to separate one token from another. + * The delimiter is used to separate one token from another. * * @param delim the delimiter matcher to use * @return this, to enable chaining From 2a8187fdf9bdc8ab4315a1a5e9ac7d9dde31fc68 Mon Sep 17 00:00:00 2001 From: pascalschumacher Date: Sat, 14 Oct 2017 15:25:05 +0200 Subject: [PATCH 0045/3439] update easymock test dependency to version 3.5 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 81f2d30900b..6ba161ee220 100644 --- a/pom.xml +++ b/pom.xml @@ -532,7 +532,7 @@ org.easymock easymock - 3.4 + 3.5 test From 66226ec1c2ff33e138189463001c649dbb404f56 Mon Sep 17 00:00:00 2001 From: pascalschumacher Date: Sat, 14 Oct 2017 15:27:27 +0200 Subject: [PATCH 0046/3439] remove unused bcel test dependency --- pom.xml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pom.xml b/pom.xml index 6ba161ee220..6db828ae5bc 100644 --- a/pom.xml +++ b/pom.xml @@ -522,13 +522,6 @@ test - - org.apache.bcel - bcel - 6.0 - test - - org.easymock easymock From ae924788d9b222beefa1723b3d704975fc4e877a Mon Sep 17 00:00:00 2001 From: pascalschumacher Date: Sun, 15 Oct 2017 10:40:07 +0200 Subject: [PATCH 0047/3439] use assertNull where possible --- .../apache/commons/lang3/ArrayUtilsTest.java | 86 +++++++++---------- .../commons/lang3/BooleanUtilsTest.java | 35 ++++---- .../commons/lang3/CharSequenceUtilsTest.java | 11 +-- .../org/apache/commons/lang3/CharSetTest.java | 3 +- .../commons/lang3/CharSetUtilsTest.java | 37 ++++---- .../apache/commons/lang3/CharUtilsTest.java | 9 +- .../apache/commons/lang3/ClassUtilsTest.java | 12 +-- .../apache/commons/lang3/EnumUtilsTest.java | 5 +- .../apache/commons/lang3/ObjectUtilsTest.java | 2 +- .../commons/lang3/StringEscapeUtilsTest.java | 21 ++--- .../lang3/StringUtilsSubstringTest.java | 48 +++++------ .../apache/commons/lang3/StringUtilsTest.java | 40 ++++----- .../lang3/StringUtilsTrimStripTest.java | 44 +++++----- .../lang3/mutable/MutableObjectTest.java | 5 +- .../commons/lang3/text/StrBuilderTest.java | 11 +-- .../commons/lang3/text/StrLookupTest.java | 23 ++--- .../lang3/text/StrSubstitutorTest.java | 18 ++-- .../commons/lang3/text/StrTokenizerTest.java | 34 ++++---- .../commons/lang3/text/WordUtilsTest.java | 45 +++++----- 19 files changed, 250 insertions(+), 239 deletions(-) diff --git a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java index cccccd7b0db..e6f94fcd19b 100644 --- a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java @@ -225,7 +225,7 @@ public void testToMap() { assertEquals("bar", map.get("foo")); assertEquals("world", map.get("hello")); - assertEquals(null, ArrayUtils.toMap(null)); + assertNull(ArrayUtils.toMap(null)); try { ArrayUtils.toMap(new String[][]{{"foo", "bar"}, {"short"}}); fail("exception expected"); @@ -292,7 +292,7 @@ public void testClone() { @Test public void testCloneBoolean() { - assertEquals(null, ArrayUtils.clone((boolean[]) null)); + assertNull(ArrayUtils.clone((boolean[]) null)); final boolean[] original = new boolean[]{true, false}; final boolean[] cloned = ArrayUtils.clone(original); assertTrue(Arrays.equals(original, cloned)); @@ -301,7 +301,7 @@ public void testCloneBoolean() { @Test public void testCloneLong() { - assertEquals(null, ArrayUtils.clone((long[]) null)); + assertNull(ArrayUtils.clone((long[]) null)); final long[] original = new long[]{0L, 1L}; final long[] cloned = ArrayUtils.clone(original); assertTrue(Arrays.equals(original, cloned)); @@ -310,7 +310,7 @@ public void testCloneLong() { @Test public void testCloneInt() { - assertEquals(null, ArrayUtils.clone((int[]) null)); + assertNull(ArrayUtils.clone((int[]) null)); final int[] original = new int[]{5, 8}; final int[] cloned = ArrayUtils.clone(original); assertTrue(Arrays.equals(original, cloned)); @@ -319,7 +319,7 @@ public void testCloneInt() { @Test public void testCloneShort() { - assertEquals(null, ArrayUtils.clone((short[]) null)); + assertNull(ArrayUtils.clone((short[]) null)); final short[] original = new short[]{1, 4}; final short[] cloned = ArrayUtils.clone(original); assertTrue(Arrays.equals(original, cloned)); @@ -328,7 +328,7 @@ public void testCloneShort() { @Test public void testCloneChar() { - assertEquals(null, ArrayUtils.clone((char[]) null)); + assertNull(ArrayUtils.clone((char[]) null)); final char[] original = new char[]{'a', '4'}; final char[] cloned = ArrayUtils.clone(original); assertTrue(Arrays.equals(original, cloned)); @@ -337,7 +337,7 @@ public void testCloneChar() { @Test public void testCloneByte() { - assertEquals(null, ArrayUtils.clone((byte[]) null)); + assertNull(ArrayUtils.clone((byte[]) null)); final byte[] original = new byte[]{1, 6}; final byte[] cloned = ArrayUtils.clone(original); assertTrue(Arrays.equals(original, cloned)); @@ -346,7 +346,7 @@ public void testCloneByte() { @Test public void testCloneDouble() { - assertEquals(null, ArrayUtils.clone((double[]) null)); + assertNull(ArrayUtils.clone((double[]) null)); final double[] original = new double[]{2.4d, 5.7d}; final double[] cloned = ArrayUtils.clone(original); assertTrue(Arrays.equals(original, cloned)); @@ -355,7 +355,7 @@ public void testCloneDouble() { @Test public void testCloneFloat() { - assertEquals(null, ArrayUtils.clone((float[]) null)); + assertNull(ArrayUtils.clone((float[]) null)); final float[] original = new float[]{2.6f, 6.4f}; final float[] cloned = ArrayUtils.clone(original); assertTrue(Arrays.equals(original, cloned)); @@ -1745,7 +1745,7 @@ public void testReverseLong() { array = null; ArrayUtils.reverse(array); - assertEquals(null, array); + assertNull(array); } @Test @@ -1758,7 +1758,7 @@ public void testReverseInt() { array = null; ArrayUtils.reverse(array); - assertEquals(null, array); + assertNull(array); } @Test @@ -1771,7 +1771,7 @@ public void testReverseShort() { array = null; ArrayUtils.reverse(array); - assertEquals(null, array); + assertNull(array); } @Test @@ -1784,7 +1784,7 @@ public void testReverseChar() { array = null; ArrayUtils.reverse(array); - assertEquals(null, array); + assertNull(array); } @Test @@ -1797,7 +1797,7 @@ public void testReverseByte() { array = null; ArrayUtils.reverse(array); - assertEquals(null, array); + assertNull(array); } @Test @@ -1810,7 +1810,7 @@ public void testReverseDouble() { array = null; ArrayUtils.reverse(array); - assertEquals(null, array); + assertNull(array); } @Test @@ -1823,7 +1823,7 @@ public void testReverseFloat() { array = null; ArrayUtils.reverse(array); - assertEquals(null, array); + assertNull(array); } @Test @@ -1836,7 +1836,7 @@ public void testReverseBoolean() { array = null; ArrayUtils.reverse(array); - assertEquals(null, array); + assertNull(array); } @Test @@ -1868,7 +1868,7 @@ public void testReverseBooleanRange() { // null array = null; ArrayUtils.reverse(array, 0, 3); - assertEquals(null, array); + assertNull(array); } @Test @@ -1900,7 +1900,7 @@ public void testReverseByteRange() { // null array = null; ArrayUtils.reverse(array, 0, 3); - assertEquals(null, array); + assertNull(array); } @Test @@ -1932,7 +1932,7 @@ public void testReverseCharRange() { // null array = null; ArrayUtils.reverse(array, 0, 3); - assertEquals(null, array); + assertNull(array); } @Test @@ -1964,7 +1964,7 @@ public void testReverseDoubleRange() { // null array = null; ArrayUtils.reverse(array, 0, 3); - assertEquals(null, array); + assertNull(array); } @Test @@ -1996,7 +1996,7 @@ public void testReverseFloatRange() { // null array = null; ArrayUtils.reverse(array, 0, 3); - assertEquals(null, array); + assertNull(array); } @Test @@ -2028,7 +2028,7 @@ public void testReverseIntRange() { // null array = null; ArrayUtils.reverse(array, 0, 3); - assertEquals(null, array); + assertNull(array); } @Test @@ -2060,7 +2060,7 @@ public void testReverseLongRange() { // null array = null; ArrayUtils.reverse(array, 0, 3); - assertEquals(null, array); + assertNull(array); } @Test @@ -2092,7 +2092,7 @@ public void testReverseShortRange() { // null array = null; ArrayUtils.reverse(array, 0, 3); - assertEquals(null, array); + assertNull(array); } @Test @@ -2124,7 +2124,7 @@ public void testReverseObjectRange() { // null array = null; ArrayUtils.reverse(array, 0, 3); - assertEquals(null, array); + assertNull(array); } //----------------------------------------------------------------------- @@ -4126,7 +4126,7 @@ public void testContainsBoolean() { @Test public void testToPrimitive_boolean() { final Boolean[] b = null; - assertEquals(null, ArrayUtils.toPrimitive(b)); + assertNull(ArrayUtils.toPrimitive(b)); assertSame(ArrayUtils.EMPTY_BOOLEAN_ARRAY, ArrayUtils.toPrimitive(new Boolean[0])); assertTrue(Arrays.equals( new boolean[]{true, false, true}, @@ -4142,7 +4142,7 @@ public void testToPrimitive_boolean() { @Test public void testToPrimitive_boolean_boolean() { - assertEquals(null, ArrayUtils.toPrimitive(null, false)); + assertNull(ArrayUtils.toPrimitive(null, false)); assertSame(ArrayUtils.EMPTY_BOOLEAN_ARRAY, ArrayUtils.toPrimitive(new Boolean[0], false)); assertTrue(Arrays.equals( new boolean[]{true, false, true}, @@ -4174,7 +4174,7 @@ public void testToObject_boolean() { @Test public void testToPrimitive_char() { final Character[] b = null; - assertEquals(null, ArrayUtils.toPrimitive(b)); + assertNull(ArrayUtils.toPrimitive(b)); assertSame(ArrayUtils.EMPTY_CHAR_ARRAY, ArrayUtils.toPrimitive(new Character[0])); @@ -4194,7 +4194,7 @@ public void testToPrimitive_char() { @Test public void testToPrimitive_char_char() { final Character[] b = null; - assertEquals(null, ArrayUtils.toPrimitive(b, Character.MIN_VALUE)); + assertNull(ArrayUtils.toPrimitive(b, Character.MIN_VALUE)); assertSame(ArrayUtils.EMPTY_CHAR_ARRAY, ArrayUtils.toPrimitive(new Character[0], (char) 0)); @@ -4234,7 +4234,7 @@ public void testToObject_char() { @Test public void testToPrimitive_byte() { final Byte[] b = null; - assertEquals(null, ArrayUtils.toPrimitive(b)); + assertNull(ArrayUtils.toPrimitive(b)); assertSame(ArrayUtils.EMPTY_BYTE_ARRAY, ArrayUtils.toPrimitive(new Byte[0])); @@ -4254,7 +4254,7 @@ public void testToPrimitive_byte() { @Test public void testToPrimitive_byte_byte() { final Byte[] b = null; - assertEquals(null, ArrayUtils.toPrimitive(b, Byte.MIN_VALUE)); + assertNull(ArrayUtils.toPrimitive(b, Byte.MIN_VALUE)); assertSame(ArrayUtils.EMPTY_BYTE_ARRAY, ArrayUtils.toPrimitive(new Byte[0], (byte) 1)); @@ -4294,7 +4294,7 @@ public void testToObject_byte() { @Test public void testToPrimitive_short() { final Short[] b = null; - assertEquals(null, ArrayUtils.toPrimitive(b)); + assertNull(ArrayUtils.toPrimitive(b)); assertSame(ArrayUtils.EMPTY_SHORT_ARRAY, ArrayUtils.toPrimitive(new Short[0])); @@ -4314,7 +4314,7 @@ public void testToPrimitive_short() { @Test public void testToPrimitive_short_short() { final Short[] s = null; - assertEquals(null, ArrayUtils.toPrimitive(s, Short.MIN_VALUE)); + assertNull(ArrayUtils.toPrimitive(s, Short.MIN_VALUE)); assertSame(ArrayUtils.EMPTY_SHORT_ARRAY, ArrayUtils.toPrimitive(new Short[0], Short.MIN_VALUE)); @@ -4353,7 +4353,7 @@ public void testToObject_short() { @Test public void testToPrimitive_int() { final Integer[] b = null; - assertEquals(null, ArrayUtils.toPrimitive(b)); + assertNull(ArrayUtils.toPrimitive(b)); assertSame(ArrayUtils.EMPTY_INT_ARRAY, ArrayUtils.toPrimitive(new Integer[0])); assertTrue(Arrays.equals( new int[]{Integer.MIN_VALUE, Integer.MAX_VALUE, 9999999}, @@ -4371,7 +4371,7 @@ public void testToPrimitive_int() { @Test public void testToPrimitive_int_int() { final Long[] l = null; - assertEquals(null, ArrayUtils.toPrimitive(l, Integer.MIN_VALUE)); + assertNull(ArrayUtils.toPrimitive(l, Integer.MIN_VALUE)); assertSame(ArrayUtils.EMPTY_INT_ARRAY, ArrayUtils.toPrimitive(new Integer[0], 1)); assertTrue(Arrays.equals( @@ -4388,7 +4388,7 @@ public void testToPrimitive_int_int() { @Test public void testToPrimitive_intNull() { final Integer[] iArray = null; - assertEquals(null, ArrayUtils.toPrimitive(iArray, Integer.MIN_VALUE)); + assertNull(ArrayUtils.toPrimitive(iArray, Integer.MIN_VALUE)); } @Test @@ -4415,7 +4415,7 @@ public void testToObject_int() { @Test public void testToPrimitive_long() { final Long[] b = null; - assertEquals(null, ArrayUtils.toPrimitive(b)); + assertNull(ArrayUtils.toPrimitive(b)); assertSame(ArrayUtils.EMPTY_LONG_ARRAY, ArrayUtils.toPrimitive(new Long[0])); @@ -4436,7 +4436,7 @@ public void testToPrimitive_long() { @Test public void testToPrimitive_long_long() { final Long[] l = null; - assertEquals(null, ArrayUtils.toPrimitive(l, Long.MIN_VALUE)); + assertNull(ArrayUtils.toPrimitive(l, Long.MIN_VALUE)); assertSame(ArrayUtils.EMPTY_LONG_ARRAY, ArrayUtils.toPrimitive(new Long[0], 1)); @@ -4477,7 +4477,7 @@ public void testToObject_long() { @Test public void testToPrimitive_float() { final Float[] b = null; - assertEquals(null, ArrayUtils.toPrimitive(b)); + assertNull(ArrayUtils.toPrimitive(b)); assertSame(ArrayUtils.EMPTY_FLOAT_ARRAY, ArrayUtils.toPrimitive(new Float[0])); @@ -4498,7 +4498,7 @@ public void testToPrimitive_float() { @Test public void testToPrimitive_float_float() { final Float[] l = null; - assertEquals(null, ArrayUtils.toPrimitive(l, Float.MIN_VALUE)); + assertNull(ArrayUtils.toPrimitive(l, Float.MIN_VALUE)); assertSame(ArrayUtils.EMPTY_FLOAT_ARRAY, ArrayUtils.toPrimitive(new Float[0], 1)); @@ -4539,7 +4539,7 @@ public void testToObject_float() { @Test public void testToPrimitive_double() { final Double[] b = null; - assertEquals(null, ArrayUtils.toPrimitive(b)); + assertNull(ArrayUtils.toPrimitive(b)); assertSame(ArrayUtils.EMPTY_DOUBLE_ARRAY, ArrayUtils.toPrimitive(new Double[0])); @@ -4560,7 +4560,7 @@ public void testToPrimitive_double() { @Test public void testToPrimitive_double_double() { final Double[] l = null; - assertEquals(null, ArrayUtils.toPrimitive(l, Double.MIN_VALUE)); + assertNull(ArrayUtils.toPrimitive(l, Double.MIN_VALUE)); assertSame(ArrayUtils.EMPTY_DOUBLE_ARRAY, ArrayUtils.toPrimitive(new Double[0], 1)); diff --git a/src/test/java/org/apache/commons/lang3/BooleanUtilsTest.java b/src/test/java/org/apache/commons/lang3/BooleanUtilsTest.java index 5d22dad66b9..4fd3ad84154 100644 --- a/src/test/java/org/apache/commons/lang3/BooleanUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/BooleanUtilsTest.java @@ -19,6 +19,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; @@ -120,7 +121,7 @@ public void test_toBooleanObject_Integer() { assertEquals(Boolean.TRUE, BooleanUtils.toBooleanObject(Integer.valueOf(1))); assertEquals(Boolean.TRUE, BooleanUtils.toBooleanObject(Integer.valueOf(-1))); assertEquals(Boolean.FALSE, BooleanUtils.toBooleanObject(Integer.valueOf(0))); - assertEquals(null, BooleanUtils.toBooleanObject((Integer) null)); + assertNull(BooleanUtils.toBooleanObject((Integer) null)); } //----------------------------------------------------------------------- @@ -162,7 +163,7 @@ public void test_toBoolean_Integer_Integer_Integer_noMatch() { public void test_toBooleanObject_int_int_int() { assertEquals(Boolean.TRUE, BooleanUtils.toBooleanObject(6, 6, 7, 8)); assertEquals(Boolean.FALSE, BooleanUtils.toBooleanObject(7, 6, 7, 8)); - assertEquals(null, BooleanUtils.toBooleanObject(8, 6, 7, 8)); + assertNull(BooleanUtils.toBooleanObject(8, 6, 7, 8)); } @Test(expected = IllegalArgumentException.class) @@ -182,7 +183,7 @@ public void test_toBooleanObject_Integer_Integer_Integer_Integer() { assertEquals(Boolean.TRUE, BooleanUtils.toBooleanObject(Integer.valueOf(6), six, seven, eight)); assertEquals(Boolean.FALSE, BooleanUtils.toBooleanObject(Integer.valueOf(7), six, seven, eight)); - assertEquals(null, BooleanUtils.toBooleanObject(Integer.valueOf(8), six, seven, eight)); + assertNull(BooleanUtils.toBooleanObject(Integer.valueOf(8), six, seven, eight)); } @Test(expected = IllegalArgumentException.class) @@ -212,7 +213,7 @@ public void test_toIntegerObject_boolean() { public void test_toIntegerObject_Boolean() { assertEquals(Integer.valueOf(1), BooleanUtils.toIntegerObject(Boolean.TRUE)); assertEquals(Integer.valueOf(0), BooleanUtils.toIntegerObject(Boolean.FALSE)); - assertEquals(null, BooleanUtils.toIntegerObject(null)); + assertNull(BooleanUtils.toIntegerObject(null)); } //----------------------------------------------------------------------- @@ -245,22 +246,22 @@ public void test_toIntegerObject_Boolean_Integer_Integer_Integer() { assertEquals(six, BooleanUtils.toIntegerObject(Boolean.TRUE, six, seven, eight)); assertEquals(seven, BooleanUtils.toIntegerObject(Boolean.FALSE, six, seven, eight)); assertEquals(eight, BooleanUtils.toIntegerObject(null, six, seven, eight)); - assertEquals(null, BooleanUtils.toIntegerObject(null, six, seven, null)); + assertNull(BooleanUtils.toIntegerObject(null, six, seven, null)); } //----------------------------------------------------------------------- //----------------------------------------------------------------------- @Test public void test_toBooleanObject_String() { - assertEquals(null, BooleanUtils.toBooleanObject((String) null)); - assertEquals(null, BooleanUtils.toBooleanObject("")); + assertNull(BooleanUtils.toBooleanObject((String) null)); + assertNull(BooleanUtils.toBooleanObject("")); assertEquals(Boolean.FALSE, BooleanUtils.toBooleanObject("false")); assertEquals(Boolean.FALSE, BooleanUtils.toBooleanObject("no")); assertEquals(Boolean.FALSE, BooleanUtils.toBooleanObject("off")); assertEquals(Boolean.FALSE, BooleanUtils.toBooleanObject("FALSE")); assertEquals(Boolean.FALSE, BooleanUtils.toBooleanObject("NO")); assertEquals(Boolean.FALSE, BooleanUtils.toBooleanObject("OFF")); - assertEquals(null, BooleanUtils.toBooleanObject("oof")); + assertNull(BooleanUtils.toBooleanObject("oof")); assertEquals(Boolean.TRUE, BooleanUtils.toBooleanObject("true")); assertEquals(Boolean.TRUE, BooleanUtils.toBooleanObject("yes")); assertEquals(Boolean.TRUE, BooleanUtils.toBooleanObject("on")); @@ -278,12 +279,12 @@ public void test_toBooleanObject_String() { assertEquals(Boolean.FALSE, BooleanUtils.toBooleanObject("F")); assertEquals(Boolean.FALSE, BooleanUtils.toBooleanObject("n")); // No assertEquals(Boolean.FALSE, BooleanUtils.toBooleanObject("N")); - assertEquals(null, BooleanUtils.toBooleanObject("z")); + assertNull(BooleanUtils.toBooleanObject("z")); - assertEquals(null, BooleanUtils.toBooleanObject("ab")); - assertEquals(null, BooleanUtils.toBooleanObject("yoo")); - assertEquals(null, BooleanUtils.toBooleanObject("true ")); - assertEquals(null, BooleanUtils.toBooleanObject("ono")); + assertNull(BooleanUtils.toBooleanObject("ab")); + assertNull(BooleanUtils.toBooleanObject("yoo")); + assertNull(BooleanUtils.toBooleanObject("true ")); + assertNull(BooleanUtils.toBooleanObject("ono")); } @Test @@ -294,7 +295,7 @@ public void test_toBooleanObject_String_String_String_String() { assertEquals(Boolean.TRUE, BooleanUtils.toBooleanObject("Y", "Y", "N", "U")); assertEquals(Boolean.FALSE, BooleanUtils.toBooleanObject("N", "Y", "N", "U")); - assertEquals(null, BooleanUtils.toBooleanObject("U", "Y", "N", "U")); + assertNull(BooleanUtils.toBooleanObject("U", "Y", "N", "U")); } @Test(expected = IllegalArgumentException.class) @@ -381,21 +382,21 @@ public void test_toBoolean_String_String_String_noMatch() { //----------------------------------------------------------------------- @Test public void test_toStringTrueFalse_Boolean() { - assertEquals(null, BooleanUtils.toStringTrueFalse(null)); + assertNull(BooleanUtils.toStringTrueFalse(null)); assertEquals("true", BooleanUtils.toStringTrueFalse(Boolean.TRUE)); assertEquals("false", BooleanUtils.toStringTrueFalse(Boolean.FALSE)); } @Test public void test_toStringOnOff_Boolean() { - assertEquals(null, BooleanUtils.toStringOnOff(null)); + assertNull(BooleanUtils.toStringOnOff(null)); assertEquals("on", BooleanUtils.toStringOnOff(Boolean.TRUE)); assertEquals("off", BooleanUtils.toStringOnOff(Boolean.FALSE)); } @Test public void test_toStringYesNo_Boolean() { - assertEquals(null, BooleanUtils.toStringYesNo(null)); + assertNull(BooleanUtils.toStringYesNo(null)); assertEquals("yes", BooleanUtils.toStringYesNo(Boolean.TRUE)); assertEquals("no", BooleanUtils.toStringYesNo(Boolean.FALSE)); } diff --git a/src/test/java/org/apache/commons/lang3/CharSequenceUtilsTest.java b/src/test/java/org/apache/commons/lang3/CharSequenceUtilsTest.java index 891d7dde21f..4b03087d51e 100644 --- a/src/test/java/org/apache/commons/lang3/CharSequenceUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/CharSequenceUtilsTest.java @@ -20,6 +20,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -50,9 +51,9 @@ public void testSubSequence() { // // null input // - assertEquals(null, CharSequenceUtils.subSequence(null, -1)); - assertEquals(null, CharSequenceUtils.subSequence(null, 0)); - assertEquals(null, CharSequenceUtils.subSequence(null, 1)); + assertNull(CharSequenceUtils.subSequence(null, -1)); + assertNull(CharSequenceUtils.subSequence(null, 0)); + assertNull(CharSequenceUtils.subSequence(null, 1)); // // non-null input // @@ -65,12 +66,12 @@ public void testSubSequence() { @Test(expected=IndexOutOfBoundsException.class) public void testSubSequenceNegativeStart() { - assertEquals(null, CharSequenceUtils.subSequence(StringUtils.EMPTY, -1)); + assertNull(CharSequenceUtils.subSequence(StringUtils.EMPTY, -1)); } @Test(expected=IndexOutOfBoundsException.class) public void testSubSequenceTooLong() { - assertEquals(null, CharSequenceUtils.subSequence(StringUtils.EMPTY, 1)); + assertNull(CharSequenceUtils.subSequence(StringUtils.EMPTY, 1)); } static class TestData{ diff --git a/src/test/java/org/apache/commons/lang3/CharSetTest.java b/src/test/java/org/apache/commons/lang3/CharSetTest.java index 035dc4b7440..7c8dff42743 100644 --- a/src/test/java/org/apache/commons/lang3/CharSetTest.java +++ b/src/test/java/org/apache/commons/lang3/CharSetTest.java @@ -20,6 +20,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; @@ -54,7 +55,7 @@ public void testGetInstance() { //----------------------------------------------------------------------- @Test public void testGetInstance_Stringarray() { - assertEquals(null, CharSet.getInstance((String[]) null)); + assertNull(CharSet.getInstance((String[]) null)); assertEquals("[]", CharSet.getInstance(new String[0]).toString()); assertEquals("[]", CharSet.getInstance(new String[] {null}).toString()); assertEquals("[a-e]", CharSet.getInstance(new String[] {"a-e"}).toString()); diff --git a/src/test/java/org/apache/commons/lang3/CharSetUtilsTest.java b/src/test/java/org/apache/commons/lang3/CharSetUtilsTest.java index e07081619df..2f1296adbc5 100644 --- a/src/test/java/org/apache/commons/lang3/CharSetUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/CharSetUtilsTest.java @@ -19,6 +19,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.lang.reflect.Constructor; @@ -45,8 +46,8 @@ public void testConstructor() { //----------------------------------------------------------------------- @Test public void testSqueeze_StringString() { - assertEquals(null, CharSetUtils.squeeze(null, (String) null)); - assertEquals(null, CharSetUtils.squeeze(null, "")); + assertNull(CharSetUtils.squeeze(null, (String) null)); + assertNull(CharSetUtils.squeeze(null, "")); assertEquals("", CharSetUtils.squeeze("", (String) null)); assertEquals("", CharSetUtils.squeeze("", "")); @@ -62,10 +63,10 @@ public void testSqueeze_StringString() { @Test public void testSqueeze_StringStringarray() { - assertEquals(null, CharSetUtils.squeeze(null, (String[]) null)); - assertEquals(null, CharSetUtils.squeeze(null, new String[0])); - assertEquals(null, CharSetUtils.squeeze(null, new String[] {null})); - assertEquals(null, CharSetUtils.squeeze(null, new String[] {"el"})); + assertNull(CharSetUtils.squeeze(null, (String[]) null)); + assertNull(CharSetUtils.squeeze(null, new String[0])); + assertNull(CharSetUtils.squeeze(null, new String[] {null})); + assertNull(CharSetUtils.squeeze(null, new String[] {"el"})); assertEquals("", CharSetUtils.squeeze("", (String[]) null)); assertEquals("", CharSetUtils.squeeze("")); @@ -166,8 +167,8 @@ public void testCount_StringStringarray() { //----------------------------------------------------------------------- @Test public void testKeep_StringString() { - assertEquals(null, CharSetUtils.keep(null, (String) null)); - assertEquals(null, CharSetUtils.keep(null, "")); + assertNull(CharSetUtils.keep(null, (String) null)); + assertNull(CharSetUtils.keep(null, "")); assertEquals("", CharSetUtils.keep("", (String) null)); assertEquals("", CharSetUtils.keep("", "")); @@ -183,10 +184,10 @@ public void testKeep_StringString() { @Test public void testKeep_StringStringarray() { - assertEquals(null, CharSetUtils.keep(null, (String[]) null)); - assertEquals(null, CharSetUtils.keep(null, new String[0])); - assertEquals(null, CharSetUtils.keep(null, new String[] {null})); - assertEquals(null, CharSetUtils.keep(null, new String[] {"a-e"})); + assertNull(CharSetUtils.keep(null, (String[]) null)); + assertNull(CharSetUtils.keep(null, new String[0])); + assertNull(CharSetUtils.keep(null, new String[] {null})); + assertNull(CharSetUtils.keep(null, new String[] {"a-e"})); assertEquals("", CharSetUtils.keep("", (String[]) null)); assertEquals("", CharSetUtils.keep("")); @@ -209,8 +210,8 @@ public void testKeep_StringStringarray() { //----------------------------------------------------------------------- @Test public void testDelete_StringString() { - assertEquals(null, CharSetUtils.delete(null, (String) null)); - assertEquals(null, CharSetUtils.delete(null, "")); + assertNull(CharSetUtils.delete(null, (String) null)); + assertNull(CharSetUtils.delete(null, "")); assertEquals("", CharSetUtils.delete("", (String) null)); assertEquals("", CharSetUtils.delete("", "")); @@ -225,10 +226,10 @@ public void testDelete_StringString() { @Test public void testDelete_StringStringarray() { - assertEquals(null, CharSetUtils.delete(null, (String[]) null)); - assertEquals(null, CharSetUtils.delete(null, new String[0])); - assertEquals(null, CharSetUtils.delete(null, new String[] {null})); - assertEquals(null, CharSetUtils.delete(null, new String[] {"el"})); + assertNull(CharSetUtils.delete(null, (String[]) null)); + assertNull(CharSetUtils.delete(null, new String[0])); + assertNull(CharSetUtils.delete(null, new String[] {null})); + assertNull(CharSetUtils.delete(null, new String[] {"el"})); assertEquals("", CharSetUtils.delete("", (String[]) null)); assertEquals("", CharSetUtils.delete("")); diff --git a/src/test/java/org/apache/commons/lang3/CharUtilsTest.java b/src/test/java/org/apache/commons/lang3/CharUtilsTest.java index 50f263460be..2d10ade88e4 100644 --- a/src/test/java/org/apache/commons/lang3/CharUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/CharUtilsTest.java @@ -19,6 +19,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -72,8 +73,8 @@ public void testToCharacterObject_char() { @Test public void testToCharacterObject_String() { - assertEquals(null, CharUtils.toCharacterObject(null)); - assertEquals(null, CharUtils.toCharacterObject("")); + assertNull(CharUtils.toCharacterObject(null)); + assertNull(CharUtils.toCharacterObject("")); assertEquals(new Character('a'), CharUtils.toCharacterObject("a")); assertEquals(new Character('a'), CharUtils.toCharacterObject("abc")); assertSame(CharUtils.toCharacterObject("a"), CharUtils.toCharacterObject("a")); @@ -191,7 +192,7 @@ public void testToString_char() { @Test public void testToString_Character() { - assertEquals(null, CharUtils.toString(null)); + assertNull(CharUtils.toString(null)); assertEquals("A", CharUtils.toString(CHARACTER_A)); assertSame(CharUtils.toString(CHARACTER_A), CharUtils.toString(CHARACTER_A)); } @@ -213,7 +214,7 @@ public void testToUnicodeEscaped_char() { @Test public void testToUnicodeEscaped_Character() { - assertEquals(null, CharUtils.unicodeEscaped(null)); + assertNull(CharUtils.unicodeEscaped(null)); assertEquals("\\u0041", CharUtils.unicodeEscaped(CHARACTER_A)); } diff --git a/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java b/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java index ab983199189..6b97fb5ed7c 100644 --- a/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java @@ -264,7 +264,7 @@ public void test_getAllSuperclasses_Class() { assertEquals(CX.class, list.get(0)); assertEquals(Object.class, list.get(1)); - assertEquals(null, ClassUtils.getAllSuperclasses(null)); + assertNull(ClassUtils.getAllSuperclasses(null)); } @Test @@ -278,7 +278,7 @@ public void test_getAllInterfaces_Class() { assertEquals(IF.class, list.get(4)); assertEquals(IA.class, list.get(5)); - assertEquals(null, ClassUtils.getAllInterfaces(null)); + assertNull(ClassUtils.getAllInterfaces(null)); } private interface IA { @@ -311,7 +311,7 @@ public void test_convertClassNamesToClasses_List() { result = ClassUtils.convertClassNamesToClasses(list); assertEquals(3, result.size()); assertEquals(String.class, result.get(0)); - assertEquals(null, result.get(1)); + assertNull(result.get(1)); assertEquals(Object.class, result.get(2)); @SuppressWarnings("unchecked") // test what happens when non-generic code adds wrong type of element @@ -322,7 +322,7 @@ public void test_convertClassNamesToClasses_List() { ClassUtils.convertClassNamesToClasses(list); fail("Should not have been able to convert list"); } catch (final ClassCastException expected) {} - assertEquals(null, ClassUtils.convertClassNamesToClasses(null)); + assertNull(ClassUtils.convertClassNamesToClasses(null)); } @Test @@ -337,7 +337,7 @@ public void test_convertClassesToClassNames_List() { result = ClassUtils.convertClassesToClassNames(list); assertEquals(3, result.size()); assertEquals("java.lang.String", result.get(0)); - assertEquals(null, result.get(1)); + assertNull(result.get(1)); assertEquals("java.lang.Object", result.get(2)); @SuppressWarnings("unchecked") // test what happens when non-generic code adds wrong type of element @@ -348,7 +348,7 @@ public void test_convertClassesToClassNames_List() { ClassUtils.convertClassesToClassNames(list); fail("Should not have been able to convert list"); } catch (final ClassCastException expected) {} - assertEquals(null, ClassUtils.convertClassesToClassNames(null)); + assertNull(ClassUtils.convertClassesToClassNames(null)); } // ------------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/lang3/EnumUtilsTest.java b/src/test/java/org/apache/commons/lang3/EnumUtilsTest.java index bb425d4926e..f17dddae68c 100644 --- a/src/test/java/org/apache/commons/lang3/EnumUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/EnumUtilsTest.java @@ -20,6 +20,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.util.ArrayList; @@ -84,8 +85,8 @@ public void test_getEnum() { assertEquals(Traffic.RED, EnumUtils.getEnum(Traffic.class, "RED")); assertEquals(Traffic.AMBER, EnumUtils.getEnum(Traffic.class, "AMBER")); assertEquals(Traffic.GREEN, EnumUtils.getEnum(Traffic.class, "GREEN")); - assertEquals(null, EnumUtils.getEnum(Traffic.class, "PURPLE")); - assertEquals(null, EnumUtils.getEnum(Traffic.class, null)); + assertNull(EnumUtils.getEnum(Traffic.class, "PURPLE")); + assertNull(EnumUtils.getEnum(Traffic.class, null)); } @Test(expected=NullPointerException.class) diff --git a/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java b/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java index d6547f6265b..3da844300b5 100644 --- a/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java @@ -193,7 +193,7 @@ public void testIdentityToStringStringBuffer() { @Test public void testIdentityToStringStringBuilder() { - assertEquals(null, ObjectUtils.identityToString(null)); + assertNull(ObjectUtils.identityToString(null)); assertEquals( "java.lang.String@" + Integer.toHexString(System.identityHashCode(FOO)), ObjectUtils.identityToString(FOO)); diff --git a/src/test/java/org/apache/commons/lang3/StringEscapeUtilsTest.java b/src/test/java/org/apache/commons/lang3/StringEscapeUtilsTest.java index 3bfeaca34c3..178e11d8ad4 100644 --- a/src/test/java/org/apache/commons/lang3/StringEscapeUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/StringEscapeUtilsTest.java @@ -19,6 +19,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -54,7 +55,7 @@ public void testConstructor() { @Test public void testEscapeJava() throws IOException { - assertEquals(null, StringEscapeUtils.escapeJava(null)); + assertNull(StringEscapeUtils.escapeJava(null)); try { StringEscapeUtils.ESCAPE_JAVA.translate(null, null); fail(); @@ -123,7 +124,7 @@ private void assertEscapeJava(String message, final String expected, final Strin @Test public void testUnescapeJava() throws IOException { - assertEquals(null, StringEscapeUtils.unescapeJava(null)); + assertNull(StringEscapeUtils.unescapeJava(null)); try { StringEscapeUtils.UNESCAPE_JAVA.translate(null, null); fail(); @@ -179,7 +180,7 @@ private void assertUnescapeJava(final String message, final String unescaped, fi @Test public void testEscapeEcmaScript() { - assertEquals(null, StringEscapeUtils.escapeEcmaScript(null)); + assertNull(StringEscapeUtils.escapeEcmaScript(null)); try { StringEscapeUtils.ESCAPE_ECMASCRIPT.translate(null, null); fail(); @@ -202,7 +203,7 @@ public void testEscapeEcmaScript() { @Test public void testUnescapeEcmaScript() { - assertEquals(null, StringEscapeUtils.escapeEcmaScript(null)); + assertNull(StringEscapeUtils.escapeEcmaScript(null)); try { StringEscapeUtils.UNESCAPE_ECMASCRIPT.translate(null, null); fail(); @@ -333,8 +334,8 @@ public void testEscapeXml() throws Exception { assertEquals("ain't", StringEscapeUtils.unescapeXml("ain't")); assertEquals("ain't", StringEscapeUtils.escapeXml("ain't")); assertEquals("", StringEscapeUtils.escapeXml("")); - assertEquals(null, StringEscapeUtils.escapeXml(null)); - assertEquals(null, StringEscapeUtils.unescapeXml(null)); + assertNull(StringEscapeUtils.escapeXml(null)); + assertNull(StringEscapeUtils.unescapeXml(null)); StringWriter sw = new StringWriter(); try { @@ -466,7 +467,7 @@ public void testEscapeCsvString() throws Exception { assertEquals("\"foo\"\"bar\"", StringEscapeUtils.escapeCsv("foo\"bar")); assertEquals("foo\uD84C\uDFB4bar", StringEscapeUtils.escapeCsv("foo\uD84C\uDFB4bar")); assertEquals("", StringEscapeUtils.escapeCsv("")); - assertEquals(null, StringEscapeUtils.escapeCsv(null)); + assertNull(StringEscapeUtils.escapeCsv(null)); } @Test @@ -506,7 +507,7 @@ public void testUnescapeCsvString() throws Exception { assertEquals("foo\"bar", StringEscapeUtils.unescapeCsv("\"foo\"\"bar\"")); assertEquals("foo\uD84C\uDFB4bar", StringEscapeUtils.unescapeCsv("foo\uD84C\uDFB4bar")); assertEquals("", StringEscapeUtils.unescapeCsv("")); - assertEquals(null, StringEscapeUtils.unescapeCsv(null)); + assertNull(StringEscapeUtils.unescapeCsv(null)); assertEquals("\"foo.bar\"", StringEscapeUtils.unescapeCsv("\"foo.bar\"")); } @@ -621,7 +622,7 @@ public void testLang911() { @Test public void testEscapeJson() { - assertEquals(null, StringEscapeUtils.escapeJson(null)); + assertNull(StringEscapeUtils.escapeJson(null)); try { StringEscapeUtils.ESCAPE_JSON.translate(null, null); fail(); @@ -647,7 +648,7 @@ public void testEscapeJson() { @Test public void testUnescapeJson() { - assertEquals(null, StringEscapeUtils.unescapeJson(null)); + assertNull(StringEscapeUtils.unescapeJson(null)); try { StringEscapeUtils.UNESCAPE_JSON.translate(null, null); fail(); diff --git a/src/test/java/org/apache/commons/lang3/StringUtilsSubstringTest.java b/src/test/java/org/apache/commons/lang3/StringUtilsSubstringTest.java index 66d03f3db93..62769f82fe0 100644 --- a/src/test/java/org/apache/commons/lang3/StringUtilsSubstringTest.java +++ b/src/test/java/org/apache/commons/lang3/StringUtilsSubstringTest.java @@ -36,7 +36,7 @@ public class StringUtilsSubstringTest { @Test public void testSubstring_StringInt() { - assertEquals(null, StringUtils.substring(null, 0)); + assertNull(StringUtils.substring(null, 0)); assertEquals("", StringUtils.substring("", 0)); assertEquals("", StringUtils.substring("", 2)); @@ -57,8 +57,8 @@ public void testSubstring_StringInt() { @Test public void testSubstring_StringIntInt() { - assertEquals(null, StringUtils.substring(null, 0, 0)); - assertEquals(null, StringUtils.substring(null, 1, 2)); + assertNull(StringUtils.substring(null, 0, 0)); + assertNull(StringUtils.substring(null, 1, 2)); assertEquals("", StringUtils.substring("", 0, 0)); assertEquals("", StringUtils.substring("", 1, 2)); assertEquals("", StringUtils.substring("", -2, -1)); @@ -132,9 +132,9 @@ public void testMid_String() { public void testSubstringBefore_StringString() { assertEquals("foo", StringUtils.substringBefore("fooXXbarXXbaz", "XX")); - assertEquals(null, StringUtils.substringBefore(null, null)); - assertEquals(null, StringUtils.substringBefore(null, "")); - assertEquals(null, StringUtils.substringBefore(null, "XX")); + assertNull(StringUtils.substringBefore(null, null)); + assertNull(StringUtils.substringBefore(null, "")); + assertNull(StringUtils.substringBefore(null, "XX")); assertEquals("", StringUtils.substringBefore("", null)); assertEquals("", StringUtils.substringBefore("", "")); assertEquals("", StringUtils.substringBefore("", "XX")); @@ -152,9 +152,9 @@ public void testSubstringBefore_StringString() { public void testSubstringAfter_StringString() { assertEquals("barXXbaz", StringUtils.substringAfter("fooXXbarXXbaz", "XX")); - assertEquals(null, StringUtils.substringAfter(null, null)); - assertEquals(null, StringUtils.substringAfter(null, "")); - assertEquals(null, StringUtils.substringAfter(null, "XX")); + assertNull(StringUtils.substringAfter(null, null)); + assertNull(StringUtils.substringAfter(null, "")); + assertNull(StringUtils.substringAfter(null, "XX")); assertEquals("", StringUtils.substringAfter("", null)); assertEquals("", StringUtils.substringAfter("", "")); assertEquals("", StringUtils.substringAfter("", "XX")); @@ -172,9 +172,9 @@ public void testSubstringAfter_StringString() { public void testSubstringBeforeLast_StringString() { assertEquals("fooXXbar", StringUtils.substringBeforeLast("fooXXbarXXbaz", "XX")); - assertEquals(null, StringUtils.substringBeforeLast(null, null)); - assertEquals(null, StringUtils.substringBeforeLast(null, "")); - assertEquals(null, StringUtils.substringBeforeLast(null, "XX")); + assertNull(StringUtils.substringBeforeLast(null, null)); + assertNull(StringUtils.substringBeforeLast(null, "")); + assertNull(StringUtils.substringBeforeLast(null, "XX")); assertEquals("", StringUtils.substringBeforeLast("", null)); assertEquals("", StringUtils.substringBeforeLast("", "")); assertEquals("", StringUtils.substringBeforeLast("", "XX")); @@ -196,9 +196,9 @@ public void testSubstringBeforeLast_StringString() { public void testSubstringAfterLast_StringString() { assertEquals("baz", StringUtils.substringAfterLast("fooXXbarXXbaz", "XX")); - assertEquals(null, StringUtils.substringAfterLast(null, null)); - assertEquals(null, StringUtils.substringAfterLast(null, "")); - assertEquals(null, StringUtils.substringAfterLast(null, "XX")); + assertNull(StringUtils.substringAfterLast(null, null)); + assertNull(StringUtils.substringAfterLast(null, "")); + assertNull(StringUtils.substringAfterLast(null, "XX")); assertEquals("", StringUtils.substringAfterLast("", null)); assertEquals("", StringUtils.substringAfterLast("", "")); assertEquals("", StringUtils.substringAfterLast("", "a")); @@ -216,13 +216,13 @@ public void testSubstringAfterLast_StringString() { //----------------------------------------------------------------------- @Test public void testSubstringBetween_StringString() { - assertEquals(null, StringUtils.substringBetween(null, "tag")); + assertNull(StringUtils.substringBetween(null, "tag")); assertEquals("", StringUtils.substringBetween("", "")); - assertEquals(null, StringUtils.substringBetween("", "abc")); + assertNull(StringUtils.substringBetween("", "abc")); assertEquals("", StringUtils.substringBetween(" ", " ")); - assertEquals(null, StringUtils.substringBetween("abc", null)); + assertNull(StringUtils.substringBetween("abc", null)); assertEquals("", StringUtils.substringBetween("abc", "")); - assertEquals(null, StringUtils.substringBetween("abc", "a")); + assertNull(StringUtils.substringBetween("abc", "a")); assertEquals("bc", StringUtils.substringBetween("abca", "a")); assertEquals("bc", StringUtils.substringBetween("abcabca", "a")); assertEquals("bar", StringUtils.substringBetween("\nbar\n", "\n")); @@ -230,13 +230,13 @@ public void testSubstringBetween_StringString() { @Test public void testSubstringBetween_StringStringString() { - assertEquals(null, StringUtils.substringBetween(null, "", "")); - assertEquals(null, StringUtils.substringBetween("", null, "")); - assertEquals(null, StringUtils.substringBetween("", "", null)); + assertNull(StringUtils.substringBetween(null, "", "")); + assertNull(StringUtils.substringBetween("", null, "")); + assertNull(StringUtils.substringBetween("", "", null)); assertEquals("", StringUtils.substringBetween("", "", "")); assertEquals("", StringUtils.substringBetween("foo", "", "")); - assertEquals(null, StringUtils.substringBetween("foo", "", "]")); - assertEquals(null, StringUtils.substringBetween("foo", "[", "]")); + assertNull(StringUtils.substringBetween("foo", "", "]")); + assertNull(StringUtils.substringBetween("foo", "[", "]")); assertEquals("", StringUtils.substringBetween(" ", " ", " ")); assertEquals("bar", StringUtils.substringBetween("bar", "", "") ); } diff --git a/src/test/java/org/apache/commons/lang3/StringUtilsTest.java b/src/test/java/org/apache/commons/lang3/StringUtilsTest.java index 615030eccc4..451202ef654 100644 --- a/src/test/java/org/apache/commons/lang3/StringUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/StringUtilsTest.java @@ -1164,10 +1164,10 @@ public void testReplace_StringStringString() { @Test public void testReplaceIgnoreCase_StringStringString() { - assertEquals(null, StringUtils.replaceIgnoreCase(null, null, null)); - assertEquals(null, StringUtils.replaceIgnoreCase(null, null, "any")); - assertEquals(null, StringUtils.replaceIgnoreCase(null, "any", null)); - assertEquals(null, StringUtils.replaceIgnoreCase(null, "any", "any")); + assertNull(StringUtils.replaceIgnoreCase(null, null, null)); + assertNull(StringUtils.replaceIgnoreCase(null, null, "any")); + assertNull(StringUtils.replaceIgnoreCase(null, "any", null)); + assertNull(StringUtils.replaceIgnoreCase(null, "any", "any")); assertEquals("", StringUtils.replaceIgnoreCase("", null, null)); assertEquals("", StringUtils.replaceIgnoreCase("", null, "any")); @@ -1313,10 +1313,10 @@ public void testReplace_StringStringStringInt() { @Test public void testReplaceIgnoreCase_StringStringStringInt() { - assertEquals(null, StringUtils.replaceIgnoreCase(null, null, null, 2)); - assertEquals(null, StringUtils.replaceIgnoreCase(null, null, "any", 2)); - assertEquals(null, StringUtils.replaceIgnoreCase(null, "any", null, 2)); - assertEquals(null, StringUtils.replaceIgnoreCase(null, "any", "any", 2)); + assertNull(StringUtils.replaceIgnoreCase(null, null, null, 2)); + assertNull(StringUtils.replaceIgnoreCase(null, null, "any", 2)); + assertNull(StringUtils.replaceIgnoreCase(null, "any", null, 2)); + assertNull(StringUtils.replaceIgnoreCase(null, "any", "any", 2)); assertEquals("", StringUtils.replaceIgnoreCase("", null, null, 2)); assertEquals("", StringUtils.replaceIgnoreCase("", null, "any", 2)); @@ -1370,10 +1370,10 @@ public void testReplaceOnce_StringStringString() { @Test public void testReplaceOnceIgnoreCase_StringStringString() { - assertEquals(null, StringUtils.replaceOnceIgnoreCase(null, null, null)); - assertEquals(null, StringUtils.replaceOnceIgnoreCase(null, null, "any")); - assertEquals(null, StringUtils.replaceOnceIgnoreCase(null, "any", null)); - assertEquals(null, StringUtils.replaceOnceIgnoreCase(null, "any", "any")); + assertNull(StringUtils.replaceOnceIgnoreCase(null, null, null)); + assertNull(StringUtils.replaceOnceIgnoreCase(null, null, "any")); + assertNull(StringUtils.replaceOnceIgnoreCase(null, "any", null)); + assertNull(StringUtils.replaceOnceIgnoreCase(null, "any", "any")); assertEquals("", StringUtils.replaceOnceIgnoreCase("", null, null)); assertEquals("", StringUtils.replaceOnceIgnoreCase("", null, "any")); @@ -1823,7 +1823,7 @@ public void testCenter_StringIntString() { //----------------------------------------------------------------------- @Test public void testRotate_StringInt() { - assertEquals(null, StringUtils.rotate(null, 1)); + assertNull(StringUtils.rotate(null, 1)); assertEquals("", StringUtils.rotate("", 1)); assertEquals("abcdefg", StringUtils.rotate("abcdefg", 0)); assertEquals("fgabcde", StringUtils.rotate("abcdefg", 2)); @@ -2721,9 +2721,9 @@ public void testRemove_String() { @Test public void testRemoveIgnoreCase_String() { // StringUtils.removeIgnoreCase(null, *) = null - assertEquals(null, StringUtils.removeIgnoreCase(null, null)); - assertEquals(null, StringUtils.removeIgnoreCase(null, "")); - assertEquals(null, StringUtils.removeIgnoreCase(null, "a")); + assertNull(StringUtils.removeIgnoreCase(null, null)); + assertNull(StringUtils.removeIgnoreCase(null, "")); + assertNull(StringUtils.removeIgnoreCase(null, "a")); // StringUtils.removeIgnoreCase("", *) = "" assertEquals("", StringUtils.removeIgnoreCase("", null)); @@ -2731,12 +2731,12 @@ public void testRemoveIgnoreCase_String() { assertEquals("", StringUtils.removeIgnoreCase("", "a")); // StringUtils.removeIgnoreCase(*, null) = * - assertEquals(null, StringUtils.removeIgnoreCase(null, null)); + assertNull(StringUtils.removeIgnoreCase(null, null)); assertEquals("", StringUtils.removeIgnoreCase("", null)); assertEquals("a", StringUtils.removeIgnoreCase("a", null)); // StringUtils.removeIgnoreCase(*, "") = * - assertEquals(null, StringUtils.removeIgnoreCase(null, "")); + assertNull(StringUtils.removeIgnoreCase(null, "")); assertEquals("", StringUtils.removeIgnoreCase("", "")); assertEquals("a", StringUtils.removeIgnoreCase("a", "")); @@ -3167,7 +3167,7 @@ public void testWrap_StringString() { assertNull(StringUtils.wrap(null, "")); assertNull(StringUtils.wrap(null, "1")); - assertEquals(null, StringUtils.wrap(null, null)); + assertNull(StringUtils.wrap(null, null)); assertEquals("", StringUtils.wrap("", "")); assertEquals("ab", StringUtils.wrap("ab", null)); assertEquals("xabx", StringUtils.wrap("ab", "x")); @@ -3232,7 +3232,7 @@ public void testToCodePoints() throws Exception { @Test public void testGetDigits() { - assertEquals(null, StringUtils.getDigits(null)); + assertNull(StringUtils.getDigits(null)); assertEquals("", StringUtils.getDigits("")); assertEquals("", StringUtils.getDigits("abc")); assertEquals("1000", StringUtils.getDigits("1000$")); diff --git a/src/test/java/org/apache/commons/lang3/StringUtilsTrimStripTest.java b/src/test/java/org/apache/commons/lang3/StringUtilsTrimStripTest.java index d9fdb7487ac..925652751f5 100644 --- a/src/test/java/org/apache/commons/lang3/StringUtilsTrimStripTest.java +++ b/src/test/java/org/apache/commons/lang3/StringUtilsTrimStripTest.java @@ -38,7 +38,7 @@ public void testTrim() { assertEquals("", StringUtils.trim(StringUtilsTest.TRIMMABLE)); assertEquals(StringUtilsTest.NON_TRIMMABLE, StringUtils.trim(StringUtilsTest.NON_TRIMMABLE)); assertEquals("", StringUtils.trim("")); - assertEquals(null, StringUtils.trim(null)); + assertNull(StringUtils.trim(null)); } @Test @@ -47,11 +47,11 @@ public void testTrimToNull() { assertEquals(FOO, StringUtils.trimToNull(" " + FOO + " ")); assertEquals(FOO, StringUtils.trimToNull(" " + FOO)); assertEquals(FOO, StringUtils.trimToNull(FOO + "")); - assertEquals(null, StringUtils.trimToNull(" \t\r\n\b ")); - assertEquals(null, StringUtils.trimToNull(StringUtilsTest.TRIMMABLE)); + assertNull(StringUtils.trimToNull(" \t\r\n\b ")); + assertNull(StringUtils.trimToNull(StringUtilsTest.TRIMMABLE)); assertEquals(StringUtilsTest.NON_TRIMMABLE, StringUtils.trimToNull(StringUtilsTest.NON_TRIMMABLE)); - assertEquals(null, StringUtils.trimToNull("")); - assertEquals(null, StringUtils.trimToNull(null)); + assertNull(StringUtils.trimToNull("")); + assertNull(StringUtils.trimToNull(null)); } @Test @@ -70,7 +70,7 @@ public void testTrimToEmpty() { //----------------------------------------------------------------------- @Test public void testStrip_String() { - assertEquals(null, StringUtils.strip(null)); + assertNull(StringUtils.strip(null)); assertEquals("", StringUtils.strip("")); assertEquals("", StringUtils.strip(" ")); assertEquals("abc", StringUtils.strip(" abc ")); @@ -80,10 +80,10 @@ public void testStrip_String() { @Test public void testStripToNull_String() { - assertEquals(null, StringUtils.stripToNull(null)); - assertEquals(null, StringUtils.stripToNull("")); - assertEquals(null, StringUtils.stripToNull(" ")); - assertEquals(null, StringUtils.stripToNull(StringUtilsTest.WHITESPACE)); + assertNull(StringUtils.stripToNull(null)); + assertNull(StringUtils.stripToNull("")); + assertNull(StringUtils.stripToNull(" ")); + assertNull(StringUtils.stripToNull(StringUtilsTest.WHITESPACE)); assertEquals("ab c", StringUtils.stripToNull(" ab c ")); assertEquals(StringUtilsTest.NON_WHITESPACE, StringUtils.stripToNull(StringUtilsTest.WHITESPACE + StringUtilsTest.NON_WHITESPACE + StringUtilsTest.WHITESPACE)); @@ -103,7 +103,7 @@ public void testStripToEmpty_String() { @Test public void testStrip_StringString() { // null strip - assertEquals(null, StringUtils.strip(null, null)); + assertNull(StringUtils.strip(null, null)); assertEquals("", StringUtils.strip("", null)); assertEquals("", StringUtils.strip(" ", null)); assertEquals("abc", StringUtils.strip(" abc ", null)); @@ -111,20 +111,20 @@ public void testStrip_StringString() { StringUtils.strip(StringUtilsTest.WHITESPACE + StringUtilsTest.NON_WHITESPACE + StringUtilsTest.WHITESPACE, null)); // "" strip - assertEquals(null, StringUtils.strip(null, "")); + assertNull(StringUtils.strip(null, "")); assertEquals("", StringUtils.strip("", "")); assertEquals(" ", StringUtils.strip(" ", "")); assertEquals(" abc ", StringUtils.strip(" abc ", "")); assertEquals(StringUtilsTest.WHITESPACE, StringUtils.strip(StringUtilsTest.WHITESPACE, "")); // " " strip - assertEquals(null, StringUtils.strip(null, " ")); + assertNull(StringUtils.strip(null, " ")); assertEquals("", StringUtils.strip("", " ")); assertEquals("", StringUtils.strip(" ", " ")); assertEquals("abc", StringUtils.strip(" abc ", " ")); // "ab" strip - assertEquals(null, StringUtils.strip(null, "ab")); + assertNull(StringUtils.strip(null, "ab")); assertEquals("", StringUtils.strip("", "ab")); assertEquals(" ", StringUtils.strip(" ", "ab")); assertEquals(" abc ", StringUtils.strip(" abc ", "ab")); @@ -135,7 +135,7 @@ public void testStrip_StringString() { @Test public void testStripStart_StringString() { // null stripStart - assertEquals(null, StringUtils.stripStart(null, null)); + assertNull(StringUtils.stripStart(null, null)); assertEquals("", StringUtils.stripStart("", null)); assertEquals("", StringUtils.stripStart(" ", null)); assertEquals("abc ", StringUtils.stripStart(" abc ", null)); @@ -143,20 +143,20 @@ public void testStripStart_StringString() { StringUtils.stripStart(StringUtilsTest.WHITESPACE + StringUtilsTest.NON_WHITESPACE + StringUtilsTest.WHITESPACE, null)); // "" stripStart - assertEquals(null, StringUtils.stripStart(null, "")); + assertNull(StringUtils.stripStart(null, "")); assertEquals("", StringUtils.stripStart("", "")); assertEquals(" ", StringUtils.stripStart(" ", "")); assertEquals(" abc ", StringUtils.stripStart(" abc ", "")); assertEquals(StringUtilsTest.WHITESPACE, StringUtils.stripStart(StringUtilsTest.WHITESPACE, "")); // " " stripStart - assertEquals(null, StringUtils.stripStart(null, " ")); + assertNull(StringUtils.stripStart(null, " ")); assertEquals("", StringUtils.stripStart("", " ")); assertEquals("", StringUtils.stripStart(" ", " ")); assertEquals("abc ", StringUtils.stripStart(" abc ", " ")); // "ab" stripStart - assertEquals(null, StringUtils.stripStart(null, "ab")); + assertNull(StringUtils.stripStart(null, "ab")); assertEquals("", StringUtils.stripStart("", "ab")); assertEquals(" ", StringUtils.stripStart(" ", "ab")); assertEquals(" abc ", StringUtils.stripStart(" abc ", "ab")); @@ -167,7 +167,7 @@ public void testStripStart_StringString() { @Test public void testStripEnd_StringString() { // null stripEnd - assertEquals(null, StringUtils.stripEnd(null, null)); + assertNull(StringUtils.stripEnd(null, null)); assertEquals("", StringUtils.stripEnd("", null)); assertEquals("", StringUtils.stripEnd(" ", null)); assertEquals(" abc", StringUtils.stripEnd(" abc ", null)); @@ -175,20 +175,20 @@ public void testStripEnd_StringString() { StringUtils.stripEnd(StringUtilsTest.WHITESPACE + StringUtilsTest.NON_WHITESPACE + StringUtilsTest.WHITESPACE, null)); // "" stripEnd - assertEquals(null, StringUtils.stripEnd(null, "")); + assertNull(StringUtils.stripEnd(null, "")); assertEquals("", StringUtils.stripEnd("", "")); assertEquals(" ", StringUtils.stripEnd(" ", "")); assertEquals(" abc ", StringUtils.stripEnd(" abc ", "")); assertEquals(StringUtilsTest.WHITESPACE, StringUtils.stripEnd(StringUtilsTest.WHITESPACE, "")); // " " stripEnd - assertEquals(null, StringUtils.stripEnd(null, " ")); + assertNull(StringUtils.stripEnd(null, " ")); assertEquals("", StringUtils.stripEnd("", " ")); assertEquals("", StringUtils.stripEnd(" ", " ")); assertEquals(" abc", StringUtils.stripEnd(" abc ", " ")); // "ab" stripEnd - assertEquals(null, StringUtils.stripEnd(null, "ab")); + assertNull(StringUtils.stripEnd(null, "ab")); assertEquals("", StringUtils.stripEnd("", "ab")); assertEquals(" ", StringUtils.stripEnd(" ", "ab")); assertEquals(" abc ", StringUtils.stripEnd(" abc ", "ab")); diff --git a/src/test/java/org/apache/commons/lang3/mutable/MutableObjectTest.java b/src/test/java/org/apache/commons/lang3/mutable/MutableObjectTest.java index 5050477943f..09e9b7d8cbc 100644 --- a/src/test/java/org/apache/commons/lang3/mutable/MutableObjectTest.java +++ b/src/test/java/org/apache/commons/lang3/mutable/MutableObjectTest.java @@ -18,6 +18,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; @@ -34,7 +35,7 @@ public class MutableObjectTest { // ---------------------------------------------------------------- @Test public void testConstructors() { - assertEquals(null, new MutableObject().getValue()); + assertNull(new MutableObject().getValue()); final Integer i = Integer.valueOf(6); assertSame(i, new MutableObject<>(i).getValue()); @@ -45,7 +46,7 @@ public void testConstructors() { @Test public void testGetSet() { final MutableObject mutNum = new MutableObject<>(); - assertEquals(null, new MutableObject<>().getValue()); + assertNull(new MutableObject<>().getValue()); mutNum.setValue("HELLO"); assertSame("HELLO", mutNum.getValue()); diff --git a/src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java b/src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java index 435ae420394..a17782d5eac 100644 --- a/src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java +++ b/src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java @@ -23,6 +23,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -184,7 +185,7 @@ public int read(final CharBuffer cb) throws IOException { @Test public void testGetSetNewLineText() { final StrBuilder sb = new StrBuilder(); - assertEquals(null, sb.getNewLineText()); + assertNull(sb.getNewLineText()); sb.setNewLineText("#"); assertEquals("#", sb.getNewLineText()); @@ -193,26 +194,26 @@ public void testGetSetNewLineText() { assertEquals("", sb.getNewLineText()); sb.setNewLineText(null); - assertEquals(null, sb.getNewLineText()); + assertNull(sb.getNewLineText()); } //----------------------------------------------------------------------- @Test public void testGetSetNullText() { final StrBuilder sb = new StrBuilder(); - assertEquals(null, sb.getNullText()); + assertNull(sb.getNullText()); sb.setNullText("null"); assertEquals("null", sb.getNullText()); sb.setNullText(""); - assertEquals(null, sb.getNullText()); + assertNull(sb.getNullText()); sb.setNullText("NULL"); assertEquals("NULL", sb.getNullText()); sb.setNullText(null); - assertEquals(null, sb.getNullText()); + assertNull(sb.getNullText()); } //----------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/lang3/text/StrLookupTest.java b/src/test/java/org/apache/commons/lang3/text/StrLookupTest.java index 29bd822726a..47a2d58d10e 100644 --- a/src/test/java/org/apache/commons/lang3/text/StrLookupTest.java +++ b/src/test/java/org/apache/commons/lang3/text/StrLookupTest.java @@ -18,6 +18,7 @@ package org.apache.commons.lang3.text; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; import static org.junit.Assert.fail; import java.util.HashMap; @@ -35,16 +36,16 @@ public class StrLookupTest { //----------------------------------------------------------------------- @Test public void testNoneLookup() { - assertEquals(null, StrLookup.noneLookup().lookup(null)); - assertEquals(null, StrLookup.noneLookup().lookup("")); - assertEquals(null, StrLookup.noneLookup().lookup("any")); + assertNull(StrLookup.noneLookup().lookup(null)); + assertNull(StrLookup.noneLookup().lookup("")); + assertNull(StrLookup.noneLookup().lookup("any")); } @Test public void testSystemPropertiesLookup() { assertEquals(System.getProperty("os.name"), StrLookup.systemPropertiesLookup().lookup("os.name")); - assertEquals(null, StrLookup.systemPropertiesLookup().lookup("")); - assertEquals(null, StrLookup.systemPropertiesLookup().lookup("other")); + assertNull(StrLookup.systemPropertiesLookup().lookup("")); + assertNull(StrLookup.systemPropertiesLookup().lookup("other")); try { StrLookup.systemPropertiesLookup().lookup(null); fail(); @@ -101,17 +102,17 @@ public void testMapLookup() { map.put("number", Integer.valueOf(2)); assertEquals("value", StrLookup.mapLookup(map).lookup("key")); assertEquals("2", StrLookup.mapLookup(map).lookup("number")); - assertEquals(null, StrLookup.mapLookup(map).lookup(null)); - assertEquals(null, StrLookup.mapLookup(map).lookup("")); - assertEquals(null, StrLookup.mapLookup(map).lookup("other")); + assertNull(StrLookup.mapLookup(map).lookup(null)); + assertNull(StrLookup.mapLookup(map).lookup("")); + assertNull(StrLookup.mapLookup(map).lookup("other")); } @Test public void testMapLookup_nullMap() { final Map map = null; - assertEquals(null, StrLookup.mapLookup(map).lookup(null)); - assertEquals(null, StrLookup.mapLookup(map).lookup("")); - assertEquals(null, StrLookup.mapLookup(map).lookup("any")); + assertNull(StrLookup.mapLookup(map).lookup(null)); + assertNull(StrLookup.mapLookup(map).lookup("")); + assertNull(StrLookup.mapLookup(map).lookup("any")); } } diff --git a/src/test/java/org/apache/commons/lang3/text/StrSubstitutorTest.java b/src/test/java/org/apache/commons/lang3/text/StrSubstitutorTest.java index 1e9c512afdd..78c55004459 100644 --- a/src/test/java/org/apache/commons/lang3/text/StrSubstitutorTest.java +++ b/src/test/java/org/apache/commons/lang3/text/StrSubstitutorTest.java @@ -717,15 +717,15 @@ private void doTestNoReplace(final String replaceTemplate) { final StrSubstitutor sub = new StrSubstitutor(values); if (replaceTemplate == null) { - assertEquals(null, sub.replace((String) null)); - assertEquals(null, sub.replace((String) null, 0, 100)); - assertEquals(null, sub.replace((char[]) null)); - assertEquals(null, sub.replace((char[]) null, 0, 100)); - assertEquals(null, sub.replace((StringBuffer) null)); - assertEquals(null, sub.replace((StringBuffer) null, 0, 100)); - assertEquals(null, sub.replace((StrBuilder) null)); - assertEquals(null, sub.replace((StrBuilder) null, 0, 100)); - assertEquals(null, sub.replace((Object) null)); + assertNull(sub.replace((String) null)); + assertNull(sub.replace((String) null, 0, 100)); + assertNull(sub.replace((char[]) null)); + assertNull(sub.replace((char[]) null, 0, 100)); + assertNull(sub.replace((StringBuffer) null)); + assertNull(sub.replace((StringBuffer) null, 0, 100)); + assertNull(sub.replace((StrBuilder) null)); + assertNull(sub.replace((StrBuilder) null, 0, 100)); + assertNull(sub.replace((Object) null)); assertFalse(sub.replaceIn((StringBuffer) null)); assertFalse(sub.replaceIn((StringBuffer) null, 0, 100)); assertFalse(sub.replaceIn((StrBuilder) null)); diff --git a/src/test/java/org/apache/commons/lang3/text/StrTokenizerTest.java b/src/test/java/org/apache/commons/lang3/text/StrTokenizerTest.java index 7325b7acf44..7ee0ae864aa 100644 --- a/src/test/java/org/apache/commons/lang3/text/StrTokenizerTest.java +++ b/src/test/java/org/apache/commons/lang3/text/StrTokenizerTest.java @@ -319,7 +319,7 @@ public void testBasicEmpty2() { tok.setIgnoreEmptyTokens(false); tok.setEmptyTokenAsNull(true); assertEquals("a", tok.next()); - assertEquals(null, tok.next()); + assertNull(tok.next()); assertEquals("b", tok.next()); assertEquals("c", tok.next()); assertFalse(tok.hasNext()); @@ -343,7 +343,7 @@ public void testBasicQuoted2() { tok.setEmptyTokenAsNull(true); assertEquals("a", tok.next()); assertEquals("b", tok.next()); - assertEquals(null, tok.next()); + assertNull(tok.next()); assertFalse(tok.hasNext()); } @@ -414,7 +414,7 @@ public void testBasicQuotedTrimmed1() { tok.setEmptyTokenAsNull(true); assertEquals("a", tok.next()); assertEquals("b", tok.next()); - assertEquals(null, tok.next()); + assertNull(tok.next()); assertFalse(tok.hasNext()); } @@ -427,7 +427,7 @@ public void testBasicTrimmed1() { tok.setEmptyTokenAsNull(true); assertEquals("a", tok.next()); assertEquals("b", tok.next()); - assertEquals(null, tok.next()); + assertNull(tok.next()); assertFalse(tok.hasNext()); } @@ -440,7 +440,7 @@ public void testBasicTrimmed2() { tok.setEmptyTokenAsNull(true); assertEquals("a", tok.next()); assertEquals("b", tok.next()); - assertEquals(null, tok.next()); + assertNull(tok.next()); assertFalse(tok.hasNext()); } @@ -454,7 +454,7 @@ public void testBasicIgnoreTrimmed1() { tok.setEmptyTokenAsNull(true); assertEquals("a", tok.next()); assertEquals("bc", tok.next()); - assertEquals(null, tok.next()); + assertNull(tok.next()); assertFalse(tok.hasNext()); } @@ -468,7 +468,7 @@ public void testBasicIgnoreTrimmed2() { tok.setEmptyTokenAsNull(true); assertEquals("a", tok.next()); assertEquals("bc", tok.next()); - assertEquals(null, tok.next()); + assertNull(tok.next()); assertFalse(tok.hasNext()); } @@ -495,7 +495,7 @@ public void testBasicIgnoreTrimmed4() { tok.setEmptyTokenAsNull(true); assertEquals("a", tok.next()); assertEquals("bIGNOREcd", tok.next()); - assertEquals(null, tok.next()); + assertNull(tok.next()); assertFalse(tok.hasNext()); } @@ -539,7 +539,7 @@ void testEmpty(final StrTokenizer tokenizer) { this.checkClone(tokenizer); assertFalse(tokenizer.hasNext()); assertFalse(tokenizer.hasPrevious()); - assertEquals(null, tokenizer.nextToken()); + assertNull(tokenizer.nextToken()); assertEquals(0, tokenizer.size()); try { tokenizer.next(); @@ -557,7 +557,7 @@ public void testGetContent() { assertEquals(input, tok.getContent()); tok = new StrTokenizer(); - assertEquals(null, tok.getContent()); + assertNull(tok.getContent()); } //----------------------------------------------------------------------- @@ -598,14 +598,14 @@ Object cloneReset() throws CloneNotSupportedException { public void testCloneNull() { final StrTokenizer tokenizer = new StrTokenizer((char[]) null); // Start sanity check - assertEquals(null, tokenizer.nextToken()); + assertNull(tokenizer.nextToken()); tokenizer.reset(); - assertEquals(null, tokenizer.nextToken()); + assertNull(tokenizer.nextToken()); // End sanity check final StrTokenizer clonedTokenizer = (StrTokenizer) tokenizer.clone(); tokenizer.reset(); - assertEquals(null, tokenizer.nextToken()); - assertEquals(null, clonedTokenizer.nextToken()); + assertNull(tokenizer.nextToken()); + assertNull(clonedTokenizer.nextToken()); } @Test @@ -780,14 +780,14 @@ void testXSVAbc(final StrTokenizer tokenizer) { this.checkClone(tokenizer); assertEquals(-1, tokenizer.previousIndex()); assertEquals(0, tokenizer.nextIndex()); - assertEquals(null, tokenizer.previousToken()); + assertNull(tokenizer.previousToken()); assertEquals("A", tokenizer.nextToken()); assertEquals(1, tokenizer.nextIndex()); assertEquals("b", tokenizer.nextToken()); assertEquals(2, tokenizer.nextIndex()); assertEquals("c", tokenizer.nextToken()); assertEquals(3, tokenizer.nextIndex()); - assertEquals(null, tokenizer.nextToken()); + assertNull(tokenizer.nextToken()); assertEquals(3, tokenizer.nextIndex()); assertEquals("c", tokenizer.previousToken()); assertEquals(2, tokenizer.nextIndex()); @@ -795,7 +795,7 @@ void testXSVAbc(final StrTokenizer tokenizer) { assertEquals(1, tokenizer.nextIndex()); assertEquals("A", tokenizer.previousToken()); assertEquals(0, tokenizer.nextIndex()); - assertEquals(null, tokenizer.previousToken()); + assertNull(tokenizer.previousToken()); assertEquals(0, tokenizer.nextIndex()); assertEquals(-1, tokenizer.previousIndex()); assertEquals(3, tokenizer.size()); diff --git a/src/test/java/org/apache/commons/lang3/text/WordUtilsTest.java b/src/test/java/org/apache/commons/lang3/text/WordUtilsTest.java index 32cf99af101..b311b3034e0 100644 --- a/src/test/java/org/apache/commons/lang3/text/WordUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/text/WordUtilsTest.java @@ -19,6 +19,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.lang.reflect.Constructor; @@ -46,8 +47,8 @@ public void testConstructor() { //----------------------------------------------------------------------- @Test public void testWrap_StringInt() { - assertEquals(null, WordUtils.wrap(null, 20)); - assertEquals(null, WordUtils.wrap(null, -1)); + assertNull(WordUtils.wrap(null, 20)); + assertNull(WordUtils.wrap(null, -1)); assertEquals("", WordUtils.wrap("", 20)); assertEquals("", WordUtils.wrap("", -1)); @@ -80,12 +81,12 @@ public void testWrap_StringInt() { @Test public void testWrap_StringIntStringBoolean() { - assertEquals(null, WordUtils.wrap(null, 20, "\n", false)); - assertEquals(null, WordUtils.wrap(null, 20, "\n", true)); - assertEquals(null, WordUtils.wrap(null, 20, null, true)); - assertEquals(null, WordUtils.wrap(null, 20, null, false)); - assertEquals(null, WordUtils.wrap(null, -1, null, true)); - assertEquals(null, WordUtils.wrap(null, -1, null, false)); + assertNull(WordUtils.wrap(null, 20, "\n", false)); + assertNull(WordUtils.wrap(null, 20, "\n", true)); + assertNull(WordUtils.wrap(null, 20, null, true)); + assertNull(WordUtils.wrap(null, 20, null, false)); + assertNull(WordUtils.wrap(null, -1, null, true)); + assertNull(WordUtils.wrap(null, -1, null, false)); assertEquals("", WordUtils.wrap("", 20, "\n", false)); assertEquals("", WordUtils.wrap("", 20, "\n", true)); @@ -184,7 +185,7 @@ public void testWrap_StringIntStringBooleanString() { //----------------------------------------------------------------------- @Test public void testCapitalize_String() { - assertEquals(null, WordUtils.capitalize(null)); + assertNull(WordUtils.capitalize(null)); assertEquals("", WordUtils.capitalize("")); assertEquals(" ", WordUtils.capitalize(" ")); @@ -198,7 +199,7 @@ public void testCapitalize_String() { @Test public void testCapitalizeWithDelimiters_String() { - assertEquals(null, WordUtils.capitalize(null, null)); + assertNull(WordUtils.capitalize(null, null)); assertEquals("", WordUtils.capitalize("", new char[0])); assertEquals(" ", WordUtils.capitalize(" ", new char[0])); @@ -216,7 +217,7 @@ public void testCapitalizeWithDelimiters_String() { @Test public void testCapitalizeFully_String() { - assertEquals(null, WordUtils.capitalizeFully(null)); + assertNull(WordUtils.capitalizeFully(null)); assertEquals("", WordUtils.capitalizeFully("")); assertEquals(" ", WordUtils.capitalizeFully(" ")); @@ -230,7 +231,7 @@ public void testCapitalizeFully_String() { @Test public void testCapitalizeFullyWithDelimiters_String() { - assertEquals(null, WordUtils.capitalizeFully(null, null)); + assertNull(WordUtils.capitalizeFully(null, null)); assertEquals("", WordUtils.capitalizeFully("", new char[0])); assertEquals(" ", WordUtils.capitalizeFully(" ", new char[0])); @@ -268,7 +269,7 @@ public void testContainsAllWords_StringString() { @Test public void testUncapitalize_String() { - assertEquals(null, WordUtils.uncapitalize(null)); + assertNull(WordUtils.uncapitalize(null)); assertEquals("", WordUtils.uncapitalize("")); assertEquals(" ", WordUtils.uncapitalize(" ")); @@ -282,7 +283,7 @@ public void testUncapitalize_String() { @Test public void testUncapitalizeWithDelimiters_String() { - assertEquals(null, WordUtils.uncapitalize(null, null)); + assertNull(WordUtils.uncapitalize(null, null)); assertEquals("", WordUtils.uncapitalize("", new char[0])); assertEquals(" ", WordUtils.uncapitalize(" ", new char[0])); @@ -301,7 +302,7 @@ public void testUncapitalizeWithDelimiters_String() { //----------------------------------------------------------------------- @Test public void testInitials_String() { - assertEquals(null, WordUtils.initials(null)); + assertNull(WordUtils.initials(null)); assertEquals("", WordUtils.initials("")); assertEquals("", WordUtils.initials(" ")); @@ -318,7 +319,7 @@ public void testInitials_String() { @Test public void testInitials_String_charArray() { char[] array = null; - assertEquals(null, WordUtils.initials(null, array)); + assertNull(WordUtils.initials(null, array)); assertEquals("", WordUtils.initials("", array)); assertEquals("", WordUtils.initials(" ", array)); assertEquals("I", WordUtils.initials("I", array)); @@ -332,7 +333,7 @@ public void testInitials_String_charArray() { assertEquals("iah1", WordUtils.initials("i am here 123", array)); array = new char[0]; - assertEquals(null, WordUtils.initials(null, array)); + assertNull(WordUtils.initials(null, array)); assertEquals("", WordUtils.initials("", array)); assertEquals("", WordUtils.initials(" ", array)); assertEquals("", WordUtils.initials("I", array)); @@ -346,7 +347,7 @@ public void testInitials_String_charArray() { assertEquals("", WordUtils.initials("i am here 123", array)); array = " ".toCharArray(); - assertEquals(null, WordUtils.initials(null, array)); + assertNull(WordUtils.initials(null, array)); assertEquals("", WordUtils.initials("", array)); assertEquals("", WordUtils.initials(" ", array)); assertEquals("I", WordUtils.initials("I", array)); @@ -360,7 +361,7 @@ public void testInitials_String_charArray() { assertEquals("iah1", WordUtils.initials("i am here 123", array)); array = " .".toCharArray(); - assertEquals(null, WordUtils.initials(null, array)); + assertNull(WordUtils.initials(null, array)); assertEquals("", WordUtils.initials("", array)); assertEquals("", WordUtils.initials(" ", array)); assertEquals("I", WordUtils.initials("I", array)); @@ -373,7 +374,7 @@ public void testInitials_String_charArray() { assertEquals("iah1", WordUtils.initials("i am here 123", array)); array = " .'".toCharArray(); - assertEquals(null, WordUtils.initials(null, array)); + assertNull(WordUtils.initials(null, array)); assertEquals("", WordUtils.initials("", array)); assertEquals("", WordUtils.initials(" ", array)); assertEquals("I", WordUtils.initials("I", array)); @@ -386,7 +387,7 @@ public void testInitials_String_charArray() { assertEquals("iah1", WordUtils.initials("i am here 123", array)); array = "SIJo1".toCharArray(); - assertEquals(null, WordUtils.initials(null, array)); + assertNull(WordUtils.initials(null, array)); assertEquals("", WordUtils.initials("", array)); assertEquals(" ", WordUtils.initials(" ", array)); assertEquals("", WordUtils.initials("I", array)); @@ -402,7 +403,7 @@ public void testInitials_String_charArray() { // ----------------------------------------------------------------------- @Test public void testSwapCase_String() { - assertEquals(null, WordUtils.swapCase(null)); + assertNull(WordUtils.swapCase(null)); assertEquals("", WordUtils.swapCase("")); assertEquals(" ", WordUtils.swapCase(" ")); From 729bcc46b503c1574c7c93a65e902f436b4ec6ec Mon Sep 17 00:00:00 2001 From: pascalschumacher Date: Sun, 15 Oct 2017 11:00:04 +0200 Subject: [PATCH 0048/3439] use assertTrue and assertFalse --- src/test/java/org/apache/commons/lang3/RangeTest.java | 4 ++-- .../translate/UnicodeUnpairedSurrogateRemoverTest.java | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/test/java/org/apache/commons/lang3/RangeTest.java b/src/test/java/org/apache/commons/lang3/RangeTest.java index a8d7e1b2bb4..e41fae944cd 100644 --- a/src/test/java/org/apache/commons/lang3/RangeTest.java +++ b/src/test/java/org/apache/commons/lang3/RangeTest.java @@ -71,8 +71,8 @@ public int compareTo(final Object other) { }; final Range r1 = Range.is(c); final Range r2 = Range.between(c, c); - assertEquals(true, r1.isNaturalOrdering()); - assertEquals(true, r2.isNaturalOrdering()); + assertTrue(r1.isNaturalOrdering()); + assertTrue(r2.isNaturalOrdering()); } @Test diff --git a/src/test/java/org/apache/commons/lang3/text/translate/UnicodeUnpairedSurrogateRemoverTest.java b/src/test/java/org/apache/commons/lang3/text/translate/UnicodeUnpairedSurrogateRemoverTest.java index fc89911662a..d78b4b7f54a 100644 --- a/src/test/java/org/apache/commons/lang3/text/translate/UnicodeUnpairedSurrogateRemoverTest.java +++ b/src/test/java/org/apache/commons/lang3/text/translate/UnicodeUnpairedSurrogateRemoverTest.java @@ -17,6 +17,8 @@ package org.apache.commons.lang3.text.translate; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import java.io.CharArrayWriter; import java.io.IOException; @@ -32,15 +34,15 @@ public class UnicodeUnpairedSurrogateRemoverTest { @Test public void testValidCharacters() throws IOException { - assertEquals(false, subject.translate(0xd7ff, writer)); - assertEquals(false, subject.translate(0xe000, writer)); + assertFalse(subject.translate(0xd7ff, writer)); + assertFalse(subject.translate(0xe000, writer)); assertEquals(0, writer.size()); } @Test public void testInvalidCharacters() throws IOException { - assertEquals(true, subject.translate(0xd800, writer)); - assertEquals(true, subject.translate(0xdfff, writer)); + assertTrue(subject.translate(0xd800, writer)); + assertTrue(subject.translate(0xdfff, writer)); assertEquals(0, writer.size()); } } From 1f0dfc31b51a445eb2cfbee5321800cf51e10b67 Mon Sep 17 00:00:00 2001 From: pascalschumacher Date: Sun, 15 Oct 2017 15:57:44 +0200 Subject: [PATCH 0049/3439] Always use static imports for assertion methods to be consistent with other tests classes. --- .../apache/commons/lang3/ArrayUtilsTest.java | 49 ++- .../commons/lang3/SerializationUtilsTest.java | 3 +- .../apache/commons/lang3/SystemUtilsTest.java | 19 +- ...lectionToStringBuilderConcurrencyTest.java | 4 +- .../ReflectionToStringBuilderExcludeTest.java | 13 +- .../lang3/exception/ExceptionUtilsTest.java | 25 +- .../lang3/reflect/MethodUtilsTest.java | 21 +- .../commons/lang3/reflect/TypeUtilsTest.java | 352 +++++++++--------- .../lang3/time/FastDateFormatTest.java | 5 +- .../lang3/time/FastDateParserTest.java | 26 +- .../time/FastDateParser_MoreOrLessTest.java | 49 +-- .../FastDateParser_TimeZoneStrategyTest.java | 8 +- .../commons/lang3/time/FastTimeZoneTest.java | 53 +-- .../commons/lang3/time/GmtTimeZoneTest.java | 30 +- .../commons/lang3/time/StopWatchTest.java | 3 +- .../commons/lang3/time/WeekYearTest.java | 7 +- 16 files changed, 338 insertions(+), 329 deletions(-) diff --git a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java index e6f94fcd19b..7d02891ae5b 100644 --- a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java @@ -33,7 +33,6 @@ import java.util.Date; import java.util.Map; -import org.junit.Assert; import org.junit.Test; /** @@ -4968,12 +4967,12 @@ public void testIsSortedBool() { @Test public void testCreatePrimitiveArray() { - Assert.assertNull(ArrayUtils.toPrimitive((Object[]) null)); - Assert.assertArrayEquals(new int[]{}, ArrayUtils.toPrimitive(new Integer[]{})); - Assert.assertArrayEquals(new short[]{2}, ArrayUtils.toPrimitive(new Short[]{2})); - Assert.assertArrayEquals(new long[]{2, 3}, ArrayUtils.toPrimitive(new Long[]{2L, 3L})); - Assert.assertArrayEquals(new float[]{3.14f}, ArrayUtils.toPrimitive(new Float[]{3.14f}), 0.1f); - Assert.assertArrayEquals(new double[]{2.718}, ArrayUtils.toPrimitive(new Double[]{2.718}), 0.1); + assertNull(ArrayUtils.toPrimitive((Object[]) null)); + assertArrayEquals(new int[]{}, ArrayUtils.toPrimitive(new Integer[]{})); + assertArrayEquals(new short[]{2}, ArrayUtils.toPrimitive(new Short[]{2})); + assertArrayEquals(new long[]{2, 3}, ArrayUtils.toPrimitive(new Long[]{2L, 3L})); + assertArrayEquals(new float[]{3.14f}, ArrayUtils.toPrimitive(new Float[]{3.14f}), 0.1f); + assertArrayEquals(new double[]{2.718}, ArrayUtils.toPrimitive(new Double[]{2.718}), 0.1); } @Test @@ -5009,9 +5008,9 @@ public void testShuffle() { String[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); - Assert.assertFalse(Arrays.equals(array1, array2)); + assertFalse(Arrays.equals(array1, array2)); for (String element : array2) { - Assert.assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); + assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); } } @@ -5021,8 +5020,8 @@ public void testShuffleBoolean() { boolean[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); - Assert.assertFalse(Arrays.equals(array1, array2)); - Assert.assertEquals(5, ArrayUtils.removeAllOccurences(array1, true).length); + assertFalse(Arrays.equals(array1, array2)); + assertEquals(5, ArrayUtils.removeAllOccurences(array1, true).length); } @Test @@ -5031,9 +5030,9 @@ public void testShuffleByte() { byte[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); - Assert.assertFalse(Arrays.equals(array1, array2)); + assertFalse(Arrays.equals(array1, array2)); for (byte element : array2) { - Assert.assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); + assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); } } @@ -5043,9 +5042,9 @@ public void testShuffleChar() { char[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); - Assert.assertFalse(Arrays.equals(array1, array2)); + assertFalse(Arrays.equals(array1, array2)); for (char element : array2) { - Assert.assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); + assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); } } @@ -5055,9 +5054,9 @@ public void testShuffleShort() { short[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); - Assert.assertFalse(Arrays.equals(array1, array2)); + assertFalse(Arrays.equals(array1, array2)); for (short element : array2) { - Assert.assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); + assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); } } @@ -5067,9 +5066,9 @@ public void testShuffleInt() { int[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); - Assert.assertFalse(Arrays.equals(array1, array2)); + assertFalse(Arrays.equals(array1, array2)); for (int element : array2) { - Assert.assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); + assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); } } @@ -5079,9 +5078,9 @@ public void testShuffleLong() { long[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); - Assert.assertFalse(Arrays.equals(array1, array2)); + assertFalse(Arrays.equals(array1, array2)); for (long element : array2) { - Assert.assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); + assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); } } @@ -5091,9 +5090,9 @@ public void testShuffleFloat() { float[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); - Assert.assertFalse(Arrays.equals(array1, array2)); + assertFalse(Arrays.equals(array1, array2)); for (float element : array2) { - Assert.assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); + assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); } } @@ -5103,9 +5102,9 @@ public void testShuffleDouble() { double[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); - Assert.assertFalse(Arrays.equals(array1, array2)); + assertFalse(Arrays.equals(array1, array2)); for (double element : array2) { - Assert.assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); + assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); } } } diff --git a/src/test/java/org/apache/commons/lang3/SerializationUtilsTest.java b/src/test/java/org/apache/commons/lang3/SerializationUtilsTest.java index 4912ece9c2f..cc2614fb074 100644 --- a/src/test/java/org/apache/commons/lang3/SerializationUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/SerializationUtilsTest.java @@ -36,7 +36,6 @@ import java.lang.reflect.Modifier; import java.util.HashMap; -import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -211,7 +210,7 @@ public void testDeserializeStream() throws Exception { public void testDeserializeClassCastException() { final String value = "Hello"; final byte[] serialized = SerializationUtils.serialize(value); - Assert.assertEquals(value, SerializationUtils.deserialize(serialized)); + assertEquals(value, SerializationUtils.deserialize(serialized)); // Causes ClassCastException in call site, not in SerializationUtils.deserialize @SuppressWarnings("unused") // needed to cause Exception final Integer i = SerializationUtils.deserialize(serialized); diff --git a/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java b/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java index 3d9d024fe97..57afe517272 100644 --- a/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java @@ -38,7 +38,6 @@ import java.lang.reflect.Modifier; import java.util.Locale; -import org.junit.Assert; import org.junit.Test; /** @@ -62,7 +61,7 @@ public void testConstructor() { public void testGetHostName() { final String hostName = SystemUtils.getHostName(); String expected = SystemUtils.IS_OS_WINDOWS ? System.getenv("COMPUTERNAME") : System.getenv("HOSTNAME"); - Assert.assertEquals(expected, hostName); + assertEquals(expected, hostName); } /** @@ -71,8 +70,8 @@ public void testGetHostName() { @Test public void testGetJavaHome() { final File dir = SystemUtils.getJavaHome(); - Assert.assertNotNull(dir); - Assert.assertTrue(dir.exists()); + assertNotNull(dir); + assertTrue(dir.exists()); } /** @@ -81,8 +80,8 @@ public void testGetJavaHome() { @Test public void testGetJavaIoTmpDir() { final File dir = SystemUtils.getJavaIoTmpDir(); - Assert.assertNotNull(dir); - Assert.assertTrue(dir.exists()); + assertNotNull(dir); + assertTrue(dir.exists()); } /** @@ -91,8 +90,8 @@ public void testGetJavaIoTmpDir() { @Test public void testGetUserDir() { final File dir = SystemUtils.getUserDir(); - Assert.assertNotNull(dir); - Assert.assertTrue(dir.exists()); + assertNotNull(dir); + assertTrue(dir.exists()); } /** @@ -101,8 +100,8 @@ public void testGetUserDir() { @Test public void testGetUserHome() { final File dir = SystemUtils.getUserHome(); - Assert.assertNotNull(dir); - Assert.assertTrue(dir.exists()); + assertNotNull(dir); + assertTrue(dir.exists()); } @Test diff --git a/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderConcurrencyTest.java b/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderConcurrencyTest.java index 7cd899e8a50..6f076505f40 100644 --- a/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderConcurrencyTest.java +++ b/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderConcurrencyTest.java @@ -17,6 +17,8 @@ package org.apache.commons.lang3.builder; +import static org.junit.Assert.assertEquals; + import java.util.ArrayList; import java.util.Collection; import java.util.LinkedList; @@ -113,7 +115,7 @@ public Integer call() { tasks.add(producer); final List> futures = threadPool.invokeAll(tasks); for (final Future future : futures) { - Assert.assertEquals(REPEAT, future.get().intValue()); + assertEquals(REPEAT, future.get().intValue()); } threadPool.shutdown(); threadPool.awaitTermination(1, TimeUnit.SECONDS); diff --git a/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeTest.java b/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeTest.java index 005f4b855c2..c0fa90112a1 100644 --- a/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeTest.java +++ b/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeTest.java @@ -17,12 +17,13 @@ package org.apache.commons.lang3.builder; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import java.util.ArrayList; import java.util.Collection; import java.util.List; -import org.junit.Assert; - import org.apache.commons.lang3.ArrayUtils; import org.junit.Test; @@ -120,17 +121,17 @@ public void test_toStringExcludeNullCollection() { } private void validateNonSecretField(final String toString) { - Assert.assertTrue(toString.contains(NOT_SECRET_FIELD)); - Assert.assertTrue(toString.contains(NOT_SECRET_VALUE)); + assertTrue(toString.contains(NOT_SECRET_FIELD)); + assertTrue(toString.contains(NOT_SECRET_VALUE)); } private void validateSecretFieldAbsent(final String toString) { - Assert.assertEquals(ArrayUtils.INDEX_NOT_FOUND, toString.indexOf(SECRET_VALUE)); + assertEquals(ArrayUtils.INDEX_NOT_FOUND, toString.indexOf(SECRET_VALUE)); this.validateNonSecretField(toString); } private void validateSecretFieldPresent(final String toString) { - Assert.assertTrue(toString.indexOf(SECRET_VALUE) > 0); + assertTrue(toString.indexOf(SECRET_VALUE) > 0); this.validateNonSecretField(toString); } } diff --git a/src/test/java/org/apache/commons/lang3/exception/ExceptionUtilsTest.java b/src/test/java/org/apache/commons/lang3/exception/ExceptionUtilsTest.java index aa69ce74371..d6fb98a6609 100644 --- a/src/test/java/org/apache/commons/lang3/exception/ExceptionUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/exception/ExceptionUtilsTest.java @@ -34,7 +34,6 @@ import org.apache.commons.lang3.test.NotVisibleExceptionFactory; import org.junit.After; -import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -544,9 +543,9 @@ public void testThrow() { final Exception expected = new InterruptedException(); try { ExceptionUtils.rethrow(expected); - Assert.fail("Exception not thrown"); + fail("Exception not thrown"); } catch (final Exception actual) { - Assert.assertSame(expected, actual); + assertSame(expected, actual); } } @@ -554,7 +553,7 @@ public void testThrow() { public void testCatchTechniques() { try { throwsCheckedException(); - Assert.fail("Exception not thrown"); + fail("Exception not thrown"); } catch (final Exception ioe) { assertTrue(ioe instanceof IOException); assertEquals(1, ExceptionUtils.getThrowableCount(ioe)); @@ -562,7 +561,7 @@ public void testCatchTechniques() { try { redeclareCheckedException(); - Assert.fail("Exception not thrown"); + fail("Exception not thrown"); } catch (final IOException ioe) { assertEquals(1, ExceptionUtils.getThrowableCount(ioe)); } @@ -588,9 +587,9 @@ public static class TestThrowable extends Throwable { public void testWrapAndUnwrapError() { try { ExceptionUtils.wrapAndThrow(new OutOfMemoryError()); - Assert.fail("Error not thrown"); + fail("Error not thrown"); } catch (final Throwable t) { - Assert.assertTrue(ExceptionUtils.hasCause(t, Error.class)); + assertTrue(ExceptionUtils.hasCause(t, Error.class)); } } @@ -598,9 +597,9 @@ public void testWrapAndUnwrapError() { public void testWrapAndUnwrapRuntimeException() { try { ExceptionUtils.wrapAndThrow(new IllegalArgumentException()); - Assert.fail("RuntimeException not thrown"); + fail("RuntimeException not thrown"); } catch (final Throwable t) { - Assert.assertTrue(ExceptionUtils.hasCause(t, RuntimeException.class)); + assertTrue(ExceptionUtils.hasCause(t, RuntimeException.class)); } } @@ -608,9 +607,9 @@ public void testWrapAndUnwrapRuntimeException() { public void testWrapAndUnwrapCheckedException() { try { ExceptionUtils.wrapAndThrow(new IOException()); - Assert.fail("Checked Exception not thrown"); + fail("Checked Exception not thrown"); } catch (final Throwable t) { - Assert.assertTrue(ExceptionUtils.hasCause(t, IOException.class)); + assertTrue(ExceptionUtils.hasCause(t, IOException.class)); } } @@ -618,9 +617,9 @@ public void testWrapAndUnwrapCheckedException() { public void testWrapAndUnwrapThrowable() { try { ExceptionUtils.wrapAndThrow(new TestThrowable()); - Assert.fail("Checked Exception not thrown"); + fail("Checked Exception not thrown"); } catch (final Throwable t) { - Assert.assertTrue(ExceptionUtils.hasCause(t, TestThrowable.class)); + assertTrue(ExceptionUtils.hasCause(t, TestThrowable.class)); } } } diff --git a/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java b/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java index 5f2943087df..24380d7d194 100644 --- a/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java @@ -50,7 +50,6 @@ import org.apache.commons.lang3.reflect.testbed.PublicChild; import org.apache.commons.lang3.reflect.testbed.StringParameterizedChild; import org.apache.commons.lang3.tuple.ImmutablePair; -import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -986,20 +985,20 @@ private static class MethodDescriptor { public void testVarArgsUnboxing() throws Exception { final TestBean testBean = new TestBean(); final int[] actual = (int[]) MethodUtils.invokeMethod(testBean, "unboxing", Integer.valueOf(1), Integer.valueOf(2)); - Assert.assertArrayEquals(new int[]{1, 2}, actual); + assertArrayEquals(new int[]{1, 2}, actual); } @Test public void testInvokeMethodForceAccessNoArgs() throws Exception { - Assert.assertEquals("privateStringStuff()", MethodUtils.invokeMethod(testBean, true, "privateStringStuff")); + assertEquals("privateStringStuff()", MethodUtils.invokeMethod(testBean, true, "privateStringStuff")); } @Test public void testInvokeMethodForceAccessWithArgs() throws Exception { - Assert.assertEquals("privateStringStuff(Integer)", MethodUtils.invokeMethod(testBean, true, "privateStringStuff", 5)); - Assert.assertEquals("privateStringStuff(double)", MethodUtils.invokeMethod(testBean, true, "privateStringStuff", 5.0d)); - Assert.assertEquals("privateStringStuff(String)", MethodUtils.invokeMethod(testBean, true, "privateStringStuff", "Hi There")); - Assert.assertEquals("privateStringStuff(Object)", MethodUtils.invokeMethod(testBean, true, "privateStringStuff", new Date())); + assertEquals("privateStringStuff(Integer)", MethodUtils.invokeMethod(testBean, true, "privateStringStuff", 5)); + assertEquals("privateStringStuff(double)", MethodUtils.invokeMethod(testBean, true, "privateStringStuff", 5.0d)); + assertEquals("privateStringStuff(String)", MethodUtils.invokeMethod(testBean, true, "privateStringStuff", "Hi There")); + assertEquals("privateStringStuff(Object)", MethodUtils.invokeMethod(testBean, true, "privateStringStuff", new Date())); } @Test @@ -1007,10 +1006,10 @@ public void testDistance() throws Exception { final Method distanceMethod = MethodUtils.getMatchingMethod(MethodUtils.class, "distance", Class[].class, Class[].class); distanceMethod.setAccessible(true); - Assert.assertEquals(-1, distanceMethod.invoke(null, new Class[]{String.class}, new Class[]{Date.class})); - Assert.assertEquals(0, distanceMethod.invoke(null, new Class[]{Date.class}, new Class[]{Date.class})); - Assert.assertEquals(1, distanceMethod.invoke(null, new Class[]{Integer.class}, new Class[]{ClassUtils.wrapperToPrimitive(Integer.class)})); - Assert.assertEquals(2, distanceMethod.invoke(null, new Class[]{Integer.class}, new Class[]{Object.class})); + assertEquals(-1, distanceMethod.invoke(null, new Class[]{String.class}, new Class[]{Date.class})); + assertEquals(0, distanceMethod.invoke(null, new Class[]{Date.class}, new Class[]{Date.class})); + assertEquals(1, distanceMethod.invoke(null, new Class[]{Integer.class}, new Class[]{ClassUtils.wrapperToPrimitive(Integer.class)})); + assertEquals(2, distanceMethod.invoke(null, new Class[]{Integer.class}, new Class[]{Object.class})); distanceMethod.setAccessible(false); } diff --git a/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java b/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java index eea6b87c59d..5d8a46c4631 100644 --- a/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java @@ -16,6 +16,12 @@ */ package org.apache.commons.lang3.reflect; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + import java.io.Serializable; import java.lang.reflect.Field; import java.lang.reflect.GenericArrayType; @@ -37,7 +43,6 @@ import org.apache.commons.lang3.reflect.testbed.GenericParent; import org.apache.commons.lang3.reflect.testbed.GenericTypeHolder; import org.apache.commons.lang3.reflect.testbed.StringParameterizedChild; -import org.junit.Assert; import org.junit.Test; /** @@ -341,24 +346,24 @@ public void testIsAssignable() throws SecurityException, NoSuchMethodException, final Type dat2Type = getClass().getField("dat2").getGenericType(); final Type dat3Type = getClass().getField("dat3").getGenericType(); dis = dat; - Assert.assertTrue(TypeUtils.isAssignable(datType, disType)); + assertTrue(TypeUtils.isAssignable(datType, disType)); // dis = da; - Assert.assertFalse(TypeUtils.isAssignable(daType, disType)); + assertFalse(TypeUtils.isAssignable(daType, disType)); dis = uhder; - Assert.assertTrue(TypeUtils.isAssignable(uhderType, disType)); + assertTrue(TypeUtils.isAssignable(uhderType, disType)); dis = ding; - Assert.assertFalse(String.format("type %s not assignable to %s!", dingType, disType), + assertFalse(String.format("type %s not assignable to %s!", dingType, disType), TypeUtils.isAssignable(dingType, disType)); dis = tester; - Assert.assertTrue(TypeUtils.isAssignable(testerType, disType)); + assertTrue(TypeUtils.isAssignable(testerType, disType)); // dis = tester2; - Assert.assertFalse(TypeUtils.isAssignable(tester2Type, disType)); + assertFalse(TypeUtils.isAssignable(tester2Type, disType)); // dat = dat2; - Assert.assertFalse(TypeUtils.isAssignable(dat2Type, datType)); + assertFalse(TypeUtils.isAssignable(dat2Type, datType)); // dat2 = dat; - Assert.assertFalse(TypeUtils.isAssignable(datType, dat2Type)); + assertFalse(TypeUtils.isAssignable(datType, dat2Type)); // dat = dat3; - Assert.assertFalse(TypeUtils.isAssignable(dat3Type, datType)); + assertFalse(TypeUtils.isAssignable(dat3Type, datType)); final char ch = 0; final boolean bo = false; final byte by = 0; @@ -368,57 +373,57 @@ public void testIsAssignable() throws SecurityException, NoSuchMethodException, final float fl = 0; double du = 0; du = ch; - Assert.assertTrue(TypeUtils.isAssignable(char.class, double.class)); + assertTrue(TypeUtils.isAssignable(char.class, double.class)); du = by; - Assert.assertTrue(TypeUtils.isAssignable(byte.class, double.class)); + assertTrue(TypeUtils.isAssignable(byte.class, double.class)); du = sh; - Assert.assertTrue(TypeUtils.isAssignable(short.class, double.class)); + assertTrue(TypeUtils.isAssignable(short.class, double.class)); du = in; - Assert.assertTrue(TypeUtils.isAssignable(int.class, double.class)); + assertTrue(TypeUtils.isAssignable(int.class, double.class)); du = lo; - Assert.assertTrue(TypeUtils.isAssignable(long.class, double.class)); + assertTrue(TypeUtils.isAssignable(long.class, double.class)); du = fl; - Assert.assertTrue(TypeUtils.isAssignable(float.class, double.class)); + assertTrue(TypeUtils.isAssignable(float.class, double.class)); lo = in; - Assert.assertTrue(TypeUtils.isAssignable(int.class, long.class)); + assertTrue(TypeUtils.isAssignable(int.class, long.class)); lo = Integer.valueOf(0); - Assert.assertTrue(TypeUtils.isAssignable(Integer.class, long.class)); + assertTrue(TypeUtils.isAssignable(Integer.class, long.class)); // Long lngW = 1; - Assert.assertFalse(TypeUtils.isAssignable(int.class, Long.class)); + assertFalse(TypeUtils.isAssignable(int.class, Long.class)); // lngW = Integer.valueOf( 0 ); - Assert.assertFalse(TypeUtils.isAssignable(Integer.class, Long.class)); + assertFalse(TypeUtils.isAssignable(Integer.class, Long.class)); in = Integer.valueOf(0); - Assert.assertTrue(TypeUtils.isAssignable(Integer.class, int.class)); + assertTrue(TypeUtils.isAssignable(Integer.class, int.class)); final Integer inte = in; - Assert.assertTrue(TypeUtils.isAssignable(int.class, Integer.class)); - Assert.assertTrue(TypeUtils.isAssignable(int.class, Number.class)); - Assert.assertTrue(TypeUtils.isAssignable(int.class, Object.class)); + assertTrue(TypeUtils.isAssignable(int.class, Integer.class)); + assertTrue(TypeUtils.isAssignable(int.class, Number.class)); + assertTrue(TypeUtils.isAssignable(int.class, Object.class)); final Type intComparableType = getClass().getField("intComparable").getGenericType(); intComparable = 1; - Assert.assertTrue(TypeUtils.isAssignable(int.class, intComparableType)); - Assert.assertTrue(TypeUtils.isAssignable(int.class, Comparable.class)); + assertTrue(TypeUtils.isAssignable(int.class, intComparableType)); + assertTrue(TypeUtils.isAssignable(int.class, Comparable.class)); final Serializable ser = 1; - Assert.assertTrue(TypeUtils.isAssignable(int.class, Serializable.class)); + assertTrue(TypeUtils.isAssignable(int.class, Serializable.class)); final Type longComparableType = getClass().getField("longComparable").getGenericType(); // longComparable = 1; - Assert.assertFalse(TypeUtils.isAssignable(int.class, longComparableType)); + assertFalse(TypeUtils.isAssignable(int.class, longComparableType)); // longComparable = Integer.valueOf( 0 ); - Assert.assertFalse(TypeUtils.isAssignable(Integer.class, longComparableType)); + assertFalse(TypeUtils.isAssignable(Integer.class, longComparableType)); // int[] ia; // long[] la = ia; - Assert.assertFalse(TypeUtils.isAssignable(int[].class, long[].class)); + assertFalse(TypeUtils.isAssignable(int[].class, long[].class)); final Integer[] ia = null; final Type caType = getClass().getField("intWildcardComparable").getGenericType(); intWildcardComparable = ia; - Assert.assertTrue(TypeUtils.isAssignable(Integer[].class, caType)); + assertTrue(TypeUtils.isAssignable(Integer[].class, caType)); // int[] ina = ia; - Assert.assertFalse(TypeUtils.isAssignable(Integer[].class, int[].class)); + assertFalse(TypeUtils.isAssignable(Integer[].class, int[].class)); final int[] ina = null; Object[] oa; // oa = ina; - Assert.assertFalse(TypeUtils.isAssignable(int[].class, Object[].class)); + assertFalse(TypeUtils.isAssignable(int[].class, Object[].class)); oa = new Integer[0]; - Assert.assertTrue(TypeUtils.isAssignable(Integer[].class, Object[].class)); + assertTrue(TypeUtils.isAssignable(Integer[].class, Object[].class)); final Type bClassType = AClass.class.getField("bClass").getGenericType(); final Type cClassType = AClass.class.getField("cClass").getGenericType(); final Type dClassType = AClass.class.getField("dClass").getGenericType(); @@ -426,25 +431,25 @@ public void testIsAssignable() throws SecurityException, NoSuchMethodException, final Type fClassType = AClass.class.getField("fClass").getGenericType(); final AClass aClass = new AClass(new AAClass()); aClass.bClass = aClass.cClass; - Assert.assertTrue(TypeUtils.isAssignable(cClassType, bClassType)); + assertTrue(TypeUtils.isAssignable(cClassType, bClassType)); aClass.bClass = aClass.dClass; - Assert.assertTrue(TypeUtils.isAssignable(dClassType, bClassType)); + assertTrue(TypeUtils.isAssignable(dClassType, bClassType)); aClass.bClass = aClass.eClass; - Assert.assertTrue(TypeUtils.isAssignable(eClassType, bClassType)); + assertTrue(TypeUtils.isAssignable(eClassType, bClassType)); aClass.bClass = aClass.fClass; - Assert.assertTrue(TypeUtils.isAssignable(fClassType, bClassType)); + assertTrue(TypeUtils.isAssignable(fClassType, bClassType)); aClass.cClass = aClass.dClass; - Assert.assertTrue(TypeUtils.isAssignable(dClassType, cClassType)); + assertTrue(TypeUtils.isAssignable(dClassType, cClassType)); aClass.cClass = aClass.eClass; - Assert.assertTrue(TypeUtils.isAssignable(eClassType, cClassType)); + assertTrue(TypeUtils.isAssignable(eClassType, cClassType)); aClass.cClass = aClass.fClass; - Assert.assertTrue(TypeUtils.isAssignable(fClassType, cClassType)); + assertTrue(TypeUtils.isAssignable(fClassType, cClassType)); aClass.dClass = aClass.eClass; - Assert.assertTrue(TypeUtils.isAssignable(eClassType, dClassType)); + assertTrue(TypeUtils.isAssignable(eClassType, dClassType)); aClass.dClass = aClass.fClass; - Assert.assertTrue(TypeUtils.isAssignable(fClassType, dClassType)); + assertTrue(TypeUtils.isAssignable(fClassType, dClassType)); aClass.eClass = aClass.fClass; - Assert.assertTrue(TypeUtils.isAssignable(fClassType, eClassType)); + assertTrue(TypeUtils.isAssignable(fClassType, eClassType)); } public void delegateBooleanAssertion(final Type[] types, final int i2, final int i1, final boolean expected) { @@ -453,11 +458,11 @@ public void delegateBooleanAssertion(final Type[] types, final int i2, final int final boolean isAssignable = TypeUtils.isAssignable(type2, type1); if (expected) { - Assert.assertTrue("[" + i1 + ", " + i2 + "]: From " + assertTrue("[" + i1 + ", " + i2 + "]: From " + String.valueOf(type2) + " to " + String.valueOf(type1), isAssignable); } else { - Assert.assertFalse("[" + i1 + ", " + i2 + "]: From " + assertFalse("[" + i1 + ", " + i2 + "]: From " + String.valueOf(type2) + " to " + String.valueOf(type1), isAssignable); } @@ -469,9 +474,9 @@ public void testIsInstance() throws SecurityException, NoSuchFieldException { final Type intComparableType = getClass().getField("intComparable").getGenericType(); final Type uriComparableType = getClass().getField("uriComparable").getGenericType(); intComparable = 1; - Assert.assertTrue(TypeUtils.isInstance(1, intComparableType)); + assertTrue(TypeUtils.isInstance(1, intComparableType)); // uriComparable = 1; - Assert.assertFalse(TypeUtils.isInstance(1, uriComparableType)); + assertFalse(TypeUtils.isInstance(1, uriComparableType)); } @Test @@ -482,45 +487,45 @@ public void testGetTypeArguments() { typeVarAssigns = TypeUtils.getTypeArguments(Integer.class, Comparable.class); treeSetTypeVar = Comparable.class.getTypeParameters()[0]; - Assert.assertTrue("Type var assigns for Comparable from Integer: " + typeVarAssigns, + assertTrue("Type var assigns for Comparable from Integer: " + typeVarAssigns, typeVarAssigns.containsKey(treeSetTypeVar)); typeArg = typeVarAssigns.get(treeSetTypeVar); - Assert.assertEquals("Type argument of Comparable from Integer: " + typeArg, Integer.class, + assertEquals("Type argument of Comparable from Integer: " + typeArg, Integer.class, typeVarAssigns.get(treeSetTypeVar)); typeVarAssigns = TypeUtils.getTypeArguments(int.class, Comparable.class); treeSetTypeVar = Comparable.class.getTypeParameters()[0]; - Assert.assertTrue("Type var assigns for Comparable from int: " + typeVarAssigns, + assertTrue("Type var assigns for Comparable from int: " + typeVarAssigns, typeVarAssigns.containsKey(treeSetTypeVar)); typeArg = typeVarAssigns.get(treeSetTypeVar); - Assert.assertEquals("Type argument of Comparable from int: " + typeArg, Integer.class, + assertEquals("Type argument of Comparable from int: " + typeArg, Integer.class, typeVarAssigns.get(treeSetTypeVar)); final Collection col = Arrays.asList(new Integer[0]); typeVarAssigns = TypeUtils.getTypeArguments(List.class, Collection.class); treeSetTypeVar = Comparable.class.getTypeParameters()[0]; - Assert.assertFalse("Type var assigns for Collection from List: " + typeVarAssigns, + assertFalse("Type var assigns for Collection from List: " + typeVarAssigns, typeVarAssigns.containsKey(treeSetTypeVar)); typeVarAssigns = TypeUtils.getTypeArguments(AAAClass.BBBClass.class, AAClass.BBClass.class); - Assert.assertTrue(typeVarAssigns.size() == 2); - Assert.assertEquals(String.class, typeVarAssigns.get(AAClass.class.getTypeParameters()[0])); - Assert.assertEquals(String.class, typeVarAssigns.get(AAClass.BBClass.class.getTypeParameters()[0])); + assertEquals(2, typeVarAssigns.size()); + assertEquals(String.class, typeVarAssigns.get(AAClass.class.getTypeParameters()[0])); + assertEquals(String.class, typeVarAssigns.get(AAClass.BBClass.class.getTypeParameters()[0])); typeVarAssigns = TypeUtils.getTypeArguments(Other.class, This.class); - Assert.assertEquals(2, typeVarAssigns.size()); - Assert.assertEquals(String.class, typeVarAssigns.get(This.class.getTypeParameters()[0])); - Assert.assertEquals(Other.class.getTypeParameters()[0], typeVarAssigns.get(This.class.getTypeParameters()[1])); + assertEquals(2, typeVarAssigns.size()); + assertEquals(String.class, typeVarAssigns.get(This.class.getTypeParameters()[0])); + assertEquals(Other.class.getTypeParameters()[0], typeVarAssigns.get(This.class.getTypeParameters()[1])); typeVarAssigns = TypeUtils.getTypeArguments(And.class, This.class); - Assert.assertEquals(2, typeVarAssigns.size()); - Assert.assertEquals(Number.class, typeVarAssigns.get(This.class.getTypeParameters()[0])); - Assert.assertEquals(Number.class, typeVarAssigns.get(This.class.getTypeParameters()[1])); + assertEquals(2, typeVarAssigns.size()); + assertEquals(Number.class, typeVarAssigns.get(This.class.getTypeParameters()[0])); + assertEquals(Number.class, typeVarAssigns.get(This.class.getTypeParameters()[1])); typeVarAssigns = TypeUtils.getTypeArguments(Thing.class, Other.class); - Assert.assertEquals(2, typeVarAssigns.size()); - Assert.assertEquals(getClass().getTypeParameters()[0], typeVarAssigns.get(getClass().getTypeParameters()[0])); - Assert.assertEquals(getClass().getTypeParameters()[0], typeVarAssigns.get(Other.class.getTypeParameters()[0])); + assertEquals(2, typeVarAssigns.size()); + assertEquals(getClass().getTypeParameters()[0], typeVarAssigns.get(getClass().getTypeParameters()[0])); + assertEquals(getClass().getTypeParameters()[0], typeVarAssigns.get(Other.class.getTypeParameters()[0])); } @Test @@ -529,13 +534,13 @@ public void testTypesSatisfyVariables() throws SecurityException, NoSuchFieldExc final Map, Type> typeVarAssigns = new HashMap<>(); final Integer max = TypeUtilsTest. stub(); typeVarAssigns.put(getClass().getMethod("stub").getTypeParameters()[0], Integer.class); - Assert.assertTrue(TypeUtils.typesSatisfyVariables(typeVarAssigns)); + assertTrue(TypeUtils.typesSatisfyVariables(typeVarAssigns)); typeVarAssigns.clear(); typeVarAssigns.put(getClass().getMethod("stub2").getTypeParameters()[0], Integer.class); - Assert.assertTrue(TypeUtils.typesSatisfyVariables(typeVarAssigns)); + assertTrue(TypeUtils.typesSatisfyVariables(typeVarAssigns)); typeVarAssigns.clear(); typeVarAssigns.put(getClass().getMethod("stub3").getTypeParameters()[0], Integer.class); - Assert.assertTrue(TypeUtils.typesSatisfyVariables(typeVarAssigns)); + assertTrue(TypeUtils.typesSatisfyVariables(typeVarAssigns)); } @Test @@ -546,8 +551,8 @@ public void testDetermineTypeVariableAssignments() throws SecurityException, final Map, Type> typeVarAssigns = TypeUtils.determineTypeArguments(TreeSet.class, iterableType); final TypeVariable treeSetTypeVar = TreeSet.class.getTypeParameters()[0]; - Assert.assertTrue(typeVarAssigns.containsKey(treeSetTypeVar)); - Assert.assertEquals(iterableType.getActualTypeArguments()[0], typeVarAssigns + assertTrue(typeVarAssigns.containsKey(treeSetTypeVar)); + assertEquals(iterableType.getActualTypeArguments()[0], typeVarAssigns .get(treeSetTypeVar)); } @@ -559,47 +564,46 @@ public void testGetRawType() throws SecurityException, NoSuchFieldException { .getGenericType(); final Type foosFieldType = GenericTypeHolder.class.getDeclaredField("foos").getGenericType(); final Type genericParentT = GenericParent.class.getTypeParameters()[0]; - Assert.assertEquals(GenericParent.class, TypeUtils.getRawType(stringParentFieldType, null)); - Assert - .assertEquals(GenericParent.class, TypeUtils.getRawType(integerParentFieldType, + assertEquals(GenericParent.class, TypeUtils.getRawType(stringParentFieldType, null)); + assertEquals(GenericParent.class, TypeUtils.getRawType(integerParentFieldType, null)); - Assert.assertEquals(List.class, TypeUtils.getRawType(foosFieldType, null)); - Assert.assertEquals(String.class, TypeUtils.getRawType(genericParentT, + assertEquals(List.class, TypeUtils.getRawType(foosFieldType, null)); + assertEquals(String.class, TypeUtils.getRawType(genericParentT, StringParameterizedChild.class)); - Assert.assertEquals(String.class, TypeUtils.getRawType(genericParentT, + assertEquals(String.class, TypeUtils.getRawType(genericParentT, stringParentFieldType)); - Assert.assertEquals(Foo.class, TypeUtils.getRawType(Iterable.class.getTypeParameters()[0], + assertEquals(Foo.class, TypeUtils.getRawType(Iterable.class.getTypeParameters()[0], foosFieldType)); - Assert.assertEquals(Foo.class, TypeUtils.getRawType(List.class.getTypeParameters()[0], + assertEquals(Foo.class, TypeUtils.getRawType(List.class.getTypeParameters()[0], foosFieldType)); - Assert.assertNull(TypeUtils.getRawType(genericParentT, GenericParent.class)); - Assert.assertEquals(GenericParent[].class, TypeUtils.getRawType(GenericTypeHolder.class + assertNull(TypeUtils.getRawType(genericParentT, GenericParent.class)); + assertEquals(GenericParent[].class, TypeUtils.getRawType(GenericTypeHolder.class .getDeclaredField("barParents").getGenericType(), null)); } @Test public void testIsArrayTypeClasses() { - Assert.assertTrue(TypeUtils.isArrayType(boolean[].class)); - Assert.assertTrue(TypeUtils.isArrayType(byte[].class)); - Assert.assertTrue(TypeUtils.isArrayType(short[].class)); - Assert.assertTrue(TypeUtils.isArrayType(int[].class)); - Assert.assertTrue(TypeUtils.isArrayType(char[].class)); - Assert.assertTrue(TypeUtils.isArrayType(long[].class)); - Assert.assertTrue(TypeUtils.isArrayType(float[].class)); - Assert.assertTrue(TypeUtils.isArrayType(double[].class)); - Assert.assertTrue(TypeUtils.isArrayType(Object[].class)); - Assert.assertTrue(TypeUtils.isArrayType(String[].class)); - - Assert.assertFalse(TypeUtils.isArrayType(boolean.class)); - Assert.assertFalse(TypeUtils.isArrayType(byte.class)); - Assert.assertFalse(TypeUtils.isArrayType(short.class)); - Assert.assertFalse(TypeUtils.isArrayType(int.class)); - Assert.assertFalse(TypeUtils.isArrayType(char.class)); - Assert.assertFalse(TypeUtils.isArrayType(long.class)); - Assert.assertFalse(TypeUtils.isArrayType(float.class)); - Assert.assertFalse(TypeUtils.isArrayType(double.class)); - Assert.assertFalse(TypeUtils.isArrayType(Object.class)); - Assert.assertFalse(TypeUtils.isArrayType(String.class)); + assertTrue(TypeUtils.isArrayType(boolean[].class)); + assertTrue(TypeUtils.isArrayType(byte[].class)); + assertTrue(TypeUtils.isArrayType(short[].class)); + assertTrue(TypeUtils.isArrayType(int[].class)); + assertTrue(TypeUtils.isArrayType(char[].class)); + assertTrue(TypeUtils.isArrayType(long[].class)); + assertTrue(TypeUtils.isArrayType(float[].class)); + assertTrue(TypeUtils.isArrayType(double[].class)); + assertTrue(TypeUtils.isArrayType(Object[].class)); + assertTrue(TypeUtils.isArrayType(String[].class)); + + assertFalse(TypeUtils.isArrayType(boolean.class)); + assertFalse(TypeUtils.isArrayType(byte.class)); + assertFalse(TypeUtils.isArrayType(short.class)); + assertFalse(TypeUtils.isArrayType(int.class)); + assertFalse(TypeUtils.isArrayType(char.class)); + assertFalse(TypeUtils.isArrayType(long.class)); + assertFalse(TypeUtils.isArrayType(float.class)); + assertFalse(TypeUtils.isArrayType(double.class)); + assertFalse(TypeUtils.isArrayType(Object.class)); + assertFalse(TypeUtils.isArrayType(String.class)); } @Test @@ -610,41 +614,41 @@ public void testIsArrayGenericTypes() throws Exception { final Type[] types = method.getGenericParameterTypes(); - Assert.assertFalse(TypeUtils.isArrayType(types[0])); - Assert.assertFalse(TypeUtils.isArrayType(types[1])); - Assert.assertFalse(TypeUtils.isArrayType(types[2])); - Assert.assertFalse(TypeUtils.isArrayType(types[3])); - Assert.assertFalse(TypeUtils.isArrayType(types[4])); - Assert.assertFalse(TypeUtils.isArrayType(types[5])); - Assert.assertFalse(TypeUtils.isArrayType(types[6])); - Assert.assertTrue(TypeUtils.isArrayType(types[7])); - Assert.assertTrue(TypeUtils.isArrayType(types[8])); - Assert.assertTrue(TypeUtils.isArrayType(types[9])); - Assert.assertTrue(TypeUtils.isArrayType(types[10])); - Assert.assertTrue(TypeUtils.isArrayType(types[11])); - Assert.assertTrue(TypeUtils.isArrayType(types[12])); - Assert.assertTrue(TypeUtils.isArrayType(types[13])); + assertFalse(TypeUtils.isArrayType(types[0])); + assertFalse(TypeUtils.isArrayType(types[1])); + assertFalse(TypeUtils.isArrayType(types[2])); + assertFalse(TypeUtils.isArrayType(types[3])); + assertFalse(TypeUtils.isArrayType(types[4])); + assertFalse(TypeUtils.isArrayType(types[5])); + assertFalse(TypeUtils.isArrayType(types[6])); + assertTrue(TypeUtils.isArrayType(types[7])); + assertTrue(TypeUtils.isArrayType(types[8])); + assertTrue(TypeUtils.isArrayType(types[9])); + assertTrue(TypeUtils.isArrayType(types[10])); + assertTrue(TypeUtils.isArrayType(types[11])); + assertTrue(TypeUtils.isArrayType(types[12])); + assertTrue(TypeUtils.isArrayType(types[13])); } @Test public void testGetPrimitiveArrayComponentType() throws Exception { - Assert.assertEquals(boolean.class, TypeUtils.getArrayComponentType(boolean[].class)); - Assert.assertEquals(byte.class, TypeUtils.getArrayComponentType(byte[].class)); - Assert.assertEquals(short.class, TypeUtils.getArrayComponentType(short[].class)); - Assert.assertEquals(int.class, TypeUtils.getArrayComponentType(int[].class)); - Assert.assertEquals(char.class, TypeUtils.getArrayComponentType(char[].class)); - Assert.assertEquals(long.class, TypeUtils.getArrayComponentType(long[].class)); - Assert.assertEquals(float.class, TypeUtils.getArrayComponentType(float[].class)); - Assert.assertEquals(double.class, TypeUtils.getArrayComponentType(double[].class)); - - Assert.assertNull(TypeUtils.getArrayComponentType(boolean.class)); - Assert.assertNull(TypeUtils.getArrayComponentType(byte.class)); - Assert.assertNull(TypeUtils.getArrayComponentType(short.class)); - Assert.assertNull(TypeUtils.getArrayComponentType(int.class)); - Assert.assertNull(TypeUtils.getArrayComponentType(char.class)); - Assert.assertNull(TypeUtils.getArrayComponentType(long.class)); - Assert.assertNull(TypeUtils.getArrayComponentType(float.class)); - Assert.assertNull(TypeUtils.getArrayComponentType(double.class)); + assertEquals(boolean.class, TypeUtils.getArrayComponentType(boolean[].class)); + assertEquals(byte.class, TypeUtils.getArrayComponentType(byte[].class)); + assertEquals(short.class, TypeUtils.getArrayComponentType(short[].class)); + assertEquals(int.class, TypeUtils.getArrayComponentType(int[].class)); + assertEquals(char.class, TypeUtils.getArrayComponentType(char[].class)); + assertEquals(long.class, TypeUtils.getArrayComponentType(long[].class)); + assertEquals(float.class, TypeUtils.getArrayComponentType(float[].class)); + assertEquals(double.class, TypeUtils.getArrayComponentType(double[].class)); + + assertNull(TypeUtils.getArrayComponentType(boolean.class)); + assertNull(TypeUtils.getArrayComponentType(byte.class)); + assertNull(TypeUtils.getArrayComponentType(short.class)); + assertNull(TypeUtils.getArrayComponentType(int.class)); + assertNull(TypeUtils.getArrayComponentType(char.class)); + assertNull(TypeUtils.getArrayComponentType(long.class)); + assertNull(TypeUtils.getArrayComponentType(float.class)); + assertNull(TypeUtils.getArrayComponentType(double.class)); } @Test @@ -655,74 +659,74 @@ public void testGetArrayComponentType() throws Exception { final Type[] types = method.getGenericParameterTypes(); - Assert.assertNull(TypeUtils.getArrayComponentType(types[0])); - Assert.assertNull(TypeUtils.getArrayComponentType(types[1])); - Assert.assertNull(TypeUtils.getArrayComponentType(types[2])); - Assert.assertNull(TypeUtils.getArrayComponentType(types[3])); - Assert.assertNull(TypeUtils.getArrayComponentType(types[4])); - Assert.assertNull(TypeUtils.getArrayComponentType(types[5])); - Assert.assertNull(TypeUtils.getArrayComponentType(types[6])); - Assert.assertEquals(types[0], TypeUtils.getArrayComponentType(types[7])); - Assert.assertEquals(types[1], TypeUtils.getArrayComponentType(types[8])); - Assert.assertEquals(types[2], TypeUtils.getArrayComponentType(types[9])); - Assert.assertEquals(types[3], TypeUtils.getArrayComponentType(types[10])); - Assert.assertEquals(types[4], TypeUtils.getArrayComponentType(types[11])); - Assert.assertEquals(types[5], TypeUtils.getArrayComponentType(types[12])); - Assert.assertEquals(types[6], TypeUtils.getArrayComponentType(types[13])); + assertNull(TypeUtils.getArrayComponentType(types[0])); + assertNull(TypeUtils.getArrayComponentType(types[1])); + assertNull(TypeUtils.getArrayComponentType(types[2])); + assertNull(TypeUtils.getArrayComponentType(types[3])); + assertNull(TypeUtils.getArrayComponentType(types[4])); + assertNull(TypeUtils.getArrayComponentType(types[5])); + assertNull(TypeUtils.getArrayComponentType(types[6])); + assertEquals(types[0], TypeUtils.getArrayComponentType(types[7])); + assertEquals(types[1], TypeUtils.getArrayComponentType(types[8])); + assertEquals(types[2], TypeUtils.getArrayComponentType(types[9])); + assertEquals(types[3], TypeUtils.getArrayComponentType(types[10])); + assertEquals(types[4], TypeUtils.getArrayComponentType(types[11])); + assertEquals(types[5], TypeUtils.getArrayComponentType(types[12])); + assertEquals(types[6], TypeUtils.getArrayComponentType(types[13])); } @Test public void testLang820() throws Exception { final Type[] typeArray = {String.class, String.class}; final Type[] expectedArray = {String.class}; - Assert.assertArrayEquals(expectedArray, TypeUtils.normalizeUpperBounds(typeArray)); + assertArrayEquals(expectedArray, TypeUtils.normalizeUpperBounds(typeArray)); } @Test public void testParameterize() throws Exception { final ParameterizedType stringComparableType = TypeUtils.parameterize(Comparable.class, String.class); - Assert.assertTrue(TypeUtils.equals(getClass().getField("stringComparable").getGenericType(), + assertTrue(TypeUtils.equals(getClass().getField("stringComparable").getGenericType(), stringComparableType)); - Assert.assertEquals("java.lang.Comparable", stringComparableType.toString()); + assertEquals("java.lang.Comparable", stringComparableType.toString()); } @Test public void testParameterizeWithOwner() throws Exception { final Type owner = TypeUtils.parameterize(TypeUtilsTest.class, String.class); final ParameterizedType dat2Type = TypeUtils.parameterizeWithOwner(owner, That.class, String.class, String.class); - Assert.assertTrue(TypeUtils.equals(getClass().getField("dat2").getGenericType(), dat2Type)); + assertTrue(TypeUtils.equals(getClass().getField("dat2").getGenericType(), dat2Type)); } @Test public void testWildcardType() throws Exception { final WildcardType simpleWildcard = TypeUtils.wildcardType().withUpperBounds(String.class).build(); final Field cClass = AClass.class.getField("cClass"); - Assert.assertTrue(TypeUtils.equals(((ParameterizedType) cClass.getGenericType()).getActualTypeArguments()[0], + assertTrue(TypeUtils.equals(((ParameterizedType) cClass.getGenericType()).getActualTypeArguments()[0], simpleWildcard)); - Assert.assertEquals(String.format("? extends %s", String.class.getName()), TypeUtils.toString(simpleWildcard)); - Assert.assertEquals(String.format("? extends %s", String.class.getName()), simpleWildcard.toString()); + assertEquals(String.format("? extends %s", String.class.getName()), TypeUtils.toString(simpleWildcard)); + assertEquals(String.format("? extends %s", String.class.getName()), simpleWildcard.toString()); } @Test public void testUnboundedWildcardType() { final WildcardType unbounded = TypeUtils.wildcardType().withLowerBounds((Type) null).withUpperBounds().build(); - Assert.assertTrue(TypeUtils.equals(TypeUtils.WILDCARD_ALL, unbounded)); - Assert.assertArrayEquals(new Type[] { Object.class }, TypeUtils.getImplicitUpperBounds(unbounded)); - Assert.assertArrayEquals(new Type[] { null }, TypeUtils.getImplicitLowerBounds(unbounded)); - Assert.assertEquals("?", TypeUtils.toString(unbounded)); - Assert.assertEquals("?", unbounded.toString()); + assertTrue(TypeUtils.equals(TypeUtils.WILDCARD_ALL, unbounded)); + assertArrayEquals(new Type[] { Object.class }, TypeUtils.getImplicitUpperBounds(unbounded)); + assertArrayEquals(new Type[] { null }, TypeUtils.getImplicitLowerBounds(unbounded)); + assertEquals("?", TypeUtils.toString(unbounded)); + assertEquals("?", unbounded.toString()); } @Test public void testLowerBoundedWildcardType() { final WildcardType lowerBounded = TypeUtils.wildcardType().withLowerBounds(java.sql.Date.class).build(); - Assert.assertEquals(String.format("? super %s", java.sql.Date.class.getName()), TypeUtils.toString(lowerBounded)); - Assert.assertEquals(String.format("? super %s", java.sql.Date.class.getName()), lowerBounded.toString()); + assertEquals(String.format("? super %s", java.sql.Date.class.getName()), TypeUtils.toString(lowerBounded)); + assertEquals(String.format("? super %s", java.sql.Date.class.getName()), lowerBounded.toString()); final TypeVariable> iterableT0 = Iterable.class.getTypeParameters()[0]; final WildcardType lowerTypeVariable = TypeUtils.wildcardType().withLowerBounds(iterableT0).build(); - Assert.assertEquals(String.format("? super %s", iterableT0.getName()), TypeUtils.toString(lowerTypeVariable)); - Assert.assertEquals(String.format("? super %s", iterableT0.getName()), lowerTypeVariable.toString()); + assertEquals(String.format("? super %s", iterableT0.getName()), TypeUtils.toString(lowerTypeVariable)); + assertEquals(String.format("? super %s", iterableT0.getName()), lowerTypeVariable.toString()); } @Test @@ -730,8 +734,8 @@ public void testLang1114() throws Exception { final Type nonWildcardType = getClass().getDeclaredField("wildcardComparable").getGenericType(); final Type wildcardType = ((ParameterizedType)nonWildcardType).getActualTypeArguments()[0]; - Assert.assertFalse(TypeUtils.equals(wildcardType, nonWildcardType)); - Assert.assertFalse(TypeUtils.equals(nonWildcardType, wildcardType)); + assertFalse(TypeUtils.equals(wildcardType, nonWildcardType)); + assertFalse(TypeUtils.equals(nonWildcardType, wildcardType)); } @Test @@ -740,29 +744,29 @@ public void testGenericArrayType() throws Exception { final GenericArrayType actual = TypeUtils.genericArrayType(TypeUtils.parameterize(Comparable.class, TypeUtils.wildcardType() .withUpperBounds(Integer.class).build())); - Assert.assertTrue(TypeUtils.equals(expected, actual)); - Assert.assertEquals("java.lang.Comparable[]", actual.toString()); + assertTrue(TypeUtils.equals(expected, actual)); + assertEquals("java.lang.Comparable[]", actual.toString()); } @Test public void testToStringLang1311() { - Assert.assertEquals("int[]", TypeUtils.toString(int[].class)); - Assert.assertEquals("java.lang.Integer[]", TypeUtils.toString(Integer[].class)); + assertEquals("int[]", TypeUtils.toString(int[].class)); + assertEquals("java.lang.Integer[]", TypeUtils.toString(Integer[].class)); Field stringListField = FieldUtils.getDeclaredField(getClass(), "stringListArray"); - Assert.assertEquals("java.util.List[]", TypeUtils.toString(stringListField.getGenericType())); + assertEquals("java.util.List[]", TypeUtils.toString(stringListField.getGenericType())); } @Test public void testToLongString() { - Assert.assertEquals(getClass().getName() + ":B", TypeUtils.toLongString(getClass().getTypeParameters()[0])); + assertEquals(getClass().getName() + ":B", TypeUtils.toLongString(getClass().getTypeParameters()[0])); } @Test public void testWrap() { final Type t = getClass().getTypeParameters()[0]; - Assert.assertTrue(TypeUtils.equals(t, TypeUtils.wrap(t).getType())); + assertTrue(TypeUtils.equals(t, TypeUtils.wrap(t).getType())); - Assert.assertEquals(String.class, TypeUtils.wrap(String.class).getType()); + assertEquals(String.class, TypeUtils.wrap(String.class).getType()); } public static class ClassWithSuperClassWithGenericType extends ArrayList { @@ -778,13 +782,13 @@ public void testLANG1190() throws Exception { final Type fromType = ClassWithSuperClassWithGenericType.class.getDeclaredMethod("methodWithGenericReturnType").getGenericReturnType(); final Type failingToType = TypeUtils.wildcardType().withLowerBounds(ClassWithSuperClassWithGenericType.class).build(); - Assert.assertTrue(TypeUtils.isAssignable(fromType, failingToType)); + assertTrue(TypeUtils.isAssignable(fromType, failingToType)); } @Test public void testLANG1348() throws Exception { final Method method = Enum.class.getMethod("valueOf", Class.class, String.class); - Assert.assertEquals("T extends java.lang.Enum", TypeUtils.toString(method.getGenericReturnType())); + assertEquals("T extends java.lang.Enum", TypeUtils.toString(method.getGenericReturnType())); } public Iterable>> iterable; diff --git a/src/test/java/org/apache/commons/lang3/time/FastDateFormatTest.java b/src/test/java/org/apache/commons/lang3/time/FastDateFormatTest.java index be2d801ce38..05fc9ceaba1 100644 --- a/src/test/java/org/apache/commons/lang3/time/FastDateFormatTest.java +++ b/src/test/java/org/apache/commons/lang3/time/FastDateFormatTest.java @@ -38,7 +38,6 @@ import org.apache.commons.lang3.test.SystemDefaults; import org.apache.commons.lang3.test.SystemDefaultsSwitch; -import org.junit.Assert; import org.junit.Rule; import org.junit.Test; @@ -315,10 +314,10 @@ public void testLANG_1152() { final Date date = new Date(Long.MAX_VALUE); String dateAsString = FastDateFormat.getInstance("yyyy-MM-dd", utc, Locale.US).format(date); - Assert.assertEquals("292278994-08-17", dateAsString); + assertEquals("292278994-08-17", dateAsString); dateAsString = FastDateFormat.getInstance("dd/MM/yyyy", utc, Locale.US).format(date); - Assert.assertEquals("17/08/292278994", dateAsString); + assertEquals("17/08/292278994", dateAsString); } @Test diff --git a/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java b/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java index 55bac2d997d..f9c87473b04 100644 --- a/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java +++ b/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java @@ -19,6 +19,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import java.io.Serializable; import java.text.ParseException; @@ -34,7 +35,6 @@ import org.apache.commons.lang3.LocaleUtils; import org.apache.commons.lang3.SerializationUtils; -import org.junit.Assert; import org.junit.Test; /** @@ -272,7 +272,7 @@ public void testTzParses() throws Exception { final Date expected= cal.getTime(); final Date actual = fdp.parse("2000/02/10 "+tz.getDisplayName(locale)); - Assert.assertEquals("tz:"+tz.getID()+" locale:"+locale.getDisplayName(), expected, actual); + assertEquals("tz:"+tz.getID()+" locale:"+locale.getDisplayName(), expected, actual); } } } @@ -338,7 +338,7 @@ private void testLocales(final String format, final boolean eraBC) throws Except try { checkParse(locale, cal, sdf, fdf); } catch(final ParseException ex) { - Assert.fail("Locale "+locale+ " failed with "+format+" era "+(eraBC?"BC":"AD")+"\n" + trimMessage(ex.toString())); + fail("Locale "+locale+ " failed with "+format+" era "+(eraBC?"BC":"AD")+"\n" + trimMessage(ex.toString())); } } } @@ -360,7 +360,7 @@ public void testJpLocales() { try { checkParse(locale, cal, sdf, fdf); } catch(final ParseException ex) { - Assert.fail("Locale "+locale+ " failed with "+LONG_FORMAT+"\n" + trimMessage(ex.toString())); + fail("Locale "+locale+ " failed with "+LONG_FORMAT+"\n" + trimMessage(ex.toString())); } } } @@ -452,7 +452,7 @@ private void testSdfAndFdp(final String format, final String date, final boolean sdf.setTimeZone(NEW_YORK); dsdf = sdf.parse(date); if (shouldFail) { - Assert.fail("Expected SDF failure, but got " + dsdf + " for ["+format+","+date+"]"); + fail("Expected SDF failure, but got " + dsdf + " for ["+format+","+date+"]"); } } catch (final Exception e) { s = e; @@ -465,7 +465,7 @@ private void testSdfAndFdp(final String format, final String date, final boolean final DateParser fdp = getInstance(format, NEW_YORK, Locale.US); dfdp = fdp.parse(date); if (shouldFail) { - Assert.fail("Expected FDF failure, but got " + dfdp + " for ["+format+","+date+"]"); + fail("Expected FDF failure, but got " + dfdp + " for ["+format+","+date+"]"); } } catch (final Exception e) { f = e; @@ -670,7 +670,7 @@ public void testLang1121() throws ParseException { try { fdp.parse("2015"); - Assert.fail("expected parse exception"); + fail("expected parse exception"); } catch (final ParseException pe) { // expected parse exception } @@ -681,7 +681,7 @@ public void testLang1121() throws ParseException { cal.clear(); cal.set(2015, 3, 29); Date expected = cal.getTime(); - Assert.assertEquals(expected, actual); + assertEquals(expected, actual); final SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd", Locale.KOREA); df.setTimeZone(kst); @@ -689,7 +689,7 @@ public void testLang1121() throws ParseException { // Thu Mar 16 00:00:00 KST 81724 actual = fdp.parse("20150429113100"); - Assert.assertEquals(expected, actual); + assertEquals(expected, actual); } @Test @@ -700,7 +700,7 @@ public void testParseOffset() { final Calendar cal = Calendar.getInstance(); cal.clear(); cal.set(2015, Calendar.JULY, 4); - Assert.assertEquals(cal.getTime(), date); + assertEquals(cal.getTime(), date); } @Test @@ -709,12 +709,12 @@ public void testDayNumberOfWeek() throws ParseException { final Calendar calendar = Calendar.getInstance(); calendar.setTime(parser.parse("1")); - Assert.assertEquals(Calendar.MONDAY, calendar.get(Calendar.DAY_OF_WEEK)); + assertEquals(Calendar.MONDAY, calendar.get(Calendar.DAY_OF_WEEK)); calendar.setTime(parser.parse("6")); - Assert.assertEquals(Calendar.SATURDAY, calendar.get(Calendar.DAY_OF_WEEK)); + assertEquals(Calendar.SATURDAY, calendar.get(Calendar.DAY_OF_WEEK)); calendar.setTime(parser.parse("7")); - Assert.assertEquals(Calendar.SUNDAY, calendar.get(Calendar.DAY_OF_WEEK)); + assertEquals(Calendar.SUNDAY, calendar.get(Calendar.DAY_OF_WEEK)); } } diff --git a/src/test/java/org/apache/commons/lang3/time/FastDateParser_MoreOrLessTest.java b/src/test/java/org/apache/commons/lang3/time/FastDateParser_MoreOrLessTest.java index 699bac74a26..1d592627f3b 100644 --- a/src/test/java/org/apache/commons/lang3/time/FastDateParser_MoreOrLessTest.java +++ b/src/test/java/org/apache/commons/lang3/time/FastDateParser_MoreOrLessTest.java @@ -16,13 +16,16 @@ */ package org.apache.commons.lang3.time; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + import java.text.ParsePosition; import java.util.Calendar; import java.util.Date; import java.util.Locale; import java.util.TimeZone; -import org.junit.Assert; import org.junit.Test; public class FastDateParser_MoreOrLessTest { @@ -34,9 +37,9 @@ public void testInputHasPrecedingCharacters() { final FastDateParser parser = new FastDateParser("MM/dd", TimeZone.getDefault(), Locale.getDefault()); final ParsePosition parsePosition = new ParsePosition(0); final Date date = parser.parse("A 3/23/61", parsePosition); - Assert.assertNull(date); - Assert.assertEquals(0, parsePosition.getIndex()); - Assert.assertEquals(0, parsePosition.getErrorIndex()); + assertNull(date); + assertEquals(0, parsePosition.getIndex()); + assertEquals(0, parsePosition.getErrorIndex()); } @Test @@ -45,13 +48,13 @@ public void testInputHasWhitespace() { //SimpleDateFormat parser = new SimpleDateFormat("M/d/y"); final ParsePosition parsePosition = new ParsePosition(0); final Date date = parser.parse(" 3/ 23/ 1961", parsePosition); - Assert.assertEquals(12, parsePosition.getIndex()); + assertEquals(12, parsePosition.getIndex()); final Calendar calendar = Calendar.getInstance(); calendar.setTime(date); - Assert.assertEquals(1961, calendar.get(Calendar.YEAR)); - Assert.assertEquals(2, calendar.get(Calendar.MONTH)); - Assert.assertEquals(23, calendar.get(Calendar.DATE)); + assertEquals(1961, calendar.get(Calendar.YEAR)); + assertEquals(2, calendar.get(Calendar.MONTH)); + assertEquals(23, calendar.get(Calendar.DATE)); } @Test @@ -59,28 +62,28 @@ public void testInputHasMoreCharacters() { final FastDateParser parser = new FastDateParser("MM/dd", TimeZone.getDefault(), Locale.getDefault()); final ParsePosition parsePosition = new ParsePosition(0); final Date date = parser.parse("3/23/61", parsePosition); - Assert.assertEquals(4, parsePosition.getIndex()); + assertEquals(4, parsePosition.getIndex()); final Calendar calendar = Calendar.getInstance(); calendar.setTime(date); - Assert.assertEquals(2, calendar.get(Calendar.MONTH)); - Assert.assertEquals(23, calendar.get(Calendar.DATE)); + assertEquals(2, calendar.get(Calendar.MONTH)); + assertEquals(23, calendar.get(Calendar.DATE)); } @Test public void testInputHasWrongCharacters() { final FastDateParser parser = new FastDateParser("MM-dd-yyy", TimeZone.getDefault(), Locale.getDefault()); final ParsePosition parsePosition = new ParsePosition(0); - Assert.assertNull(parser.parse("03/23/1961", parsePosition)); - Assert.assertEquals(2, parsePosition.getErrorIndex()); + assertNull(parser.parse("03/23/1961", parsePosition)); + assertEquals(2, parsePosition.getErrorIndex()); } @Test public void testInputHasLessCharacters() { final FastDateParser parser = new FastDateParser("MM/dd/yyy", TimeZone.getDefault(), Locale.getDefault()); final ParsePosition parsePosition = new ParsePosition(0); - Assert.assertNull(parser.parse("03/23", parsePosition)); - Assert.assertEquals(5, parsePosition.getErrorIndex()); + assertNull(parser.parse("03/23", parsePosition)); + assertEquals(5, parsePosition.getErrorIndex()); } @Test @@ -89,12 +92,12 @@ public void testInputHasWrongTimeZone() { final String input = "11:23 Pacific Standard Time"; final ParsePosition parsePosition = new ParsePosition(0); - Assert.assertNotNull(parser.parse(input, parsePosition)); - Assert.assertEquals(input.length(), parsePosition.getIndex()); + assertNotNull(parser.parse(input, parsePosition)); + assertEquals(input.length(), parsePosition.getIndex()); parsePosition.setIndex(0); - Assert.assertNull(parser.parse( "11:23 Pacific Standard ", parsePosition)); - Assert.assertEquals(6, parsePosition.getErrorIndex()); + assertNull(parser.parse( "11:23 Pacific Standard ", parsePosition)); + assertEquals(6, parsePosition.getErrorIndex()); } @Test @@ -102,11 +105,11 @@ public void testInputHasWrongDay() { final FastDateParser parser = new FastDateParser("EEEE, MM/dd/yyy", NEW_YORK, Locale.US); final String input = "Thursday, 03/23/61"; final ParsePosition parsePosition = new ParsePosition(0); - Assert.assertNotNull(parser.parse(input, parsePosition)); - Assert.assertEquals(input.length(), parsePosition.getIndex()); + assertNotNull(parser.parse(input, parsePosition)); + assertEquals(input.length(), parsePosition.getIndex()); parsePosition.setIndex(0); - Assert.assertNull(parser.parse( "Thorsday, 03/23/61", parsePosition)); - Assert.assertEquals(0, parsePosition.getErrorIndex()); + assertNull(parser.parse( "Thorsday, 03/23/61", parsePosition)); + assertEquals(0, parsePosition.getErrorIndex()); } } diff --git a/src/test/java/org/apache/commons/lang3/time/FastDateParser_TimeZoneStrategyTest.java b/src/test/java/org/apache/commons/lang3/time/FastDateParser_TimeZoneStrategyTest.java index 33104b5423f..8192867992e 100644 --- a/src/test/java/org/apache/commons/lang3/time/FastDateParser_TimeZoneStrategyTest.java +++ b/src/test/java/org/apache/commons/lang3/time/FastDateParser_TimeZoneStrategyTest.java @@ -16,13 +16,15 @@ */ package org.apache.commons.lang3.time; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.fail; + import java.text.DateFormatSymbols; import java.text.ParseException; import java.util.Date; import java.util.Locale; import java.util.TimeZone; -import org.junit.Assert; import org.junit.Test; public class FastDateParser_TimeZoneStrategyTest { @@ -41,7 +43,7 @@ public void testTimeZoneStrategyPattern() { try { parser.parse(tzDisplay); } catch(final Exception ex) { - Assert.fail("'" + tzDisplay + "'" + fail("'" + tzDisplay + "'" + " Locale: '" + locale.getDisplayName() + "'" + " TimeZone: " + zone[0] + " offset: " + t @@ -60,6 +62,6 @@ public void testLang1219() throws ParseException { final Date summer = parser.parse("26.10.2014 02:00:00 MESZ"); final Date standard = parser.parse("26.10.2014 02:00:00 MEZ"); - Assert.assertNotEquals(summer.getTime(), standard.getTime()); + assertNotEquals(summer.getTime(), standard.getTime()); } } diff --git a/src/test/java/org/apache/commons/lang3/time/FastTimeZoneTest.java b/src/test/java/org/apache/commons/lang3/time/FastTimeZoneTest.java index acd75009758..4edd9c78642 100644 --- a/src/test/java/org/apache/commons/lang3/time/FastTimeZoneTest.java +++ b/src/test/java/org/apache/commons/lang3/time/FastTimeZoneTest.java @@ -16,9 +16,10 @@ */ package org.apache.commons.lang3.time; -import org.junit.Assert; import org.junit.Test; +import static org.junit.Assert.assertEquals; + import java.util.TimeZone; /** @@ -33,67 +34,67 @@ public class FastTimeZoneTest { @Test public void testGetGmtTimeZone() { - Assert.assertEquals(0, FastTimeZone.getGmtTimeZone().getRawOffset()); + assertEquals(0, FastTimeZone.getGmtTimeZone().getRawOffset()); } @Test public void testBareGmt() { - Assert.assertEquals(FastTimeZone.getGmtTimeZone(), FastTimeZone.getTimeZone("GMT")); + assertEquals(FastTimeZone.getGmtTimeZone(), FastTimeZone.getTimeZone("GMT")); } @Test public void testZ() { - Assert.assertEquals(FastTimeZone.getGmtTimeZone(), FastTimeZone.getTimeZone("Z")); + assertEquals(FastTimeZone.getGmtTimeZone(), FastTimeZone.getTimeZone("Z")); } @Test public void testUTC() { - Assert.assertEquals(FastTimeZone.getGmtTimeZone(), FastTimeZone.getTimeZone("UTC")); + assertEquals(FastTimeZone.getGmtTimeZone(), FastTimeZone.getTimeZone("UTC")); } @Test public void testZeroOffsetsReturnSingleton() { - Assert.assertEquals(FastTimeZone.getGmtTimeZone(), FastTimeZone.getTimeZone("+0")); - Assert.assertEquals(FastTimeZone.getGmtTimeZone(), FastTimeZone.getTimeZone("-0")); + assertEquals(FastTimeZone.getGmtTimeZone(), FastTimeZone.getTimeZone("+0")); + assertEquals(FastTimeZone.getGmtTimeZone(), FastTimeZone.getTimeZone("-0")); } @Test public void testOlson() { - Assert.assertEquals(TimeZone.getTimeZone("America/New_York"), FastTimeZone.getTimeZone("America/New_York")); + assertEquals(TimeZone.getTimeZone("America/New_York"), FastTimeZone.getTimeZone("America/New_York")); } @Test public void testGmtPrefix() { - Assert.assertEquals(HOURS_23, FastTimeZone.getGmtTimeZone("GMT+23:00").getRawOffset()); - Assert.assertEquals(-HOURS_23, FastTimeZone.getGmtTimeZone("GMT-23:00").getRawOffset()); + assertEquals(HOURS_23, FastTimeZone.getGmtTimeZone("GMT+23:00").getRawOffset()); + assertEquals(-HOURS_23, FastTimeZone.getGmtTimeZone("GMT-23:00").getRawOffset()); } @Test public void testSign() { - Assert.assertEquals(HOURS_23, FastTimeZone.getGmtTimeZone("+23:00").getRawOffset()); - Assert.assertEquals(HOURS_2, FastTimeZone.getGmtTimeZone("+2:00").getRawOffset()); - Assert.assertEquals(-HOURS_23, FastTimeZone.getGmtTimeZone("-23:00").getRawOffset()); - Assert.assertEquals(-HOURS_2, FastTimeZone.getGmtTimeZone("-2:00").getRawOffset()); + assertEquals(HOURS_23, FastTimeZone.getGmtTimeZone("+23:00").getRawOffset()); + assertEquals(HOURS_2, FastTimeZone.getGmtTimeZone("+2:00").getRawOffset()); + assertEquals(-HOURS_23, FastTimeZone.getGmtTimeZone("-23:00").getRawOffset()); + assertEquals(-HOURS_2, FastTimeZone.getGmtTimeZone("-2:00").getRawOffset()); } @Test public void testHoursColonMinutes() { - Assert.assertEquals(HOURS_23, FastTimeZone.getGmtTimeZone("23:00").getRawOffset()); - Assert.assertEquals(HOURS_2, FastTimeZone.getGmtTimeZone("2:00").getRawOffset()); - Assert.assertEquals(MINUTES_59, FastTimeZone.getGmtTimeZone("00:59").getRawOffset()); - Assert.assertEquals(MINUTES_5, FastTimeZone.getGmtTimeZone("00:5").getRawOffset()); - Assert.assertEquals(HOURS_23+MINUTES_59, FastTimeZone.getGmtTimeZone("23:59").getRawOffset()); - Assert.assertEquals(HOURS_2+MINUTES_5, FastTimeZone.getGmtTimeZone("2:5").getRawOffset()); + assertEquals(HOURS_23, FastTimeZone.getGmtTimeZone("23:00").getRawOffset()); + assertEquals(HOURS_2, FastTimeZone.getGmtTimeZone("2:00").getRawOffset()); + assertEquals(MINUTES_59, FastTimeZone.getGmtTimeZone("00:59").getRawOffset()); + assertEquals(MINUTES_5, FastTimeZone.getGmtTimeZone("00:5").getRawOffset()); + assertEquals(HOURS_23+MINUTES_59, FastTimeZone.getGmtTimeZone("23:59").getRawOffset()); + assertEquals(HOURS_2+MINUTES_5, FastTimeZone.getGmtTimeZone("2:5").getRawOffset()); } @Test public void testHoursMinutes() { - Assert.assertEquals(HOURS_23, FastTimeZone.getGmtTimeZone("2300").getRawOffset()); - Assert.assertEquals(HOURS_2, FastTimeZone.getGmtTimeZone("0200").getRawOffset()); - Assert.assertEquals(MINUTES_59, FastTimeZone.getGmtTimeZone("0059").getRawOffset()); - Assert.assertEquals(MINUTES_5, FastTimeZone.getGmtTimeZone("0005").getRawOffset()); - Assert.assertEquals(HOURS_23+MINUTES_59, FastTimeZone.getGmtTimeZone("2359").getRawOffset()); - Assert.assertEquals(HOURS_2+MINUTES_5, FastTimeZone.getGmtTimeZone("0205").getRawOffset()); + assertEquals(HOURS_23, FastTimeZone.getGmtTimeZone("2300").getRawOffset()); + assertEquals(HOURS_2, FastTimeZone.getGmtTimeZone("0200").getRawOffset()); + assertEquals(MINUTES_59, FastTimeZone.getGmtTimeZone("0059").getRawOffset()); + assertEquals(MINUTES_5, FastTimeZone.getGmtTimeZone("0005").getRawOffset()); + assertEquals(HOURS_23+MINUTES_59, FastTimeZone.getGmtTimeZone("2359").getRawOffset()); + assertEquals(HOURS_2+MINUTES_5, FastTimeZone.getGmtTimeZone("0205").getRawOffset()); } } diff --git a/src/test/java/org/apache/commons/lang3/time/GmtTimeZoneTest.java b/src/test/java/org/apache/commons/lang3/time/GmtTimeZoneTest.java index b4c139b67b8..49e0ff8a2cf 100644 --- a/src/test/java/org/apache/commons/lang3/time/GmtTimeZoneTest.java +++ b/src/test/java/org/apache/commons/lang3/time/GmtTimeZoneTest.java @@ -16,7 +16,9 @@ */ package org.apache.commons.lang3.time; -import org.junit.Assert; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; + import org.junit.Test; /** @@ -31,7 +33,7 @@ public void hoursOutOfRange() { @Test public void hoursInRange() { - Assert.assertEquals(23 * 60 * 60 * 1000, new GmtTimeZone(false, 23, 0).getRawOffset()); + assertEquals(23 * 60 * 60 * 1000, new GmtTimeZone(false, 23, 0).getRawOffset()); } @Test(expected = IllegalArgumentException.class) @@ -41,12 +43,12 @@ public void minutesOutOfRange() { @Test public void minutesInRange() { - Assert.assertEquals(59 * 60 * 1000, new GmtTimeZone(false, 0, 59).getRawOffset()); + assertEquals(59 * 60 * 1000, new GmtTimeZone(false, 0, 59).getRawOffset()); } @Test public void getOffset() { - Assert.assertEquals(0, new GmtTimeZone(false, 0, 0).getOffset(234304)); + assertEquals(0, new GmtTimeZone(false, 0, 0).getOffset(234304)); } @Test(expected = UnsupportedOperationException.class) @@ -56,37 +58,37 @@ public void setRawOffset() { @Test public void getRawOffset() { - Assert.assertEquals(0, new GmtTimeZone(false, 0, 0).getRawOffset()); + assertEquals(0, new GmtTimeZone(false, 0, 0).getRawOffset()); } @Test public void getID() { - Assert.assertEquals("GMT+00:00", new GmtTimeZone(false, 0, 0).getID()); - Assert.assertEquals("GMT+01:02", new GmtTimeZone(false, 1, 2).getID()); - Assert.assertEquals("GMT+11:22", new GmtTimeZone(false, 11, 22).getID()); - Assert.assertEquals("GMT-01:02", new GmtTimeZone(true, 1, 2).getID()); - Assert.assertEquals("GMT-11:22", new GmtTimeZone(true, 11, 22).getID()); + assertEquals("GMT+00:00", new GmtTimeZone(false, 0, 0).getID()); + assertEquals("GMT+01:02", new GmtTimeZone(false, 1, 2).getID()); + assertEquals("GMT+11:22", new GmtTimeZone(false, 11, 22).getID()); + assertEquals("GMT-01:02", new GmtTimeZone(true, 1, 2).getID()); + assertEquals("GMT-11:22", new GmtTimeZone(true, 11, 22).getID()); } @Test public void useDaylightTime() { - Assert.assertFalse(new GmtTimeZone(false, 0, 0).useDaylightTime()); + assertFalse(new GmtTimeZone(false, 0, 0).useDaylightTime()); } @Test public void inDaylightTime() { - Assert.assertFalse(new GmtTimeZone(false, 0, 0).useDaylightTime()); + assertFalse(new GmtTimeZone(false, 0, 0).useDaylightTime()); } @Test public void testToString() { - Assert.assertEquals("[GmtTimeZone id=\"GMT-12:00\",offset=-43200000]", + assertEquals("[GmtTimeZone id=\"GMT-12:00\",offset=-43200000]", new GmtTimeZone(true, 12, 0).toString()); } @Test public void testGetOffset() { - Assert.assertEquals(-(6 * 60 + 30) * 60 * 1000, + assertEquals(-(6 * 60 + 30) * 60 * 1000, new GmtTimeZone(true, 6, 30).getOffset(1, 1, 1, 1, 1, 1)); } } diff --git a/src/test/java/org/apache/commons/lang3/time/StopWatchTest.java b/src/test/java/org/apache/commons/lang3/time/StopWatchTest.java index 3ff1e776829..6e386bb3aba 100644 --- a/src/test/java/org/apache/commons/lang3/time/StopWatchTest.java +++ b/src/test/java/org/apache/commons/lang3/time/StopWatchTest.java @@ -24,7 +24,6 @@ import java.util.concurrent.TimeUnit; import org.apache.commons.lang3.reflect.FieldUtils; -import org.junit.Assert; import org.junit.Test; /** @@ -264,7 +263,7 @@ public void testGetStartTime() { watch.start(); try { watch.getStartTime(); - Assert.assertTrue(watch.getStartTime() >= beforeStopWatch); + assertTrue(watch.getStartTime() >= beforeStopWatch); } catch (final IllegalStateException ex) { fail("Start time should be available: " + ex.getMessage()); } diff --git a/src/test/java/org/apache/commons/lang3/time/WeekYearTest.java b/src/test/java/org/apache/commons/lang3/time/WeekYearTest.java index ba7e3f77010..fe4f92b245b 100644 --- a/src/test/java/org/apache/commons/lang3/time/WeekYearTest.java +++ b/src/test/java/org/apache/commons/lang3/time/WeekYearTest.java @@ -16,6 +16,8 @@ */ package org.apache.commons.lang3.time; +import static org.junit.Assert.assertEquals; + import java.text.ParseException; import java.text.ParsePosition; import java.util.Arrays; @@ -25,7 +27,6 @@ import java.util.Locale; import java.util.TimeZone; -import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -75,7 +76,7 @@ public void testParser() throws ParseException { cal.clear(); parser.parse(isoForm, new ParsePosition(0), cal); - Assert.assertEquals(vulgar.getTime(), cal.getTime()); + assertEquals(vulgar.getTime(), cal.getTime()); } @Test @@ -85,6 +86,6 @@ public void testPrinter() { vulgar.setMinimalDaysInFirstWeek(4); vulgar.setFirstDayOfWeek(Calendar.MONDAY); - Assert.assertEquals(isoForm, printer.format(vulgar)); + assertEquals(isoForm, printer.format(vulgar)); } } From 88654b79c92386b7c411f064cc373e7698a49449 Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Fri, 20 Oct 2017 13:02:26 -0600 Subject: [PATCH 0050/3439] Use final. --- .../org/apache/commons/lang3/ArchUtils.java | 22 ++++---- .../org/apache/commons/lang3/ArrayUtils.java | 53 +++++++++--------- .../commons/lang3/CharSequenceUtils.java | 12 ++--- .../org/apache/commons/lang3/CharSet.java | 2 +- .../apache/commons/lang3/CharSetUtils.java | 2 +- .../commons/lang3/RandomStringUtils.java | 2 +- .../org/apache/commons/lang3/StringUtils.java | 8 +-- .../apache/commons/lang3/arch/Processor.java | 2 +- .../builder/ReflectionToStringBuilder.java | 2 +- .../commons/lang3/reflect/MethodUtils.java | 24 ++++----- .../commons/lang3/reflect/TypeUtils.java | 10 ++-- .../commons/lang3/time/FastDateParser.java | 2 +- .../commons/lang3/time/FastTimeZone.java | 16 +++--- .../commons/lang3/time/GmtTimeZone.java | 14 ++--- .../apache/commons/lang3/ArchUtilsTest.java | 8 +-- .../commons/lang3/ArrayUtilsInsertTest.java | 54 +++++++++---------- .../apache/commons/lang3/ArrayUtilsTest.java | 52 +++++++++--------- .../apache/commons/lang3/CharRangeTest.java | 2 +- .../commons/lang3/RandomStringUtilsTest.java | 11 ++-- .../apache/commons/lang3/RandomUtilsTest.java | 2 +- .../lang3/StringUtilsEqualsIndexOfTest.java | 4 +- .../apache/commons/lang3/SystemUtilsTest.java | 2 +- .../lang3/builder/EqualsBuilderTest.java | 8 +-- ...nToStringBuilderExcludeNullValuesTest.java | 6 +-- .../lang3/builder/ToStringBuilderTest.java | 46 ++++++++-------- .../lang3/reflect/ConstructorUtilsTest.java | 2 +- .../lang3/reflect/MethodUtilsTest.java | 2 +- .../commons/lang3/reflect/TypeUtilsTest.java | 2 +- .../lang3/tuple/ImmutablePairTest.java | 2 +- .../lang3/tuple/ImmutableTripleTest.java | 2 +- 30 files changed, 189 insertions(+), 187 deletions(-) diff --git a/src/main/java/org/apache/commons/lang3/ArchUtils.java b/src/main/java/org/apache/commons/lang3/ArchUtils.java index 6895b68ef8c..9307b2280c8 100644 --- a/src/main/java/org/apache/commons/lang3/ArchUtils.java +++ b/src/main/java/org/apache/commons/lang3/ArchUtils.java @@ -49,32 +49,32 @@ private static void init() { } private static void init_X86_32Bit() { - Processor processor = new Processor(Processor.Arch.BIT_32, Processor.Type.X86); + final Processor processor = new Processor(Processor.Arch.BIT_32, Processor.Type.X86); addProcessors(processor, "x86", "i386", "i486", "i586", "i686", "pentium"); } private static void init_X86_64Bit() { - Processor processor = new Processor(Processor.Arch.BIT_64, Processor.Type.X86); + final Processor processor = new Processor(Processor.Arch.BIT_64, Processor.Type.X86); addProcessors(processor, "x86_64", "amd64", "em64t", "universal"); } private static void init_IA64_32Bit() { - Processor processor = new Processor(Processor.Arch.BIT_32, Processor.Type.IA_64); + final Processor processor = new Processor(Processor.Arch.BIT_32, Processor.Type.IA_64); addProcessors(processor, "ia64_32", "ia64n"); } private static void init_IA64_64Bit() { - Processor processor = new Processor(Processor.Arch.BIT_64, Processor.Type.IA_64); + final Processor processor = new Processor(Processor.Arch.BIT_64, Processor.Type.IA_64); addProcessors(processor, "ia64", "ia64w"); } private static void init_PPC_32Bit() { - Processor processor = new Processor(Processor.Arch.BIT_32, Processor.Type.PPC); + final Processor processor = new Processor(Processor.Arch.BIT_32, Processor.Type.PPC); addProcessors(processor, "ppc", "power", "powerpc", "power_pc", "power_rs"); } private static void init_PPC_64Bit() { - Processor processor = new Processor(Processor.Arch.BIT_64, Processor.Type.PPC); + final Processor processor = new Processor(Processor.Arch.BIT_64, Processor.Type.PPC); addProcessors(processor, "ppc64", "power64", "powerpc64", "power_pc64", "power_rs64"); } @@ -85,11 +85,11 @@ private static void init_PPC_64Bit() { * @param processor The {@link Processor} to add. * @throws IllegalStateException If the key already exists. */ - private static void addProcessor(String key, Processor processor) throws IllegalStateException { + private static void addProcessor(final String key, final Processor processor) throws IllegalStateException { if (!ARCH_TO_PROCESSOR.containsKey(key)) { ARCH_TO_PROCESSOR.put(key, processor); } else { - String msg = "Key " + key + " already exists in processor map"; + final String msg = "Key " + key + " already exists in processor map"; throw new IllegalStateException(msg); } } @@ -101,8 +101,8 @@ private static void addProcessor(String key, Processor processor) throws Illegal * @param processor The {@link Processor} to add. * @throws IllegalStateException If the key already exists. */ - private static void addProcessors(Processor processor, String... keys) throws IllegalStateException { - for (String key : keys) { + private static void addProcessors(final Processor processor, final String... keys) throws IllegalStateException { + for (final String key : keys) { addProcessor(key, processor); } } @@ -128,7 +128,7 @@ public static Processor getProcessor() { * @param value A {@link String} like a value returned by the os.arch System Property. * @return A {@link Processor} when it exists, else null. */ - public static Processor getProcessor(String value) { + public static Processor getProcessor(final String value) { return ARCH_TO_PROCESSOR.get(value); } diff --git a/src/main/java/org/apache/commons/lang3/ArrayUtils.java b/src/main/java/org/apache/commons/lang3/ArrayUtils.java index 35172fcdbbe..857dd70e1a8 100644 --- a/src/main/java/org/apache/commons/lang3/ArrayUtils.java +++ b/src/main/java/org/apache/commons/lang3/ArrayUtils.java @@ -8087,7 +8087,7 @@ public static boolean[] insert(final int index, final boolean[] array, final boo throw new IndexOutOfBoundsException("Index: " + index + ", Length: " + array.length); } - boolean[] result = new boolean[array.length + values.length]; + final boolean[] result = new boolean[array.length + values.length]; System.arraycopy(values, 0, result, index, values.length); if (index > 0) { @@ -8129,7 +8129,7 @@ public static byte[] insert(final int index, final byte[] array, final byte... v throw new IndexOutOfBoundsException("Index: " + index + ", Length: " + array.length); } - byte[] result = new byte[array.length + values.length]; + final byte[] result = new byte[array.length + values.length]; System.arraycopy(values, 0, result, index, values.length); if (index > 0) { @@ -8171,7 +8171,7 @@ public static char[] insert(final int index, final char[] array, final char... v throw new IndexOutOfBoundsException("Index: " + index + ", Length: " + array.length); } - char[] result = new char[array.length + values.length]; + final char[] result = new char[array.length + values.length]; System.arraycopy(values, 0, result, index, values.length); if (index > 0) { @@ -8213,7 +8213,7 @@ public static double[] insert(final int index, final double[] array, final doubl throw new IndexOutOfBoundsException("Index: " + index + ", Length: " + array.length); } - double[] result = new double[array.length + values.length]; + final double[] result = new double[array.length + values.length]; System.arraycopy(values, 0, result, index, values.length); if (index > 0) { @@ -8255,7 +8255,7 @@ public static float[] insert(final int index, final float[] array, final float.. throw new IndexOutOfBoundsException("Index: " + index + ", Length: " + array.length); } - float[] result = new float[array.length + values.length]; + final float[] result = new float[array.length + values.length]; System.arraycopy(values, 0, result, index, values.length); if (index > 0) { @@ -8297,7 +8297,7 @@ public static int[] insert(final int index, final int[] array, final int... valu throw new IndexOutOfBoundsException("Index: " + index + ", Length: " + array.length); } - int[] result = new int[array.length + values.length]; + final int[] result = new int[array.length + values.length]; System.arraycopy(values, 0, result, index, values.length); if (index > 0) { @@ -8339,7 +8339,7 @@ public static long[] insert(final int index, final long[] array, final long... v throw new IndexOutOfBoundsException("Index: " + index + ", Length: " + array.length); } - long[] result = new long[array.length + values.length]; + final long[] result = new long[array.length + values.length]; System.arraycopy(values, 0, result, index, values.length); if (index > 0) { @@ -8381,7 +8381,7 @@ public static short[] insert(final int index, final short[] array, final short.. throw new IndexOutOfBoundsException("Index: " + index + ", Length: " + array.length); } - short[] result = new short[array.length + values.length]; + final short[] result = new short[array.length + values.length]; System.arraycopy(values, 0, result, index, values.length); if (index > 0) { @@ -8435,6 +8435,7 @@ public static T[] insert(final int index, final T[] array, final T... values final Class type = array.getClass().getComponentType(); @SuppressWarnings("unchecked") // OK, because array and values are of type T + final T[] result = (T[]) Array.newInstance(type, array.length + values.length); System.arraycopy(values, 0, result, index, values.length); @@ -8454,7 +8455,7 @@ public static T[] insert(final int index, final T[] array, final T... values * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(Object[] array) { + public static void shuffle(final Object[] array) { shuffle(array, new Random()); } @@ -8466,7 +8467,7 @@ public static void shuffle(Object[] array) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(Object[] array, Random random) { + public static void shuffle(final Object[] array, final Random random) { for (int i = array.length; i > 1; i--) { swap(array, i - 1, random.nextInt(i), 1); } @@ -8479,7 +8480,7 @@ public static void shuffle(Object[] array, Random random) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(boolean[] array) { + public static void shuffle(final boolean[] array) { shuffle(array, new Random()); } @@ -8491,7 +8492,7 @@ public static void shuffle(boolean[] array) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(boolean[] array, Random random) { + public static void shuffle(final boolean[] array, final Random random) { for (int i = array.length; i > 1; i--) { swap(array, i - 1, random.nextInt(i), 1); } @@ -8504,7 +8505,7 @@ public static void shuffle(boolean[] array, Random random) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(byte[] array) { + public static void shuffle(final byte[] array) { shuffle(array, new Random()); } @@ -8516,7 +8517,7 @@ public static void shuffle(byte[] array) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(byte[] array, Random random) { + public static void shuffle(final byte[] array, final Random random) { for (int i = array.length; i > 1; i--) { swap(array, i - 1, random.nextInt(i), 1); } @@ -8529,7 +8530,7 @@ public static void shuffle(byte[] array, Random random) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(char[] array) { + public static void shuffle(final char[] array) { shuffle(array, new Random()); } @@ -8541,7 +8542,7 @@ public static void shuffle(char[] array) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(char[] array, Random random) { + public static void shuffle(final char[] array, final Random random) { for (int i = array.length; i > 1; i--) { swap(array, i - 1, random.nextInt(i), 1); } @@ -8554,7 +8555,7 @@ public static void shuffle(char[] array, Random random) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(short[] array) { + public static void shuffle(final short[] array) { shuffle(array, new Random()); } @@ -8566,7 +8567,7 @@ public static void shuffle(short[] array) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(short[] array, Random random) { + public static void shuffle(final short[] array, final Random random) { for (int i = array.length; i > 1; i--) { swap(array, i - 1, random.nextInt(i), 1); } @@ -8579,7 +8580,7 @@ public static void shuffle(short[] array, Random random) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(int[] array) { + public static void shuffle(final int[] array) { shuffle(array, new Random()); } @@ -8591,7 +8592,7 @@ public static void shuffle(int[] array) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(int[] array, Random random) { + public static void shuffle(final int[] array, final Random random) { for (int i = array.length; i > 1; i--) { swap(array, i - 1, random.nextInt(i), 1); } @@ -8604,7 +8605,7 @@ public static void shuffle(int[] array, Random random) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(long[] array) { + public static void shuffle(final long[] array) { shuffle(array, new Random()); } @@ -8616,7 +8617,7 @@ public static void shuffle(long[] array) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(long[] array, Random random) { + public static void shuffle(final long[] array, final Random random) { for (int i = array.length; i > 1; i--) { swap(array, i - 1, random.nextInt(i), 1); } @@ -8629,7 +8630,7 @@ public static void shuffle(long[] array, Random random) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(float[] array) { + public static void shuffle(final float[] array) { shuffle(array, new Random()); } @@ -8641,7 +8642,7 @@ public static void shuffle(float[] array) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(float[] array, Random random) { + public static void shuffle(final float[] array, final Random random) { for (int i = array.length; i > 1; i--) { swap(array, i - 1, random.nextInt(i), 1); } @@ -8654,7 +8655,7 @@ public static void shuffle(float[] array, Random random) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(double[] array) { + public static void shuffle(final double[] array) { shuffle(array, new Random()); } @@ -8666,7 +8667,7 @@ public static void shuffle(double[] array) { * @see Fisher-Yates shuffle algorithm * @since 3.6 */ - public static void shuffle(double[] array, Random random) { + public static void shuffle(final double[] array, final Random random) { for (int i = array.length; i > 1; i--) { swap(array, i - 1, random.nextInt(i), 1); } diff --git a/src/main/java/org/apache/commons/lang3/CharSequenceUtils.java b/src/main/java/org/apache/commons/lang3/CharSequenceUtils.java index 9bac1c51718..a74f65b6186 100644 --- a/src/main/java/org/apache/commons/lang3/CharSequenceUtils.java +++ b/src/main/java/org/apache/commons/lang3/CharSequenceUtils.java @@ -113,10 +113,10 @@ static int indexOf(final CharSequence cs, final int searchChar, int start) { } //supplementary characters (LANG1300) if (searchChar <= Character.MAX_CODE_POINT) { - char[] chars = Character.toChars(searchChar); + final char[] chars = Character.toChars(searchChar); for (int i = start; i < sz - 1; i++) { - char high = cs.charAt(i); - char low = cs.charAt(i + 1); + final char high = cs.charAt(i); + final char low = cs.charAt(i + 1); if (high == chars[0] && low == chars[1]) { return i; } @@ -193,14 +193,14 @@ static int lastIndexOf(final CharSequence cs, final int searchChar, int start) { //supplementary characters (LANG1300) //NOTE - we must do a forward traversal for this to avoid duplicating code points if (searchChar <= Character.MAX_CODE_POINT) { - char[] chars = Character.toChars(searchChar); + final char[] chars = Character.toChars(searchChar); //make sure it's not the last index if (start == sz - 1) { return NOT_FOUND; } for (int i = start; i >= 0; i--) { - char high = cs.charAt(i); - char low = cs.charAt(i + 1); + final char high = cs.charAt(i); + final char low = cs.charAt(i + 1); if (chars[0] == high && chars[1] == low) { return i; } diff --git a/src/main/java/org/apache/commons/lang3/CharSet.java b/src/main/java/org/apache/commons/lang3/CharSet.java index cbb221da115..27e9464251e 100644 --- a/src/main/java/org/apache/commons/lang3/CharSet.java +++ b/src/main/java/org/apache/commons/lang3/CharSet.java @@ -175,7 +175,7 @@ public static CharSet getInstance(final String... setStrs) { */ protected CharSet(final String... set) { super(); - for (String s : set) { + for (final String s : set) { add(s); } } diff --git a/src/main/java/org/apache/commons/lang3/CharSetUtils.java b/src/main/java/org/apache/commons/lang3/CharSetUtils.java index 4ad4e6779a9..fbf3c58190b 100644 --- a/src/main/java/org/apache/commons/lang3/CharSetUtils.java +++ b/src/main/java/org/apache/commons/lang3/CharSetUtils.java @@ -232,7 +232,7 @@ private static String modify(final String str, final String[] set, final boolean final CharSet chars = CharSet.getInstance(set); final StringBuilder buffer = new StringBuilder(str.length()); final char[] chrs = str.toCharArray(); - for (char chr : chrs) { + for (final char chr : chrs) { if (chars.contains(chr) == expect) { buffer.append(chr); } diff --git a/src/main/java/org/apache/commons/lang3/RandomStringUtils.java b/src/main/java/org/apache/commons/lang3/RandomStringUtils.java index 431c5b4e45b..107ec20db08 100644 --- a/src/main/java/org/apache/commons/lang3/RandomStringUtils.java +++ b/src/main/java/org/apache/commons/lang3/RandomStringUtils.java @@ -382,7 +382,7 @@ public static String random(int count, int start, int end, final boolean letters "or greater then (" + first_letter_ascii + ") for generating letters."); } - StringBuilder builder = new StringBuilder(count); + final StringBuilder builder = new StringBuilder(count); final int gap = end - start; while (count-- != 0) { diff --git a/src/main/java/org/apache/commons/lang3/StringUtils.java b/src/main/java/org/apache/commons/lang3/StringUtils.java index b2b6b7261f1..e6dd61fd7e2 100644 --- a/src/main/java/org/apache/commons/lang3/StringUtils.java +++ b/src/main/java/org/apache/commons/lang3/StringUtils.java @@ -7895,7 +7895,7 @@ public static int indexOfDifference(final CharSequence... css) { // find the min and max string lengths; this avoids checking to make // sure we are not exceeding the length of the string each time through // the bottom loop. - for (CharSequence cs : css) { + for (final CharSequence cs : css) { if (cs == null) { anyStringNull = true; shortestStrLen = 0; @@ -9229,7 +9229,7 @@ public static String unwrap(final String str, final char wrapChar) { * @return an array of code points * @since 3.6 */ - public static int[] toCodePoints(CharSequence str) { + public static int[] toCodePoints(final CharSequence str) { if (str == null) { return null; } @@ -9237,8 +9237,8 @@ public static int[] toCodePoints(CharSequence str) { return ArrayUtils.EMPTY_INT_ARRAY; } - String s = str.toString(); - int[] result = new int[s.codePointCount(0, s.length())]; + final String s = str.toString(); + final int[] result = new int[s.codePointCount(0, s.length())]; int index = 0; for (int i = 0; i < result.length; i++) { result[i] = s.codePointAt(index); diff --git a/src/main/java/org/apache/commons/lang3/arch/Processor.java b/src/main/java/org/apache/commons/lang3/arch/Processor.java index cca224d4783..7bb99429b22 100644 --- a/src/main/java/org/apache/commons/lang3/arch/Processor.java +++ b/src/main/java/org/apache/commons/lang3/arch/Processor.java @@ -95,7 +95,7 @@ public enum Type { * @param arch The processor architecture. * @param type The processor type. */ - public Processor(Arch arch, Type type) { + public Processor(final Arch arch, final Type type) { this.arch = arch; this.type = type; } diff --git a/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java b/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java index c59fcecff72..e720deb73c0 100644 --- a/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java +++ b/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java @@ -355,7 +355,7 @@ public static String toString( */ public static String toString( final T object, final ToStringStyle style, final boolean outputTransients, - final boolean outputStatics, boolean excludeNullValues, final Class reflectUpToClass) { + final boolean outputStatics, final boolean excludeNullValues, final Class reflectUpToClass) { return new ReflectionToStringBuilder(object, style, null, reflectUpToClass, outputTransients, outputStatics, excludeNullValues) .toString(); } diff --git a/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java b/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java index 17ed733af51..c3b4a033e50 100644 --- a/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java +++ b/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java @@ -622,7 +622,7 @@ private static Method getAccessibleMethodFromInterfaceNest(Class cls, // Check the implemented interfaces of the parent class final Class[] interfaces = cls.getInterfaces(); - for (Class anInterface : interfaces) { + for (final Class anInterface : interfaces) { // Is this interface public? if (!Modifier.isPublic(anInterface.getModifiers())) { continue; @@ -875,7 +875,7 @@ public static List getMethodsListWithAnnotation(final Class cls, fina * @since 3.6 */ public static Method[] getMethodsWithAnnotation(final Class cls, final Class annotationCls, - boolean searchSupers, boolean ignoreAccess) { + final boolean searchSupers, final boolean ignoreAccess) { final List annotatedMethodsList = getMethodsListWithAnnotation(cls, annotationCls, searchSupers, ignoreAccess); return annotatedMethodsList.toArray(new Method[annotatedMethodsList.size()]); @@ -898,15 +898,15 @@ public static Method[] getMethodsWithAnnotation(final Class cls, final Class< */ public static List getMethodsListWithAnnotation(final Class cls, final Class annotationCls, - boolean searchSupers, boolean ignoreAccess) { + final boolean searchSupers, final boolean ignoreAccess) { Validate.isTrue(cls != null, "The class must not be null"); Validate.isTrue(annotationCls != null, "The annotation class must not be null"); - List> classes = (searchSupers ? getAllSuperclassesAndInterfaces(cls) + final List> classes = (searchSupers ? getAllSuperclassesAndInterfaces(cls) : new ArrayList>()); classes.add(0, cls); final List annotatedMethods = new ArrayList<>(); - for (Class acls : classes) { + for (final Class acls : classes) { final Method[] methods = (ignoreAccess ? acls.getDeclaredMethods() : acls.getMethods()); for (final Method method : methods) { if (method.getAnnotation(annotationCls) != null) { @@ -941,7 +941,7 @@ public static List getMethodsListWithAnnotation(final Class cls, * @since 3.6 */ public static A getAnnotation(final Method method, final Class annotationCls, - boolean searchSupers, boolean ignoreAccess) { + final boolean searchSupers, final boolean ignoreAccess) { Validate.isTrue(method != null, "The method must not be null"); Validate.isTrue(annotationCls != null, "The annotation class must not be null"); @@ -952,14 +952,14 @@ public static A getAnnotation(final Method method, final A annotation = method.getAnnotation(annotationCls); if (annotation == null && searchSupers) { - Class mcls = method.getDeclaringClass(); - List> classes = getAllSuperclassesAndInterfaces(mcls); - for (Class acls : classes) { + final Class mcls = method.getDeclaringClass(); + final List> classes = getAllSuperclassesAndInterfaces(mcls); + for (final Class acls : classes) { Method equivalentMethod; try { equivalentMethod = (ignoreAccess ? acls.getDeclaredMethod(method.getName(), method.getParameterTypes()) : acls.getMethod(method.getName(), method.getParameterTypes())); - } catch (NoSuchMethodException e) { + } catch (final NoSuchMethodException e) { // if not found, just keep searching continue; } @@ -989,9 +989,9 @@ private static List> getAllSuperclassesAndInterfaces(final Class cls } final List> allSuperClassesAndInterfaces = new ArrayList<>(); - List> allSuperclasses = ClassUtils.getAllSuperclasses(cls); + final List> allSuperclasses = ClassUtils.getAllSuperclasses(cls); int superClassIndex = 0; - List> allInterfaces = ClassUtils.getAllInterfaces(cls); + final List> allInterfaces = ClassUtils.getAllInterfaces(cls); int interfaceIndex = 0; while (interfaceIndex < allInterfaces.size() || superClassIndex < allSuperclasses.size()) { diff --git a/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java b/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java index 9e07c33b114..3a7ac178064 100644 --- a/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java +++ b/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java @@ -1811,7 +1811,7 @@ private static String parameterizedTypeToString(final ParameterizedType p) { return buf.toString(); } - private static void appendRecursiveTypes(StringBuilder buf, int[] recursiveTypeIndexes, Type[] argumentTypes) { + private static void appendRecursiveTypes(final StringBuilder buf, final int[] recursiveTypeIndexes, final Type[] argumentTypes) { for (int i = 0; i < recursiveTypeIndexes.length; i++) { appendAllTo(buf.append('<'), ", ", argumentTypes[i].toString()).append('>'); } @@ -1823,8 +1823,8 @@ private static void appendRecursiveTypes(StringBuilder buf, int[] recursiveTypeI } } - private static int[] findRecursiveTypes(ParameterizedType p) { - Type[] filteredArgumentTypes = Arrays.copyOf(p.getActualTypeArguments(), p.getActualTypeArguments().length); + private static int[] findRecursiveTypes(final ParameterizedType p) { + final Type[] filteredArgumentTypes = Arrays.copyOf(p.getActualTypeArguments(), p.getActualTypeArguments().length); int[] indexesToRemove = new int[] {}; for (int i = 0; i < filteredArgumentTypes.length; i++) { if (filteredArgumentTypes[i] instanceof TypeVariable) { @@ -1836,7 +1836,7 @@ private static int[] findRecursiveTypes(ParameterizedType p) { return indexesToRemove; } - private static boolean containsVariableTypeSameParametrizedTypeBound(TypeVariable typeVariable, ParameterizedType p) { + private static boolean containsVariableTypeSameParametrizedTypeBound(final TypeVariable typeVariable, final ParameterizedType p) { return ArrayUtils.contains(typeVariable.getBounds(), p); } @@ -1887,7 +1887,7 @@ private static StringBuilder appendAllTo(final StringBuilder buf, final Stri return buf; } - private static String toString(T object) { + private static String toString(final T object) { return object instanceof Type ? toString((Type) object) : object.toString(); } diff --git a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java index 33815588e23..6f31af38a5a 100644 --- a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java +++ b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java @@ -888,7 +888,7 @@ private static class TzInfo { */ @Override void setCalendar(final FastDateParser parser, final Calendar cal, final String timeZone) { - TimeZone tz = FastTimeZone.getGmtTimeZone(timeZone); + final TimeZone tz = FastTimeZone.getGmtTimeZone(timeZone); if (tz != null) { cal.setTimeZone(tz); } else { diff --git a/src/main/java/org/apache/commons/lang3/time/FastTimeZone.java b/src/main/java/org/apache/commons/lang3/time/FastTimeZone.java index f759758d6b7..3902b7868e2 100644 --- a/src/main/java/org/apache/commons/lang3/time/FastTimeZone.java +++ b/src/main/java/org/apache/commons/lang3/time/FastTimeZone.java @@ -46,15 +46,15 @@ public static TimeZone getGmtTimeZone() { * @param pattern The GMT offset * @return A TimeZone with offset from GMT or null, if pattern does not match. */ - public static TimeZone getGmtTimeZone(String pattern) { + public static TimeZone getGmtTimeZone(final String pattern) { if ("Z".equals(pattern) || "UTC".equals(pattern)) { return GREENWICH; } - Matcher m = GMT_PATTERN.matcher(pattern); + final Matcher m = GMT_PATTERN.matcher(pattern); if (m.matches()) { - int hours = parseInt(m.group(2)); - int minutes = parseInt(m.group(4)); + final int hours = parseInt(m.group(2)); + final int minutes = parseInt(m.group(4)); if (hours == 0 && minutes == 0) { return GREENWICH; } @@ -72,19 +72,19 @@ public static TimeZone getGmtTimeZone(String pattern) { * @param id A GMT custom id (or Olson id * @return A timezone */ - public static TimeZone getTimeZone(String id) { - TimeZone tz = getGmtTimeZone(id); + public static TimeZone getTimeZone(final String id) { + final TimeZone tz = getGmtTimeZone(id); if (tz != null) { return tz; } return TimeZone.getTimeZone(id); } - private static int parseInt(String group) { + private static int parseInt(final String group) { return group != null ? Integer.parseInt(group) : 0; } - private static boolean parseSign(String group) { + private static boolean parseSign(final String group) { return group != null && group.charAt(0) == '-'; } diff --git a/src/main/java/org/apache/commons/lang3/time/GmtTimeZone.java b/src/main/java/org/apache/commons/lang3/time/GmtTimeZone.java index 860cdc05539..21753f400b6 100644 --- a/src/main/java/org/apache/commons/lang3/time/GmtTimeZone.java +++ b/src/main/java/org/apache/commons/lang3/time/GmtTimeZone.java @@ -36,14 +36,14 @@ class GmtTimeZone extends TimeZone { private final int offset; private final String zoneId; - GmtTimeZone(boolean negate, int hours, int minutes) { + GmtTimeZone(final boolean negate, final int hours, final int minutes) { if (hours >= HOURS_PER_DAY) { throw new IllegalArgumentException(hours + " hours out of range"); } if (minutes >= MINUTES_PER_HOUR) { throw new IllegalArgumentException(minutes + " minutes out of range"); } - int milliseconds = (minutes + (hours * MINUTES_PER_HOUR)) * MILLISECONDS_PER_MINUTE; + final int milliseconds = (minutes + (hours * MINUTES_PER_HOUR)) * MILLISECONDS_PER_MINUTE; offset = negate ? -milliseconds : milliseconds; zoneId = twoDigits( twoDigits(new StringBuilder(9).append("GMT").append(negate ? '-' : '+'), hours) @@ -51,17 +51,17 @@ class GmtTimeZone extends TimeZone { } - private static StringBuilder twoDigits(StringBuilder sb, int n) { + private static StringBuilder twoDigits(final StringBuilder sb, final int n) { return sb.append((char) ('0' + (n / 10))).append((char) ('0' + (n % 10))); } @Override - public int getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds) { + public int getOffset(final int era, final int year, final int month, final int day, final int dayOfWeek, final int milliseconds) { return offset; } @Override - public void setRawOffset(int offsetMillis) { + public void setRawOffset(final int offsetMillis) { throw new UnsupportedOperationException(); } @@ -81,7 +81,7 @@ public boolean useDaylightTime() { } @Override - public boolean inDaylightTime(Date date) { + public boolean inDaylightTime(final Date date) { return false; } @@ -96,7 +96,7 @@ public int hashCode() { } @Override - public boolean equals(Object other) { + public boolean equals(final Object other) { if (!(other instanceof GmtTimeZone)) { return false; } diff --git a/src/test/java/org/apache/commons/lang3/ArchUtilsTest.java b/src/test/java/org/apache/commons/lang3/ArchUtilsTest.java index fb2a57ac9e3..a20379c1e81 100644 --- a/src/test/java/org/apache/commons/lang3/ArchUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/ArchUtilsTest.java @@ -133,25 +133,25 @@ public void testGetProcessor() { assertNull(ArchUtils.getProcessor("NA")); } - private void assertEqualsArchNotNull(Processor.Arch arch, Processor processor) { + private void assertEqualsArchNotNull(final Processor.Arch arch, final Processor processor) { assertNotNull(arch); assertNotNull(processor); assertEquals(arch, processor.getArch()); } - private void assertNotEqualsArchNotNull(Processor.Arch arch, Processor processor) { + private void assertNotEqualsArchNotNull(final Processor.Arch arch, final Processor processor) { assertNotNull(arch); assertNotNull(processor); assertNotEquals(arch, processor.getArch()); } - private void assertEqualsTypeNotNull(Processor.Type type, Processor processor) { + private void assertEqualsTypeNotNull(final Processor.Type type, final Processor processor) { assertNotNull(type); assertNotNull(processor); assertEquals(type, processor.getType()); } - private void assertNotEqualsTypeNotNull(Processor.Type type, Processor processor) { + private void assertNotEqualsTypeNotNull(final Processor.Type type, final Processor processor) { assertNotNull(type); assertNotNull(processor); assertNotEquals(type, processor.getType()); diff --git a/src/test/java/org/apache/commons/lang3/ArrayUtilsInsertTest.java b/src/test/java/org/apache/commons/lang3/ArrayUtilsInsertTest.java index 80ff24d104d..2a0a23f4a79 100644 --- a/src/test/java/org/apache/commons/lang3/ArrayUtilsInsertTest.java +++ b/src/test/java/org/apache/commons/lang3/ArrayUtilsInsertTest.java @@ -34,7 +34,7 @@ public void testInsertBooleans() throws Exception { final boolean[] array = {true,false,true}; final boolean[] values = {false,true,false}; - boolean[] result = ArrayUtils.insert(42, array, null); + final boolean[] result = ArrayUtils.insert(42, array, null); assertArrayEquals(array, result); assertFalse(array == result); @@ -45,14 +45,14 @@ public void testInsertBooleans() throws Exception { try { ArrayUtils.insert(-1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } try { ArrayUtils.insert(array.length + 1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } @@ -70,7 +70,7 @@ public void testInsertBytes() throws Exception { final byte[] array = {1,2,3}; final byte[] values = {4,5,6}; - byte[] result = ArrayUtils.insert(42, array, null); + final byte[] result = ArrayUtils.insert(42, array, null); assertArrayEquals(array, result); assertFalse(array == result); @@ -81,14 +81,14 @@ public void testInsertBytes() throws Exception { try { ArrayUtils.insert(-1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } try { ArrayUtils.insert(array.length + 1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } @@ -105,7 +105,7 @@ public void testInsertChars() throws Exception { final char[] array = {'a','b','c'}; final char[] values = {'d','e','f'}; - char[] result = ArrayUtils.insert(42, array, null); + final char[] result = ArrayUtils.insert(42, array, null); assertArrayEquals(array, result); assertFalse(array == result); @@ -116,14 +116,14 @@ public void testInsertChars() throws Exception { try { ArrayUtils.insert(-1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } try { ArrayUtils.insert(array.length + 1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } @@ -141,7 +141,7 @@ public void testInsertDoubles() throws Exception { final double[] values = {4,5,6}; final double delta = 0.000001; - double[] result = ArrayUtils.insert(42, array, null); + final double[] result = ArrayUtils.insert(42, array, null); assertArrayEquals(array, result, delta); assertFalse(array == result); @@ -152,14 +152,14 @@ public void testInsertDoubles() throws Exception { try { ArrayUtils.insert(-1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } try { ArrayUtils.insert(array.length + 1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } @@ -177,7 +177,7 @@ public void testInsertFloats() throws Exception { final float[] values = {4,5,6}; final float delta = 0.000001f; - float[] result = ArrayUtils.insert(42, array, null); + final float[] result = ArrayUtils.insert(42, array, null); assertArrayEquals(array, result, delta); assertFalse(array == result); @@ -188,14 +188,14 @@ public void testInsertFloats() throws Exception { try { ArrayUtils.insert(-1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } try { ArrayUtils.insert(array.length + 1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } @@ -212,7 +212,7 @@ public void testInsertInts() throws Exception { final int[] array = {1,2,3}; final int[] values = {4,5,6}; - int[] result = ArrayUtils.insert(42, array, null); + final int[] result = ArrayUtils.insert(42, array, null); assertArrayEquals(array, result); assertFalse(array == result); @@ -223,14 +223,14 @@ public void testInsertInts() throws Exception { try { ArrayUtils.insert(-1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } try { ArrayUtils.insert(array.length + 1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } @@ -248,7 +248,7 @@ public void testInsertLongs() throws Exception { final long[] array = {1,2,3}; final long[] values = {4,5,6}; - long[] result = ArrayUtils.insert(42, array, null); + final long[] result = ArrayUtils.insert(42, array, null); assertArrayEquals(array, result); assertFalse(array == result); @@ -259,14 +259,14 @@ public void testInsertLongs() throws Exception { try { ArrayUtils.insert(-1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } try { ArrayUtils.insert(array.length + 1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } @@ -284,7 +284,7 @@ public void testInsertShorts() throws Exception { final short[] array = {1,2,3}; final short[] values = {4,5,6}; - short[] result = ArrayUtils.insert(42, array, null); + final short[] result = ArrayUtils.insert(42, array, null); assertArrayEquals(array, result); assertFalse(array == result); @@ -295,14 +295,14 @@ public void testInsertShorts() throws Exception { try { ArrayUtils.insert(-1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } try { ArrayUtils.insert(array.length + 1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } @@ -320,7 +320,7 @@ public void testInsertGenericArray() throws Exception { final String[] array = {"a","b","c"}; final String[] values = {"d","e","f"}; - String[] result = ArrayUtils.insert(42, array, (String[]) null); + final String[] result = ArrayUtils.insert(42, array, (String[]) null); assertArrayEquals(array, result); assertFalse(array == result); @@ -331,14 +331,14 @@ public void testInsertGenericArray() throws Exception { try { ArrayUtils.insert(-1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } try { ArrayUtils.insert(array.length + 1, array, array); fail("Expected IndexOutOfBoundsException"); - } catch (IndexOutOfBoundsException e) { + } catch (final IndexOutOfBoundsException e) { // expected } diff --git a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java index 7d02891ae5b..0effba70997 100644 --- a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java @@ -5004,20 +5004,20 @@ public void testToStringArray_array_string() { @Test public void testShuffle() { - String[] array1 = new String[]{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"}; - String[] array2 = ArrayUtils.clone(array1); + final String[] array1 = new String[]{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"}; + final String[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); assertFalse(Arrays.equals(array1, array2)); - for (String element : array2) { + for (final String element : array2) { assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); } } @Test public void testShuffleBoolean() { - boolean[] array1 = new boolean[]{true, false, true, true, false, false, true, false, false, true}; - boolean[] array2 = ArrayUtils.clone(array1); + final boolean[] array1 = new boolean[]{true, false, true, true, false, false, true, false, false, true}; + final boolean[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); assertFalse(Arrays.equals(array1, array2)); @@ -5026,84 +5026,84 @@ public void testShuffleBoolean() { @Test public void testShuffleByte() { - byte[] array1 = new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; - byte[] array2 = ArrayUtils.clone(array1); + final byte[] array1 = new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + final byte[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); assertFalse(Arrays.equals(array1, array2)); - for (byte element : array2) { + for (final byte element : array2) { assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); } } @Test public void testShuffleChar() { - char[] array1 = new char[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; - char[] array2 = ArrayUtils.clone(array1); + final char[] array1 = new char[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + final char[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); assertFalse(Arrays.equals(array1, array2)); - for (char element : array2) { + for (final char element : array2) { assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); } } @Test public void testShuffleShort() { - short[] array1 = new short[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; - short[] array2 = ArrayUtils.clone(array1); + final short[] array1 = new short[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + final short[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); assertFalse(Arrays.equals(array1, array2)); - for (short element : array2) { + for (final short element : array2) { assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); } } @Test public void testShuffleInt() { - int[] array1 = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; - int[] array2 = ArrayUtils.clone(array1); + final int[] array1 = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + final int[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); assertFalse(Arrays.equals(array1, array2)); - for (int element : array2) { + for (final int element : array2) { assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); } } @Test public void testShuffleLong() { - long[] array1 = new long[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; - long[] array2 = ArrayUtils.clone(array1); + final long[] array1 = new long[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + final long[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); assertFalse(Arrays.equals(array1, array2)); - for (long element : array2) { + for (final long element : array2) { assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); } } @Test public void testShuffleFloat() { - float[] array1 = new float[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; - float[] array2 = ArrayUtils.clone(array1); + final float[] array1 = new float[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + final float[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); assertFalse(Arrays.equals(array1, array2)); - for (float element : array2) { + for (final float element : array2) { assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); } } @Test public void testShuffleDouble() { - double[] array1 = new double[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; - double[] array2 = ArrayUtils.clone(array1); + final double[] array1 = new double[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + final double[] array2 = ArrayUtils.clone(array1); ArrayUtils.shuffle(array1); assertFalse(Arrays.equals(array1, array2)); - for (double element : array2) { + for (final double element : array2) { assertTrue("Element " + element + " not found", ArrayUtils.contains(array1, element)); } } diff --git a/src/test/java/org/apache/commons/lang3/CharRangeTest.java b/src/test/java/org/apache/commons/lang3/CharRangeTest.java index 83a1008dfe4..54f2a8706c6 100644 --- a/src/test/java/org/apache/commons/lang3/CharRangeTest.java +++ b/src/test/java/org/apache/commons/lang3/CharRangeTest.java @@ -400,7 +400,7 @@ public void testSerialization() { //----------------------------------------------------------------------- @Test(expected = UnsupportedOperationException.class) public void testIteratorRemove() { - CharRange a = CharRange.is('a'); + final CharRange a = CharRange.is('a'); final Iterator aIt = a.iterator(); aIt.remove(); } diff --git a/src/test/java/org/apache/commons/lang3/RandomStringUtilsTest.java b/src/test/java/org/apache/commons/lang3/RandomStringUtilsTest.java index 2b2c4a5a10b..850ba380bd2 100644 --- a/src/test/java/org/apache/commons/lang3/RandomStringUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/RandomStringUtilsTest.java @@ -544,20 +544,21 @@ public void testLang100() { */ @Test public void testCharOverflow() throws Exception { - int start = Character.MAX_VALUE; - int end = Integer.MAX_VALUE; + final int start = Character.MAX_VALUE; + final int end = Integer.MAX_VALUE; @SuppressWarnings("serial") + final Random fixedRandom = new Random() { @Override - public int nextInt(int n) { + public int nextInt(final int n) { // Prevents selection of 'start' as the character return super.nextInt(n - 1) + 1; } }; - String result = RandomStringUtils.random(2, start, end, false, false, null, fixedRandom); - int c = result.codePointAt(0); + final String result = RandomStringUtils.random(2, start, end, false, false, null, fixedRandom); + final int c = result.codePointAt(0); assertTrue(String.format("Character '%d' not in range [%d,%d).", c, start, end), c >= start && c < end); } } diff --git a/src/test/java/org/apache/commons/lang3/RandomUtilsTest.java b/src/test/java/org/apache/commons/lang3/RandomUtilsTest.java index 3f9604f9b6e..d3a28c630d2 100644 --- a/src/test/java/org/apache/commons/lang3/RandomUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/RandomUtilsTest.java @@ -97,7 +97,7 @@ public void testNextFloatLowerGreaterUpper() throws Exception { */ @Test public void testBoolean() { - boolean result = RandomUtils.nextBoolean(); + final boolean result = RandomUtils.nextBoolean(); assertTrue(result == true || result == false); } diff --git a/src/test/java/org/apache/commons/lang3/StringUtilsEqualsIndexOfTest.java b/src/test/java/org/apache/commons/lang3/StringUtilsEqualsIndexOfTest.java index 7172c0e1793..f992ef7f392 100644 --- a/src/test/java/org/apache/commons/lang3/StringUtilsEqualsIndexOfTest.java +++ b/src/test/java/org/apache/commons/lang3/StringUtilsEqualsIndexOfTest.java @@ -307,7 +307,7 @@ public void testIndexOf_charInt() { assertEquals(2, StringUtils.indexOf(builder, CODE_POINT, 1)); assertEquals(2, StringUtils.indexOf(builder.toString(), CODE_POINT, 1)); // inner branch on the supplementary character block - char[] tmp = { (char) 55361 }; + final char[] tmp = { (char) 55361 }; builder = new StringBuilder(); builder.append(tmp); assertEquals(-1, StringUtils.indexOf(builder, CODE_POINT, 0)); @@ -561,7 +561,7 @@ public void testLastIndexOf_charInt() { builder.append("aaaaa"); assertEquals(2, StringUtils.lastIndexOf(builder, CODE_POINT, 4)); // inner branch on the supplementary character block - char[] tmp = { (char) 55361 }; + final char[] tmp = { (char) 55361 }; builder = new StringBuilder(); builder.append(tmp); assertEquals(-1, StringUtils.lastIndexOf(builder, CODE_POINT, 0)); diff --git a/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java b/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java index 57afe517272..755b4e46175 100644 --- a/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java @@ -60,7 +60,7 @@ public void testConstructor() { @Test public void testGetHostName() { final String hostName = SystemUtils.getHostName(); - String expected = SystemUtils.IS_OS_WINDOWS ? System.getenv("COMPUTERNAME") : System.getenv("HOSTNAME"); + final String expected = SystemUtils.IS_OS_WINDOWS ? System.getenv("COMPUTERNAME") : System.getenv("HOSTNAME"); assertEquals(expected, hostName); } diff --git a/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java b/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java index d516dcafe92..23651f61272 100644 --- a/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java +++ b/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java @@ -1343,18 +1343,18 @@ public void testReflectionAppend() { @Test public void testIsRegistered() throws Exception { - Object firstObject = new Object(); - Object secondObject = new Object(); + final Object firstObject = new Object(); + final Object secondObject = new Object(); try { - Method registerMethod = MethodUtils.getMatchingMethod(EqualsBuilder.class, "register", Object.class, Object.class); + final Method registerMethod = MethodUtils.getMatchingMethod(EqualsBuilder.class, "register", Object.class, Object.class); registerMethod.setAccessible(true); registerMethod.invoke(null, firstObject, secondObject); assertTrue(EqualsBuilder.isRegistered(firstObject, secondObject)); assertTrue(EqualsBuilder.isRegistered(secondObject, firstObject)); // LANG-1349 } finally { - Method unregisterMethod = MethodUtils.getMatchingMethod(EqualsBuilder.class, "unregister", Object.class, Object.class); + final Method unregisterMethod = MethodUtils.getMatchingMethod(EqualsBuilder.class, "unregister", Object.class, Object.class); unregisterMethod.setAccessible(true); unregisterMethod.invoke(null, firstObject, secondObject); } diff --git a/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeNullValuesTest.java b/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeNullValuesTest.java index f100d7db45a..4458e56ebfc 100644 --- a/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeNullValuesTest.java +++ b/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeNullValuesTest.java @@ -30,7 +30,7 @@ static class TestFixture { @SuppressWarnings("unused") private final String testStringField; - TestFixture(Integer a, String b) { + TestFixture(final Integer a, final String b) { this.testIntegerField = a; this.testStringField = b; } @@ -116,7 +116,7 @@ public void test_ConstructorOption(){ @Test public void test_ConstructorOptionNormal(){ - ReflectionToStringBuilder builder = new ReflectionToStringBuilder(BOTH_NULL, null, null, null, false, false, false); + final ReflectionToStringBuilder builder = new ReflectionToStringBuilder(BOTH_NULL, null, null, null, false, false, false); assertFalse(builder.isExcludeNullValues()); String toString = builder.toString(); assertTrue(toString.contains(STRING_FIELD_NAME)); @@ -153,7 +153,7 @@ public void test_ConstructorOption_ExcludeNull(){ assertFalse(toString.contains(STRING_FIELD_NAME)); assertFalse(toString.contains(INTEGER_FIELD_NAME)); - ReflectionToStringBuilder oldBuilder = new ReflectionToStringBuilder(BOTH_NULL); + final ReflectionToStringBuilder oldBuilder = new ReflectionToStringBuilder(BOTH_NULL); oldBuilder.setExcludeNullValues(true); assertTrue(oldBuilder.isExcludeNullValues()); toString = oldBuilder.toString(); diff --git a/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java b/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java index 5ad16d165b1..c418ff371c7 100644 --- a/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java +++ b/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java @@ -620,9 +620,9 @@ public void testAppendToString() { @Test public void testAppendAsObjectToString() { - String objectToAppend1 = ""; - Boolean objectToAppend2 = Boolean.TRUE; - Object objectToAppend3 = new Object(); + final String objectToAppend1 = ""; + final Boolean objectToAppend2 = Boolean.TRUE; + final Object objectToAppend3 = new Object(); assertEquals(baseStr + "[" + toBaseString(objectToAppend1) + "]", new ToStringBuilder(base).appendAsObjectToString(objectToAppend1).toString()); @@ -634,7 +634,7 @@ public void testAppendAsObjectToString() { @Test public void testAppendBooleanArrayWithFieldName() { - boolean[] array = new boolean[] { true, false, false }; + final boolean[] array = new boolean[] { true, false, false }; assertEquals(baseStr + "[flags={true,false,false}]", new ToStringBuilder(base).append("flags", array).toString()); assertEquals(baseStr + "[flags=]", @@ -645,7 +645,7 @@ public void testAppendBooleanArrayWithFieldName() { @Test public void testAppendBooleanArrayWithFieldNameAndFullDetatil() { - boolean[] array = new boolean[] { true, false, false }; + final boolean[] array = new boolean[] { true, false, false }; assertEquals(baseStr + "[flags={true,false,false}]", new ToStringBuilder(base).append("flags", array, true).toString()); assertEquals(baseStr + "[length=]", @@ -658,7 +658,7 @@ public void testAppendBooleanArrayWithFieldNameAndFullDetatil() { @Test public void testAppendCharArrayWithFieldName() { - char[] array = new char[] { 'A', '2', '_', 'D' }; + final char[] array = new char[] { 'A', '2', '_', 'D' }; assertEquals(baseStr + "[chars={A,2,_,D}]", new ToStringBuilder(base).append("chars", array).toString()); assertEquals(baseStr + "[letters={A,2,_,D}]", new ToStringBuilder(base).append("letters", array).toString()); assertEquals(baseStr + "[flags=]", @@ -669,7 +669,7 @@ public void testAppendCharArrayWithFieldName() { @Test public void testAppendCharArrayWithFieldNameAndFullDetatil() { - char[] array = new char[] { 'A', '2', '_', 'D' }; + final char[] array = new char[] { 'A', '2', '_', 'D' }; assertEquals(baseStr + "[chars={A,2,_,D}]", new ToStringBuilder(base).append("chars", array, true).toString()); assertEquals(baseStr + "[letters=]", new ToStringBuilder(base).append("letters", array, false).toString()); @@ -681,7 +681,7 @@ public void testAppendCharArrayWithFieldNameAndFullDetatil() { @Test public void testAppendDoubleArrayWithFieldName() { - double[] array = new double[] { 1.0, 2.9876, -3.00001, 4.3 }; + final double[] array = new double[] { 1.0, 2.9876, -3.00001, 4.3 }; assertEquals(baseStr + "[values={1.0,2.9876,-3.00001,4.3}]", new ToStringBuilder(base).append("values", array).toString()); assertEquals(baseStr + "[values=]", @@ -692,7 +692,7 @@ public void testAppendDoubleArrayWithFieldName() { @Test public void testAppendDoubleArrayWithFieldNameAndFullDetatil() { - double[] array = new double[] { 1.0, 2.9876, -3.00001, 4.3 }; + final double[] array = new double[] { 1.0, 2.9876, -3.00001, 4.3 }; assertEquals(baseStr + "[values={1.0,2.9876,-3.00001,4.3}]", new ToStringBuilder(base).append("values", array, true).toString()); assertEquals(baseStr + "[length=]", @@ -705,7 +705,7 @@ public void testAppendDoubleArrayWithFieldNameAndFullDetatil() { @Test public void testAppendObjectArrayWithFieldName() { - Object[] array = new Object[] { null, base, new int[] { 3, 6 } }; + final Object[] array = new Object[] { null, base, new int[] { 3, 6 } }; assertEquals(baseStr + "[values={,5,{3,6}}]", new ToStringBuilder(base).append("values", array).toString()); assertEquals(baseStr + "[values=]", @@ -716,7 +716,7 @@ public void testAppendObjectArrayWithFieldName() { @Test public void testAppendObjectArrayWithFieldNameAndFullDetatil() { - Object[] array = new Object[] { null, base, new int[] { 3, 6 } }; + final Object[] array = new Object[] { null, base, new int[] { 3, 6 } }; assertEquals(baseStr + "[values={,5,{3,6}}]", new ToStringBuilder(base).append("values", array, true).toString()); assertEquals(baseStr + "[length=]", @@ -729,7 +729,7 @@ public void testAppendObjectArrayWithFieldNameAndFullDetatil() { @Test public void testAppendLongArrayWithFieldName() { - long[] array = new long[] { 1, 2, -3, 4 }; + final long[] array = new long[] { 1, 2, -3, 4 }; assertEquals(baseStr + "[values={1,2,-3,4}]", new ToStringBuilder(base).append("values", array).toString()); assertEquals(baseStr + "[values=]", new ToStringBuilder(base).append("values", (boolean[]) null).toString()); @@ -739,7 +739,7 @@ public void testAppendLongArrayWithFieldName() { @Test public void testAppendLongArrayWithFieldNameAndFullDetatil() { - long[] array = new long[] { 1, 2, -3, 4 }; + final long[] array = new long[] { 1, 2, -3, 4 }; assertEquals(baseStr + "[values={1,2,-3,4}]", new ToStringBuilder(base).append("values", array, true).toString()); assertEquals(baseStr + "[length=]", @@ -752,7 +752,7 @@ public void testAppendLongArrayWithFieldNameAndFullDetatil() { @Test public void testAppendIntArrayWithFieldName() { - int[] array = new int[] { 1, 2, -3, 4 }; + final int[] array = new int[] { 1, 2, -3, 4 }; assertEquals(baseStr + "[values={1,2,-3,4}]", new ToStringBuilder(base).append("values", array).toString()); assertEquals(baseStr + "[values=]", new ToStringBuilder(base).append("values", (boolean[]) null).toString()); @@ -762,7 +762,7 @@ public void testAppendIntArrayWithFieldName() { @Test public void testAppendIntArrayWithFieldNameAndFullDetatil() { - int[] array = new int[] { 1, 2, -3, 4 }; + final int[] array = new int[] { 1, 2, -3, 4 }; assertEquals(baseStr + "[values={1,2,-3,4}]", new ToStringBuilder(base).append("values", array, true).toString()); assertEquals(baseStr + "[length=]", @@ -775,7 +775,7 @@ public void testAppendIntArrayWithFieldNameAndFullDetatil() { @Test public void testAppendShortArrayWithFieldName() { - short[] array = new short[] { 1, 2, -3, 4 }; + final short[] array = new short[] { 1, 2, -3, 4 }; assertEquals(baseStr + "[values={1,2,-3,4}]", new ToStringBuilder(base).append("values", array).toString()); assertEquals(baseStr + "[values=]", new ToStringBuilder(base).append("values", (boolean[]) null).toString()); @@ -785,7 +785,7 @@ public void testAppendShortArrayWithFieldName() { @Test public void testAppendShortArrayWithFieldNameAndFullDetatil() { - short[] array = new short[] { 1, 2, -3, 4 }; + final short[] array = new short[] { 1, 2, -3, 4 }; assertEquals(baseStr + "[values={1,2,-3,4}]", new ToStringBuilder(base).append("values", array, true).toString()); assertEquals(baseStr + "[length=]", @@ -798,7 +798,7 @@ public void testAppendShortArrayWithFieldNameAndFullDetatil() { @Test public void testAppendByteArrayWithFieldName() { - byte[] array = new byte[] { 1, 2, -3, 4 }; + final byte[] array = new byte[] { 1, 2, -3, 4 }; assertEquals(baseStr + "[values={1,2,-3,4}]", new ToStringBuilder(base).append("values", array).toString()); assertEquals(baseStr + "[values=]", new ToStringBuilder(base).append("values", (boolean[]) null).toString()); @@ -808,7 +808,7 @@ public void testAppendByteArrayWithFieldName() { @Test public void testAppendByteArrayWithFieldNameAndFullDetatil() { - byte[] array = new byte[] { 1, 2, -3, 4 }; + final byte[] array = new byte[] { 1, 2, -3, 4 }; assertEquals(baseStr + "[values={1,2,-3,4}]", new ToStringBuilder(base).append("values", array, true).toString()); assertEquals(baseStr + "[length=]", @@ -821,7 +821,7 @@ public void testAppendByteArrayWithFieldNameAndFullDetatil() { @Test public void testAppendFloatArrayWithFieldName() { - float[] array = new float[] { 1.0f, 2.9876f, -3.00001f, 4.3f }; + final float[] array = new float[] { 1.0f, 2.9876f, -3.00001f, 4.3f }; assertEquals(baseStr + "[values={1.0,2.9876,-3.00001,4.3}]", new ToStringBuilder(base).append("values", array).toString()); assertEquals(baseStr + "[values=]", @@ -832,7 +832,7 @@ public void testAppendFloatArrayWithFieldName() { @Test public void testAppendFloatArrayWithFieldNameAndFullDetatil() { - float[] array = new float[] { 1.0f, 2.9876f, -3.00001f, 4.3f }; + final float[] array = new float[] { 1.0f, 2.9876f, -3.00001f, 4.3f }; assertEquals(baseStr + "[values={1.0,2.9876,-3.00001,4.3}]", new ToStringBuilder(base).append("values", array, true).toString()); assertEquals(baseStr + "[length=]", @@ -845,8 +845,8 @@ public void testAppendFloatArrayWithFieldNameAndFullDetatil() { @Test public void testConstructToStringBuilder(){ - ToStringBuilder stringBuilder1 = new ToStringBuilder(base, null, null); - ToStringBuilder stringBuilder2 = new ToStringBuilder(base, ToStringStyle.DEFAULT_STYLE, new StringBuffer(1024)); + final ToStringBuilder stringBuilder1 = new ToStringBuilder(base, null, null); + final ToStringBuilder stringBuilder2 = new ToStringBuilder(base, ToStringStyle.DEFAULT_STYLE, new StringBuffer(1024)); assertEquals(ToStringStyle.DEFAULT_STYLE, stringBuilder1.getStyle()); assertNotNull(stringBuilder1.getStringBuffer()); assertNotNull(stringBuilder1.toString()); diff --git a/src/test/java/org/apache/commons/lang3/reflect/ConstructorUtilsTest.java b/src/test/java/org/apache/commons/lang3/reflect/ConstructorUtilsTest.java index 06e388edc22..176d75ad9e6 100644 --- a/src/test/java/org/apache/commons/lang3/reflect/ConstructorUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/reflect/ConstructorUtilsTest.java @@ -77,7 +77,7 @@ public TestBean(final String... s) { varArgs = s; } - public TestBean(final BaseClass bc, String... s) { + public TestBean(final BaseClass bc, final String... s) { toString = "(BaseClass, String...)"; varArgs = s; } diff --git a/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java b/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java index 24380d7d194..0496664c546 100644 --- a/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java @@ -438,7 +438,7 @@ public void testInvokeMethod() throws Exception { MethodUtils.invokeMethod(testBean, "foo", 1, 2); fail("should throw NoSuchMethodException"); - } catch (NoSuchMethodException expected) { + } catch (final NoSuchMethodException expected) { } TestBean.verify(new ImmutablePair("String...", new String[]{"x", "y"}), diff --git a/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java b/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java index 5d8a46c4631..acdf77c8675 100644 --- a/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java @@ -752,7 +752,7 @@ public void testGenericArrayType() throws Exception { public void testToStringLang1311() { assertEquals("int[]", TypeUtils.toString(int[].class)); assertEquals("java.lang.Integer[]", TypeUtils.toString(Integer[].class)); - Field stringListField = FieldUtils.getDeclaredField(getClass(), "stringListArray"); + final Field stringListField = FieldUtils.getDeclaredField(getClass(), "stringListArray"); assertEquals("java.util.List[]", TypeUtils.toString(stringListField.getGenericType())); } diff --git a/src/test/java/org/apache/commons/lang3/tuple/ImmutablePairTest.java b/src/test/java/org/apache/commons/lang3/tuple/ImmutablePairTest.java index 998ab1c6afd..5fcf0cdd6f3 100644 --- a/src/test/java/org/apache/commons/lang3/tuple/ImmutablePairTest.java +++ b/src/test/java/org/apache/commons/lang3/tuple/ImmutablePairTest.java @@ -113,7 +113,7 @@ public void testNullPairValue() { public void testNullPairTyped() { // No compiler warnings // How do we assert that? - ImmutablePair pair = ImmutablePair.nullPair(); + final ImmutablePair pair = ImmutablePair.nullPair(); assertNotNull(pair); } diff --git a/src/test/java/org/apache/commons/lang3/tuple/ImmutableTripleTest.java b/src/test/java/org/apache/commons/lang3/tuple/ImmutableTripleTest.java index d126d6e7b79..3c14bfb86dd 100644 --- a/src/test/java/org/apache/commons/lang3/tuple/ImmutableTripleTest.java +++ b/src/test/java/org/apache/commons/lang3/tuple/ImmutableTripleTest.java @@ -116,7 +116,7 @@ public void testNullTripleRight() { public void testNullTripleTyped() { // No compiler warnings // How do we assert that? - ImmutableTriple triple = ImmutableTriple.nullTriple(); + final ImmutableTriple triple = ImmutableTriple.nullTriple(); assertNotNull(triple); } From 6ea2fc8d38e035bafaa92c7d3b007be38c2e9000 Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Fri, 20 Oct 2017 13:19:56 -0600 Subject: [PATCH 0051/3439] [LANG-1360] Add methods to ObjectUtils to get various forms of class names in a null-safe manner --- src/changes/changes.xml | 1 + .../org/apache/commons/lang3/ObjectUtils.java | 32 ++++++++++++++++++ .../apache/commons/lang3/ObjectUtilsTest.java | 33 +++++++++++++++++++ 3 files changed, 66 insertions(+) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index cf4296efcc5..66dd510d019 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -53,6 +53,7 @@ The type attribute can be add,update,fix,remove. ConstructorUtils.invokeConstructor(Class, Object...) regression EqualsBuilder#isRegistered: swappedPair construction bug org.apache.commons.lang3.time.FastDateParser should use toUpperCase(Locale) + Add methods to ObjectUtils to get various forms of class names in a null-safe manner diff --git a/src/main/java/org/apache/commons/lang3/ObjectUtils.java b/src/main/java/org/apache/commons/lang3/ObjectUtils.java index 1ec0956f7e8..16a6b93123e 100644 --- a/src/main/java/org/apache/commons/lang3/ObjectUtils.java +++ b/src/main/java/org/apache/commons/lang3/ObjectUtils.java @@ -1033,4 +1033,36 @@ public static T CONST(final T v) { return v; } + /** + * Gets the class name of the given object. + * + * @param object the object to query, may be null + * @return the given object's class name or null if the object is null + * @since 3.7 + */ + public static String getClassName(final Object object) { + return object == null ? null : object.getClass().getName(); + } + + /** + * Gets the class simple name of the given object. + * + * @param object the object to query, may be null + * @return the given object's class simple name or null if the object is null + * @since 3.7 + */ + public static String getClassSimpleName(final Object object) { + return object == null ? null : object.getClass().getSimpleName(); + } + + /** + * Gets the class canonical name of the given object. + * + * @param object the object to query, may be null + * @return the given object's class canonical name or null if the object is null + * @since 3.7 + */ + public static String getClassCanonicalName(final Object object) { + return object == null ? null : object.getClass().getCanonicalName(); + } } diff --git a/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java b/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java index 3da844300b5..2bf036c8c1b 100644 --- a/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java @@ -38,6 +38,7 @@ import org.apache.commons.lang3.exception.CloneFailedException; import org.apache.commons.lang3.mutable.MutableObject; import org.apache.commons.lang3.text.StrBuilder; +import org.junit.Assert; import org.junit.Test; /** @@ -666,4 +667,36 @@ public int compare(final CharSequence o1, final CharSequence o2) { } } + + /** + * @since 3.7 + */ + @Test + public void testGetClassName() { + Assert.assertNull(ObjectUtils.getClassName(null)); + Assert.assertEquals("java.lang.String", ObjectUtils.getClassName(new String())); + Assert.assertEquals("org.apache.commons.lang3.ObjectUtilsTest$CloneableString", + ObjectUtils.getClassName(new CloneableString("test"))); + } + + /** + * @since 3.7 + */ + @Test + public void testGetSimpleName() { + Assert.assertNull(ObjectUtils.getClassSimpleName(null)); + Assert.assertEquals("String", ObjectUtils.getClassSimpleName(new String())); + Assert.assertEquals("CloneableString", ObjectUtils.getClassSimpleName(new CloneableString("test"))); + } + + /** + * @since 3.7 + */ + @Test + public void testGetCanonicalName() { + Assert.assertNull(ObjectUtils.getClassCanonicalName(null)); + Assert.assertEquals("java.lang.String", ObjectUtils.getClassCanonicalName(new String())); + Assert.assertEquals("org.apache.commons.lang3.ObjectUtilsTest.CloneableString", + ObjectUtils.getClassCanonicalName(new CloneableString("test"))); + } } From f0930aa1512a408635d2286c01d49523b1234db7 Mon Sep 17 00:00:00 2001 From: Allon Mureinik Date: Sat, 21 Oct 2017 14:38:53 +0300 Subject: [PATCH 0052/3439] Remove ObjectUtils' trailing white spaces Commit 6ea2fc8 inadvertently introduced trailing white spaces in ObjectUtils' code, thus breaking the Checkstyle validation. This patch removes these redundant TWS in order to allow the build to pass. --- src/main/java/org/apache/commons/lang3/ObjectUtils.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/apache/commons/lang3/ObjectUtils.java b/src/main/java/org/apache/commons/lang3/ObjectUtils.java index 16a6b93123e..8bebba9daef 100644 --- a/src/main/java/org/apache/commons/lang3/ObjectUtils.java +++ b/src/main/java/org/apache/commons/lang3/ObjectUtils.java @@ -1035,7 +1035,7 @@ public static T CONST(final T v) { /** * Gets the class name of the given object. - * + * * @param object the object to query, may be null * @return the given object's class name or null if the object is null * @since 3.7 @@ -1046,7 +1046,7 @@ public static String getClassName(final Object object) { /** * Gets the class simple name of the given object. - * + * * @param object the object to query, may be null * @return the given object's class simple name or null if the object is null * @since 3.7 @@ -1057,7 +1057,7 @@ public static String getClassSimpleName(final Object object) { /** * Gets the class canonical name of the given object. - * + * * @param object the object to query, may be null * @return the given object's class canonical name or null if the object is null * @since 3.7 From be3638eb477a8635f647c9a4fefdce7ca2e2408a Mon Sep 17 00:00:00 2001 From: "Bruno P. Kinoshita" Date: Sun, 22 Oct 2017 01:12:41 +1300 Subject: [PATCH 0053/3439] Fix javadoc typos --- .../java/org/apache/commons/lang3/CharUtils.java | 8 ++++---- .../java/org/apache/commons/lang3/StringUtils.java | 14 +++++++------- .../java/org/apache/commons/lang3/ThreadUtils.java | 4 ++-- .../commons/lang3/builder/EqualsExclude.java | 2 +- .../commons/lang3/builder/HashCodeExclude.java | 2 +- .../commons/lang3/builder/ToStringBuilder.java | 2 +- .../commons/lang3/builder/ToStringExclude.java | 2 +- .../apache/commons/lang3/text/StrTokenizer.java | 2 +- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/java/org/apache/commons/lang3/CharUtils.java b/src/main/java/org/apache/commons/lang3/CharUtils.java index 219dea2a054..c22896838de 100644 --- a/src/main/java/org/apache/commons/lang3/CharUtils.java +++ b/src/main/java/org/apache/commons/lang3/CharUtils.java @@ -206,7 +206,7 @@ public static char toChar(final String str, final char defaultValue) { *

Converts the character to the Integer it represents, throwing an * exception if the character is not numeric.

* - *

This method coverts the char '1' to the int 1 and so on.

+ *

This method converts the char '1' to the int 1 and so on.

* *
      *   CharUtils.toIntValue('3')  = 3
@@ -228,7 +228,7 @@ public static int toIntValue(final char ch) {
      * 

Converts the character to the Integer it represents, throwing an * exception if the character is not numeric.

* - *

This method coverts the char '1' to the int 1 and so on.

+ *

This method converts the char '1' to the int 1 and so on.

* *
      *   CharUtils.toIntValue('3', -1)  = 3
@@ -250,7 +250,7 @@ public static int toIntValue(final char ch, final int defaultValue) {
      * 

Converts the character to the Integer it represents, throwing an * exception if the character is not numeric.

* - *

This method coverts the char '1' to the int 1 and so on.

+ *

This method converts the char '1' to the int 1 and so on.

* *
      *   CharUtils.toIntValue('3')  = 3
@@ -271,7 +271,7 @@ public static int toIntValue(final Character ch) {
      * 

Converts the character to the Integer it represents, throwing an * exception if the character is not numeric.

* - *

This method coverts the char '1' to the int 1 and so on.

+ *

This method converts the char '1' to the int 1 and so on.

* *
      *   CharUtils.toIntValue(null, -1) = -1
diff --git a/src/main/java/org/apache/commons/lang3/StringUtils.java b/src/main/java/org/apache/commons/lang3/StringUtils.java
index e6dd61fd7e2..7e62d32998e 100644
--- a/src/main/java/org/apache/commons/lang3/StringUtils.java
+++ b/src/main/java/org/apache/commons/lang3/StringUtils.java
@@ -5052,7 +5052,7 @@ public static String remove(final String str, final char remove) {
      * 

Unlike in the {@link #removePattern(String, String)} method, the {@link Pattern#DOTALL} option * is NOT automatically added. * To use the DOTALL option prepend "(?s)" to the regex. - * DOTALL is also know as single-line mode in Perl.

+ * DOTALL is also known as single-line mode in Perl.

* *
      * StringUtils.removeAll(null, *)      = null
@@ -5098,7 +5098,7 @@ public static String removeAll(final String text, final String regex) {
      *
      * 

The {@link Pattern#DOTALL} option is NOT automatically added. * To use the DOTALL option prepend "(?s)" to the regex. - * DOTALL is also know as single-line mode in Perl.

+ * DOTALL is also known as single-line mode in Perl.

* *
      * StringUtils.removeFirst(null, *)      = null
@@ -5191,7 +5191,7 @@ public static String replaceOnceIgnoreCase(final String text, final String searc
 
     /**
      * 

Replaces each substring of the source String that matches the given regular expression with the given - * replacement using the {@link Pattern#DOTALL} option. DOTALL is also know as single-line mode in Perl.

+ * replacement using the {@link Pattern#DOTALL} option. DOTALL is also known as single-line mode in Perl.

* * This call is a {@code null} safe equivalent to: *