You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2020/04/22 14:35:51 UTC

[commons-collections] branch master updated: [COLLECTIONS-759]: add newline at end of file, and convert to unix (LF instead of CRLF) fixing checkstyle (#147)

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-collections.git


The following commit(s) were added to refs/heads/master by this push:
     new 8eebabd  [COLLECTIONS-759]: add newline at end of file, and convert to unix (LF instead of CRLF) fixing checkstyle (#147)
8eebabd is described below

commit 8eebabd48114ff33b37c6edf51bd9d8d4fab8b5f
Author: Bruno P. Kinoshita <ki...@users.noreply.github.com>
AuthorDate: Thu Apr 23 02:35:40 2020 +1200

    [COLLECTIONS-759]: add newline at end of file, and convert to unix (LF instead of CRLF) fixing checkstyle (#147)
    
    * [COLLECTIONS-759]: add newline at end of file, and convert to unix (LF instead of CRLF) fixing checkstyle
    
    * Remove unused import
---
 src/changes/changes.xml                            |   3 +
 .../apache/commons/collections4/ArrayUtils.java    | 266 ++++++++++-----------
 .../commons/collections4/CollectionUtilsTest.java  |   1 -
 .../junit/AbstractAvailableLocalesTest.java        | 191 +++++++--------
 .../junit/ObjectToStringComparator.java            |  81 +++----
 .../junit/SetDefaultLocaleTestRule.java            | 117 ++++-----
 .../collections4/queue/SynchronizedQueueTest.java  | 127 +++++-----
 7 files changed, 396 insertions(+), 390 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index a6459ae..c6706bb 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -21,6 +21,9 @@
   </properties>
   <body>
   <release version="4.5" date="2020-MM-DD" description="Maintenance release.">
+    <action issue="COLLECTIONS-759" dev="kinow" type="fix">
+      Fix checkstyle issues regarding missing newline at end of file, and CRLF vs LF.
+    </action>
     <action issue="COLLECTIONS-760" dev="kinow" type="add" due-to="Isira Seneviratne">
       Add tests for MapUtils
     </action>
diff --git a/src/main/java/org/apache/commons/collections4/ArrayUtils.java b/src/main/java/org/apache/commons/collections4/ArrayUtils.java
index 6ce8be5..217a757 100644
--- a/src/main/java/org/apache/commons/collections4/ArrayUtils.java
+++ b/src/main/java/org/apache/commons/collections4/ArrayUtils.java
@@ -1,133 +1,133 @@
-/*
- * 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.collections4;
-
-/**
- * <p>
- * Operations on arrays, primitive arrays (like {@code int[]}) and primitive wrapper arrays (like {@code Integer[]}).
- * </p>
- * <p>
- * This class tries to handle {@code null} input gracefully. An exception will not be thrown for a {@code null} array
- * input. However, an Object array that contains a {@code null} element may throw an exception. Each method documents
- * its behavior.
- * </p>
- * <p>
- * Package private, might move to an internal package if this needs to be public.
- * </p>
- * <p>
- * #ThreadSafe#
- * </p>
- *
- * @since 4.2 (Copied from Apache Commons Lang.)
- *
- */
-class ArrayUtils {
-
-    /**
-     * The index value when an element is not found in a list or array: {@code -1}. This value is returned by methods in
-     * this class and can also be used in comparisons with values returned by various method from
-     * {@link java.util.List}.
-     */
-    static final int INDEX_NOT_FOUND = -1;
-
-    /**
-     * <p>
-     * Checks if the object is in the given array.
-     * </p>
-     *
-     * <p>
-     * The method returns {@code false} if a {@code null} array is passed in.
-     * </p>
-     *
-     * @param array
-     *            the array to search through
-     * @param objectToFind
-     *            the object to find
-     * @return {@code true} if the array contains the object
-     */
-    static boolean contains(final Object[] array, final Object objectToFind) {
-        return indexOf(array, objectToFind) != INDEX_NOT_FOUND;
-    }
-
-    /**
-     * <p>
-     * Finds the index of the given object in the array.
-     * </p>
-     *
-     * <p>
-     * This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
-     * </p>
-     *
-     * @param array
-     *            the array to search through for the object, may be {@code null}
-     * @param objectToFind
-     *            the object to find, may be {@code null}
-     * @return the index of the object within the array, {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or
-     *         {@code null} array input
-     */
-    static <T> int indexOf(final T[] array, final Object objectToFind) {
-        return indexOf(array, objectToFind, 0);
-    }
-
-    /**
-     * <p>
-     * Finds the index of the given object in the array starting at the given index.
-     * </p>
-     *
-     * <p>
-     * This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
-     * </p>
-     *
-     * <p>
-     * A negative startIndex is treated as zero. A startIndex larger than the array length will return
-     * {@link #INDEX_NOT_FOUND} ({@code -1}).
-     * </p>
-     *
-     * @param array
-     *            the array to search through for the object, may be {@code null}
-     * @param objectToFind
-     *            the object to find, may be {@code null}
-     * @param startIndex
-     *            the index to start searching at
-     * @return the index of the object within the array starting at the index, {@link #INDEX_NOT_FOUND} ({@code -1}) if
-     *         not found or {@code null} array input
-     */
-    static int indexOf(final Object[] array, final Object objectToFind, int startIndex) {
-        if (array == null) {
-            return INDEX_NOT_FOUND;
-        }
-        if (startIndex < 0) {
-            startIndex = 0;
-        }
-        if (objectToFind == null) {
-            for (int i = startIndex; i < array.length; i++) {
-                if (array[i] == null) {
-                    return i;
-                }
-            }
-        } else {
-            for (int i = startIndex; i < array.length; i++) {
-                if (objectToFind.equals(array[i])) {
-                    return i;
-                }
-            }
-        }
-        return INDEX_NOT_FOUND;
-    }
-
-}
+/*
+ * 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.collections4;
+
+/**
+ * <p>
+ * Operations on arrays, primitive arrays (like {@code int[]}) and primitive wrapper arrays (like {@code Integer[]}).
+ * </p>
+ * <p>
+ * This class tries to handle {@code null} input gracefully. An exception will not be thrown for a {@code null} array
+ * input. However, an Object array that contains a {@code null} element may throw an exception. Each method documents
+ * its behavior.
+ * </p>
+ * <p>
+ * Package private, might move to an internal package if this needs to be public.
+ * </p>
+ * <p>
+ * #ThreadSafe#
+ * </p>
+ *
+ * @since 4.2 (Copied from Apache Commons Lang.)
+ *
+ */
+class ArrayUtils {
+
+    /**
+     * The index value when an element is not found in a list or array: {@code -1}. This value is returned by methods in
+     * this class and can also be used in comparisons with values returned by various method from
+     * {@link java.util.List}.
+     */
+    static final int INDEX_NOT_FOUND = -1;
+
+    /**
+     * <p>
+     * Checks if the object is in the given array.
+     * </p>
+     *
+     * <p>
+     * The method returns {@code false} if a {@code null} array is passed in.
+     * </p>
+     *
+     * @param array
+     *            the array to search through
+     * @param objectToFind
+     *            the object to find
+     * @return {@code true} if the array contains the object
+     */
+    static boolean contains(final Object[] array, final Object objectToFind) {
+        return indexOf(array, objectToFind) != INDEX_NOT_FOUND;
+    }
+
+    /**
+     * <p>
+     * Finds the index of the given object in the array.
+     * </p>
+     *
+     * <p>
+     * This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
+     * </p>
+     *
+     * @param array
+     *            the array to search through for the object, may be {@code null}
+     * @param objectToFind
+     *            the object to find, may be {@code null}
+     * @return the index of the object within the array, {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or
+     *         {@code null} array input
+     */
+    static <T> int indexOf(final T[] array, final Object objectToFind) {
+        return indexOf(array, objectToFind, 0);
+    }
+
+    /**
+     * <p>
+     * Finds the index of the given object in the array starting at the given index.
+     * </p>
+     *
+     * <p>
+     * This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
+     * </p>
+     *
+     * <p>
+     * A negative startIndex is treated as zero. A startIndex larger than the array length will return
+     * {@link #INDEX_NOT_FOUND} ({@code -1}).
+     * </p>
+     *
+     * @param array
+     *            the array to search through for the object, may be {@code null}
+     * @param objectToFind
+     *            the object to find, may be {@code null}
+     * @param startIndex
+     *            the index to start searching at
+     * @return the index of the object within the array starting at the index, {@link #INDEX_NOT_FOUND} ({@code -1}) if
+     *         not found or {@code null} array input
+     */
+    static int indexOf(final Object[] array, final Object objectToFind, int startIndex) {
+        if (array == null) {
+            return INDEX_NOT_FOUND;
+        }
+        if (startIndex < 0) {
+            startIndex = 0;
+        }
+        if (objectToFind == null) {
+            for (int i = startIndex; i < array.length; i++) {
+                if (array[i] == null) {
+                    return i;
+                }
+            }
+        } else {
+            for (int i = startIndex; i < array.length; i++) {
+                if (objectToFind.equals(array[i])) {
+                    return i;
+                }
+            }
+        }
+        return INDEX_NOT_FOUND;
+    }
+
+}
diff --git a/src/test/java/org/apache/commons/collections4/CollectionUtilsTest.java b/src/test/java/org/apache/commons/collections4/CollectionUtilsTest.java
index ed84795..7d1bd98 100644
--- a/src/test/java/org/apache/commons/collections4/CollectionUtilsTest.java
+++ b/src/test/java/org/apache/commons/collections4/CollectionUtilsTest.java
@@ -19,7 +19,6 @@ package org.apache.commons.collections4;
 import static org.apache.commons.collections4.functors.EqualPredicate.equalPredicate;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
diff --git a/src/test/java/org/apache/commons/collections4/junit/AbstractAvailableLocalesTest.java b/src/test/java/org/apache/commons/collections4/junit/AbstractAvailableLocalesTest.java
index ea4d1d0..794051b 100644
--- a/src/test/java/org/apache/commons/collections4/junit/AbstractAvailableLocalesTest.java
+++ b/src/test/java/org/apache/commons/collections4/junit/AbstractAvailableLocalesTest.java
@@ -1,95 +1,96 @@
-/*
- * 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.collections4.junit;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.Locale;
-
-import org.apache.commons.lang3.reflect.FieldUtils;
-import org.junit.Rule;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-@RunWith(Parameterized.class)
-public abstract class AbstractAvailableLocalesTest {
-
-//    public static List<Object[]> combine(final Object[] objects, final List<Locale> locales) {
-//        final List<Object[]> result = new ArrayList<>(objects.length * locales.size());
-//        Arrays.stream(objects).forEachOrdered(object -> locales.stream().forEachOrdered(locale -> result.add(new Object[] { object, locale })));
-//        return result;
-//    }
-//
-//    public static List<Object[]> combine(final Object[] objects, final Locale[] locales) {
-//        final List<Object[]> result = new ArrayList<>(objects.length * locales.length);
-//        Arrays.stream(objects).forEachOrdered(object -> Arrays.stream(locales).forEachOrdered(locale -> result.add(new Object[] { object, locale })));
-//        return result;
-//    }
-
-//    public static List<Object[]> combineAvailableLocales(final Object[] objects) {
-//        return combine(objects, getSortedAvailableLocales());
-//    }
-//
-//    public static List<Object[]> combineDeclaredLocales(final Object[] objects) {
-//        return combine(objects, getSortedDeclaredLocales());
-//    }
-
-    @Parameters(name = "{0}")
-    public static Locale[] getSortedAvailableLocales() {
-        final Locale[] availableLocales = Locale.getAvailableLocales();
-        Arrays.sort(availableLocales, new ObjectToStringComparator());
-        return availableLocales;
-    }
-
-    public static List<Locale> getSortedDeclaredLocales() {
-        final Field[] allFields = FieldUtils.getAllFields(Locale.class);
-        final List<Locale> availableLocales = new ArrayList<>(allFields.length);
-        for (final Field field : allFields) {
-            final int modifiers = field.getModifiers();
-            if (field.getType() == Locale.class && Modifier.isStatic(modifiers) && Modifier.isPublic(modifiers)) {
-                try {
-                    availableLocales.add((Locale) field.get(Locale.class));
-                } catch (IllegalArgumentException | IllegalAccessException e) {
-                    throw new IllegalStateException("Field " + field, e);
-                }
-            }
-        }
-        Collections.sort(availableLocales, new ObjectToStringComparator());
-        return availableLocales;
-    }
-
-    private final Locale locale;
-
-    @Rule
-    public final SetDefaultLocaleTestRule rule;
-
-    public AbstractAvailableLocalesTest(final Locale locale)  {
-        super();
-        this.locale = locale;
-        this.rule = new SetDefaultLocaleTestRule(locale);
-    }
-
-    public Locale getLocale() {
-        return locale;
-    }
-}
+/*
+ * 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.collections4.junit;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Locale;
+
+import org.apache.commons.lang3.reflect.FieldUtils;
+import org.junit.Rule;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+@RunWith(Parameterized.class)
+public abstract class AbstractAvailableLocalesTest {
+
+//    public static List<Object[]> combine(final Object[] objects, final List<Locale> locales) {
+//        final List<Object[]> result = new ArrayList<>(objects.length * locales.size());
+//        Arrays.stream(objects).forEachOrdered(object -> locales.stream().forEachOrdered(locale -> result.add(new Object[] { object, locale })));
+//        return result;
+//    }
+//
+//    public static List<Object[]> combine(final Object[] objects, final Locale[] locales) {
+//        final List<Object[]> result = new ArrayList<>(objects.length * locales.length);
+//        Arrays.stream(objects).forEachOrdered(object -> Arrays.stream(locales).forEachOrdered(locale -> result.add(new Object[] { object, locale })));
+//        return result;
+//    }
+
+//    public static List<Object[]> combineAvailableLocales(final Object[] objects) {
+//        return combine(objects, getSortedAvailableLocales());
+//    }
+//
+//    public static List<Object[]> combineDeclaredLocales(final Object[] objects) {
+//        return combine(objects, getSortedDeclaredLocales());
+//    }
+
+    @Parameters(name = "{0}")
+    public static Locale[] getSortedAvailableLocales() {
+        final Locale[] availableLocales = Locale.getAvailableLocales();
+        Arrays.sort(availableLocales, new ObjectToStringComparator());
+        return availableLocales;
+    }
+
+    public static List<Locale> getSortedDeclaredLocales() {
+        final Field[] allFields = FieldUtils.getAllFields(Locale.class);
+        final List<Locale> availableLocales = new ArrayList<>(allFields.length);
+        for (final Field field : allFields) {
+            final int modifiers = field.getModifiers();
+            if (field.getType() == Locale.class && Modifier.isStatic(modifiers) && Modifier.isPublic(modifiers)) {
+                try {
+                    availableLocales.add((Locale) field.get(Locale.class));
+                } catch (IllegalArgumentException | IllegalAccessException e) {
+                    throw new IllegalStateException("Field " + field, e);
+                }
+            }
+        }
+        Collections.sort(availableLocales, new ObjectToStringComparator());
+        return availableLocales;
+    }
+
+    private final Locale locale;
+
+    @Rule
+    public final SetDefaultLocaleTestRule rule;
+
+    public AbstractAvailableLocalesTest(final Locale locale)  {
+        super();
+        this.locale = locale;
+        this.rule = new SetDefaultLocaleTestRule(locale);
+    }
+
+    public Locale getLocale() {
+        return locale;
+    }
+}
+
diff --git a/src/test/java/org/apache/commons/collections4/junit/ObjectToStringComparator.java b/src/test/java/org/apache/commons/collections4/junit/ObjectToStringComparator.java
index 5f1211e..c207468 100644
--- a/src/test/java/org/apache/commons/collections4/junit/ObjectToStringComparator.java
+++ b/src/test/java/org/apache/commons/collections4/junit/ObjectToStringComparator.java
@@ -1,40 +1,41 @@
-/*
- * 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.collections4.junit;
-
-import java.io.Serializable;
-import java.util.Comparator;
-
-public final class ObjectToStringComparator implements Comparator<Object>, Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @Override
-    public int compare(final Object o1, final Object o2) {
-        if (o1 == null && o2 == null) {
-            return 0;
-        }
-        if (o1 == null) {
-            return 1;
-        }
-        if (o2 == null) {
-            return -1;
-        }
-        return o1.toString().compareTo(o2.toString());
-    }
-}
+/*
+ * 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.collections4.junit;
+
+import java.io.Serializable;
+import java.util.Comparator;
+
+public final class ObjectToStringComparator implements Comparator<Object>, Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public int compare(final Object o1, final Object o2) {
+        if (o1 == null && o2 == null) {
+            return 0;
+        }
+        if (o1 == null) {
+            return 1;
+        }
+        if (o2 == null) {
+            return -1;
+        }
+        return o1.toString().compareTo(o2.toString());
+    }
+}
+
diff --git a/src/test/java/org/apache/commons/collections4/junit/SetDefaultLocaleTestRule.java b/src/test/java/org/apache/commons/collections4/junit/SetDefaultLocaleTestRule.java
index f1f57c3..54bb6ef 100644
--- a/src/test/java/org/apache/commons/collections4/junit/SetDefaultLocaleTestRule.java
+++ b/src/test/java/org/apache/commons/collections4/junit/SetDefaultLocaleTestRule.java
@@ -1,58 +1,59 @@
-/*
- * 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.collections4.junit;
-
-import java.util.Locale;
-
-import org.junit.rules.TestRule;
-import org.junit.runner.Description;
-import org.junit.runners.model.Statement;
-
-/**
- * Sets the default {@code Locale} to the given locale for the duration of the test.
- */
-public class SetDefaultLocaleTestRule implements TestRule {
-
-    private final Locale locale;
-
-    public SetDefaultLocaleTestRule(final Locale locale) {
-        super();
-        this.locale = locale;
-    }
-
-    @Override
-    public Statement apply(final Statement base, final Description description) {
-        return new Statement() {
-            @Override
-            public void evaluate() throws Throwable {
-                final Locale savedLocale = Locale.getDefault();
-                Locale.setDefault(getLocale());
-                try {
-                    base.evaluate();
-                } finally {
-                    Locale.setDefault(savedLocale);
-                }
-            }
-        };
-    }
-
-    public Locale getLocale() {
-        return locale;
-    }
-
-}
+/*
+ * 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.collections4.junit;
+
+import java.util.Locale;
+
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+import org.junit.runners.model.Statement;
+
+/**
+ * Sets the default {@code Locale} to the given locale for the duration of the test.
+ */
+public class SetDefaultLocaleTestRule implements TestRule {
+
+    private final Locale locale;
+
+    public SetDefaultLocaleTestRule(final Locale locale) {
+        super();
+        this.locale = locale;
+    }
+
+    @Override
+    public Statement apply(final Statement base, final Description description) {
+        return new Statement() {
+            @Override
+            public void evaluate() throws Throwable {
+                final Locale savedLocale = Locale.getDefault();
+                Locale.setDefault(getLocale());
+                try {
+                    base.evaluate();
+                } finally {
+                    Locale.setDefault(savedLocale);
+                }
+            }
+        };
+    }
+
+    public Locale getLocale() {
+        return locale;
+    }
+
+}
+
diff --git a/src/test/java/org/apache/commons/collections4/queue/SynchronizedQueueTest.java b/src/test/java/org/apache/commons/collections4/queue/SynchronizedQueueTest.java
index a48f0ac..548be6f 100644
--- a/src/test/java/org/apache/commons/collections4/queue/SynchronizedQueueTest.java
+++ b/src/test/java/org/apache/commons/collections4/queue/SynchronizedQueueTest.java
@@ -1,63 +1,64 @@
-/*
- * 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.collections4.queue;
-
-import java.util.LinkedList;
-import java.util.Queue;
-
-import org.apache.commons.collections4.BulkTest;
-import org.junit.Ignore;
-
-import junit.framework.Test;
-
-/**
- * Extension of {@link AbstractQueueTest} for exercising the
- * {@link SynchronizedQueue} implementation.
- *
- * @since 4.2
- */
-public class SynchronizedQueueTest<T> extends AbstractQueueTest<T> {
-
-    public static Test suite() {
-        return BulkTest.makeSuite(SynchronizedQueueTest.class);
-    }
-
-    public SynchronizedQueueTest(final String testName) {
-        super(testName);
-    }
-
-    //-----------------------------------------------------------------------
-
-    @Override
-    public String getCompatibilityVersion() {
-        return "4.2";
-    }
-
-    @Override
-    public Queue<T> makeObject() {
-        return SynchronizedQueue.synchronizedQueue(new LinkedList<T>());
-    }
-
-    @Ignore("Run once")
-    public void testCreate() throws Exception {
-        Queue<T> queue = makeObject();
-        writeExternalFormToDisk((java.io.Serializable) queue, "src/test/resources/data/test/SynchronizedQueue.emptyCollection.version4.2.obj");
-        queue = makeFullCollection();
-        writeExternalFormToDisk((java.io.Serializable) queue, "src/test/resources/data/test/SynchronizedQueue.fullCollection.version4.2.obj");
-    }
-
-}
+/*
+ * 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.collections4.queue;
+
+import java.util.LinkedList;
+import java.util.Queue;
+
+import org.apache.commons.collections4.BulkTest;
+import org.junit.Ignore;
+
+import junit.framework.Test;
+
+/**
+ * Extension of {@link AbstractQueueTest} for exercising the
+ * {@link SynchronizedQueue} implementation.
+ *
+ * @since 4.2
+ */
+public class SynchronizedQueueTest<T> extends AbstractQueueTest<T> {
+
+    public static Test suite() {
+        return BulkTest.makeSuite(SynchronizedQueueTest.class);
+    }
+
+    public SynchronizedQueueTest(final String testName) {
+        super(testName);
+    }
+
+    //-----------------------------------------------------------------------
+
+    @Override
+    public String getCompatibilityVersion() {
+        return "4.2";
+    }
+
+    @Override
+    public Queue<T> makeObject() {
+        return SynchronizedQueue.synchronizedQueue(new LinkedList<T>());
+    }
+
+    @Ignore("Run once")
+    public void testCreate() throws Exception {
+        Queue<T> queue = makeObject();
+        writeExternalFormToDisk((java.io.Serializable) queue, "src/test/resources/data/test/SynchronizedQueue.emptyCollection.version4.2.obj");
+        queue = makeFullCollection();
+        writeExternalFormToDisk((java.io.Serializable) queue, "src/test/resources/data/test/SynchronizedQueue.fullCollection.version4.2.obj");
+    }
+
+}
+