]> source.dussan.org Git - poi.git/commitdiff
add (meta) unit test for POITestCase
authorJaven O'Neal <onealj@apache.org>
Mon, 15 Aug 2016 07:27:03 +0000 (07:27 +0000)
committerJaven O'Neal <onealj@apache.org>
Mon, 15 Aug 2016 07:27:03 +0000 (07:27 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1756356 13f79535-47bb-0310-9956-ffa450edef68

src/testcases/org/apache/poi/POITestCase.java
src/testcases/org/apache/poi/TestPOITestCase.java [new file with mode: 0644]

index 8fa16c88a8e74a4ccfb60519c93e109693388265..786c6e1124973883c2dc2e9d6a9f7a5bd51cdf2d 100644 (file)
@@ -32,13 +32,16 @@ import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 
 import org.apache.poi.util.SuppressForbidden;
+import org.apache.poi.util.Internal;
 
 /**
  * Util class for POI JUnit TestCases, which provide additional features 
  */
+@Internal
 public final class POITestCase {
     public static void assertContains(String haystack, String needle) {
         assertNotNull(haystack);
@@ -47,6 +50,19 @@ public final class POITestCase {
               haystack.contains(needle)
         );
     }
+
+    public static void assertContainsIgnoreCase(String haystack, String needle, Locale locale) {
+        assertNotNull(haystack);
+        assertNotNull(needle);
+        String hay = haystack.toLowerCase(locale);
+        String n = needle.toLowerCase(locale);
+        assertTrue("Unable to find expected text '" + needle + "' in text:\n" + haystack,
+                hay.contains(n)
+        );
+    }
+    public static void assertContainsIgnoreCase(String haystack, String needle) {
+        assertContainsIgnoreCase(haystack, needle, Locale.ROOT);
+    }
     
     public static void assertNotContained(String haystack, String needle) {
         assertNotNull(haystack);
diff --git a/src/testcases/org/apache/poi/TestPOITestCase.java b/src/testcases/org/apache/poi/TestPOITestCase.java
new file mode 100644 (file)
index 0000000..fd9f3d1
--- /dev/null
@@ -0,0 +1,126 @@
+/* ====================================================================
+   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.poi;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.util.Collections;
+import java.util.Locale;
+import java.util.Map;
+
+import org.apache.poi.POITestCase;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * A class for testing the POI Junit TestCase utility class
+ */
+public final class TestPOITestCase {
+    @Test
+    public void assertContains() {
+        POITestCase.assertContains("There is a needle in this haystack", "needle");
+        /*try {
+            POITestCase.assertContains("There is gold in this haystack", "needle");
+            fail("found a needle");
+        } catch (final junit.framework.AssertionFailedError e) {
+            // expected
+        }*/
+    }
+
+    @Test
+    public void assertContainsIgnoreCase_Locale() {
+        POITestCase.assertContainsIgnoreCase("There is a Needle in this haystack", "needlE", Locale.ROOT);
+        // FIXME: test failing case
+    }
+
+    @Test
+    public void assertContainsIgnoreCase() {
+        POITestCase.assertContainsIgnoreCase("There is a Needle in this haystack", "needlE");
+        // FIXME: test failing case
+    }
+
+    @Test
+    public void assertNotContained() {
+        POITestCase.assertNotContained("There is a needle in this haystack", "gold");
+        // FIXME: test failing case
+    }
+
+    @Test
+    public void assertMapContains() {
+        Map<String, String> haystack = Collections.singletonMap("needle", "value");
+        POITestCase.assertContains(haystack, "needle");
+        // FIXME: test failing case
+    }
+
+     
+    /**
+     * Utility method to get the value of a private/protected field.
+     * Only use this method in test cases!!!
+     */
+    @Ignore
+    @Test
+    public void getFieldValue() {
+        /*
+        final Class<? super T> clazz;
+        final T instance;
+        final Class<R> fieldType;
+        final String fieldName;
+
+        final R expected;
+        final R actual = POITestCase.getFieldValue(clazz, instance, fieldType, fieldName);
+        assertEquals(expected, actual);
+        */
+    }
+     
+    /**
+     * Utility method to call a private/protected method.
+     * Only use this method in test cases!!!
+     */
+    @Ignore
+    @Test
+    public void callMethod() {
+        /*
+        final Class<? super T> clazz;
+        final T instance;
+        final Class<R> returnType;
+        final String methodName;
+        final Class<?>[] parameterTypes;
+        final Object[] parameters;
+
+        final R expected;
+        final R actual = POITestCase.callMethod(clazz, instance, returnType, methodName, parameterTypes, parameters);
+        assertEquals(expected, actual);
+        */
+    }
+
+    /**
+     * Utility method to shallow compare all fields of the objects
+     * Only use this method in test cases!!!
+     */
+    @Ignore
+    @Test
+    public void assertReflectEquals() throws Exception {
+        /*
+        final Object expected;
+        final Object actual;
+        POITestCase.assertReflectEquals(expected, actual);
+        */
+    }
+}