Add tests.
authorGary Gregory <garydgregory@gmail.com>
Sun, 4 Feb 2018 21:17:12 +0000 (14:17 -0700)
committerGary Gregory <garydgregory@gmail.com>
Sun, 4 Feb 2018 21:17:12 +0000 (14:17 -0700)
.gitignore
commons-testing-junit4/src/main/java/org/apache/commons/testing/junit4/AbstractAvailableLocalesTest.java
commons-testing-junit4/src/main/java/org/apache/commons/testing/junit4/DefaultLocaleTestRule.java [moved from commons-testing-junit4/src/main/java/org/apache/commons/testing/junit4/SetDefaultLocaleTestRule.java with 92% similarity]
commons-testing-junit4/src/main/java/org/apache/commons/testing/junit4/ObjectToStringComparator.java
commons-testing-junit4/src/test/java/org/apache/commons/testing/junit4/AvailableLocalesTest.java [new file with mode: 0644]
commons-testing-junit4/src/test/java/org/apache/commons/testing/junit4/DefaultLocaleTestRuleTest.java [new file with mode: 0644]
commons-testing-junit4/src/test/java/org/apache/commons/testing/junit4/ObjectToStringComparatorTest.java [new file with mode: 0644]

index fbdf7eb..721dfeb 100644 (file)
@@ -1,3 +1,4 @@
-/.classpath
-/.project
-/.settings/
+**/.classpath
+**/.project
+**/.settings/
+**/target/
index 23459a3..160c384 100644 (file)
@@ -81,12 +81,12 @@ public abstract class AbstractAvailableLocalesTest {
     private final Locale locale;
 
     @Rule
-    public final SetDefaultLocaleTestRule rule;
+    public final DefaultLocaleTestRule rule;
 
     public AbstractAvailableLocalesTest(final Locale locale)  {
         super();
         this.locale = locale;
-        this.rule = new SetDefaultLocaleTestRule(locale);
+        this.rule = new DefaultLocaleTestRule(locale);
     }
 
     public Locale getLocale() {
@@ -25,12 +25,14 @@ import org.junit.runners.model.Statement;
 
 /**
  * Sets the default {@code Locale} to the given locale for the duration of the test.
+ * 
+ * @since 1.0.0
  */
-public class SetDefaultLocaleTestRule implements TestRule {
+public class DefaultLocaleTestRule implements TestRule {
 
     private final Locale locale;
 
-    public SetDefaultLocaleTestRule(final Locale locale) {
+    public DefaultLocaleTestRule(final Locale locale) {
         super();
         this.locale = locale;
     }
index c04bacf..3e2861b 100644 (file)
@@ -20,6 +20,11 @@ package org.apache.commons.testing.junit4;
 import java.io.Serializable;
 import java.util.Comparator;
 
+/**
+ * Compares objects based on their {@code toString()} values.
+ * 
+ * @since 1.0.0
+ */
 public final class ObjectToStringComparator implements Comparator<Object>, Serializable {
 
     private static final long serialVersionUID = 1L;
diff --git a/commons-testing-junit4/src/test/java/org/apache/commons/testing/junit4/AvailableLocalesTest.java b/commons-testing-junit4/src/test/java/org/apache/commons/testing/junit4/AvailableLocalesTest.java
new file mode 100644 (file)
index 0000000..17eea73
--- /dev/null
@@ -0,0 +1,58 @@
+/*\r
+ * Licensed to the Apache Software Foundation (ASF) under one or more\r
+ * contributor license agreements.  See the NOTICE file distributed with\r
+ * this work for additional information regarding copyright ownership.\r
+ * The ASF licenses this file to You under the Apache License, Version 2.0\r
+ * (the "License"); you may not use this file except in compliance with\r
+ * the License.  You may obtain a copy of the License at\r
+ *\r
+ *      http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
+package org.apache.commons.testing.junit4;\r
+\r
+import java.util.Collections;\r
+import java.util.Locale;\r
+import java.util.Set;\r
+import java.util.concurrent.ConcurrentSkipListSet;\r
+\r
+import org.junit.AfterClass;\r
+import org.junit.Assert;\r
+import org.junit.BeforeClass;\r
+import org.junit.Test;\r
+\r
+public class AvailableLocalesTest extends AbstractAvailableLocalesTest {\r
+\r
+    private static Set<Locale> found;\r
+\r
+    @AfterClass\r
+    public static void afterClass() {\r
+        final ConcurrentSkipListSet<Locale> expected = createSet();\r
+        Collections.addAll(expected, Locale.getAvailableLocales());\r
+        Assert.assertEquals(expected, found);\r
+    }\r
+\r
+    @BeforeClass\r
+    public static void beforeClass() {\r
+        found = createSet();\r
+    }\r
+\r
+    private static ConcurrentSkipListSet<Locale> createSet() {\r
+        return new ConcurrentSkipListSet<>(new ObjectToStringComparator());\r
+    }\r
+\r
+    public AvailableLocalesTest(final Locale locale) {\r
+        super(locale);\r
+    }\r
+\r
+    @Test\r
+    public void test() {\r
+        found.add(getLocale());\r
+    }\r
+}\r
diff --git a/commons-testing-junit4/src/test/java/org/apache/commons/testing/junit4/DefaultLocaleTestRuleTest.java b/commons-testing-junit4/src/test/java/org/apache/commons/testing/junit4/DefaultLocaleTestRuleTest.java
new file mode 100644 (file)
index 0000000..514cc80
--- /dev/null
@@ -0,0 +1,41 @@
+/*\r
+ * Licensed to the Apache Software Foundation (ASF) under one or more\r
+ * contributor license agreements.  See the NOTICE file distributed with\r
+ * this work for additional information regarding copyright ownership.\r
+ * The ASF licenses this file to You under the Apache License, Version 2.0\r
+ * (the "License"); you may not use this file except in compliance with\r
+ * the License.  You may obtain a copy of the License at\r
+ *\r
+ *      http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
+package org.apache.commons.testing.junit4;\r
+\r
+import java.util.Locale;\r
+\r
+import org.junit.Assert;\r
+import org.junit.Rule;\r
+import org.junit.Test;\r
+\r
+/**\r
+ * Sets the default {@code Locale} to the given Locale for the duration of the test.\r
+ * \r
+ * @since 1.0.0\r
+ */\r
+public class DefaultLocaleTestRuleTest {\r
+\r
+    @Rule\r
+    public DefaultLocaleTestRule testRule = new DefaultLocaleTestRule(Locale.CANADA);\r
+\r
+    @Test\r
+    public void test() {\r
+        Assert.assertEquals(Locale.CANADA, Locale.getDefault());\r
+    }\r
+\r
+}\r
diff --git a/commons-testing-junit4/src/test/java/org/apache/commons/testing/junit4/ObjectToStringComparatorTest.java b/commons-testing-junit4/src/test/java/org/apache/commons/testing/junit4/ObjectToStringComparatorTest.java
new file mode 100644 (file)
index 0000000..a3b720e
--- /dev/null
@@ -0,0 +1,39 @@
+/*\r
+ * Licensed to the Apache Software Foundation (ASF) under one or more\r
+ * contributor license agreements.  See the NOTICE file distributed with\r
+ * this work for additional information regarding copyright ownership.\r
+ * The ASF licenses this file to You under the Apache License, Version 2.0\r
+ * (the "License"); you may not use this file except in compliance with\r
+ * the License.  You may obtain a copy of the License at\r
+ *\r
+ *      http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
+package org.apache.commons.testing.junit4;\r
+\r
+import java.util.Collections;\r
+import java.util.Locale;\r
+import java.util.concurrent.ConcurrentSkipListSet;\r
+\r
+import org.junit.Assert;\r
+\r
+public class ObjectToStringComparatorTest {\r
+\r
+    public static void afterClass() {\r
+        final ConcurrentSkipListSet<Locale> expected = createSet();\r
+        final Locale[] availableLocales = Locale.getAvailableLocales();\r
+        Collections.addAll(expected, availableLocales);\r
+        Assert.assertEquals(expected.size(), availableLocales.length);\r
+    }\r
+\r
+    private static ConcurrentSkipListSet<Locale> createSet() {\r
+        return new ConcurrentSkipListSet<>(new ObjectToStringComparator());\r
+    }\r
+\r
+}\r