]> source.dussan.org Git - poi.git/commitdiff
New parent test class, which includes the common assertContains pattern
authorNick Burch <nick@apache.org>
Wed, 26 Jun 2013 00:44:35 +0000 (00:44 +0000)
committerNick Burch <nick@apache.org>
Wed, 26 Jun 2013 00:44:35 +0000 (00:44 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1496695 13f79535-47bb-0310-9956-ffa450edef68

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

diff --git a/src/testcases/org/apache/poi/POITestCase.java b/src/testcases/org/apache/poi/POITestCase.java
new file mode 100644 (file)
index 0000000..7a1a027
--- /dev/null
@@ -0,0 +1,63 @@
+/* ====================================================================
+   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 java.util.Collection;
+
+import junit.framework.TestCase;
+
+/**
+ * Parent class for POI JUnit TestCases, which provide additional
+ *  features 
+ */
+public class POITestCase extends TestCase {
+    public static void assertContains(String haystack, String needle) {
+        assertTrue(
+              "Unable to find expected text '" + needle + "' in text:\n" + haystack,
+              haystack.contains(needle)
+        );
+     }
+    
+    public static <T> void assertContains(T needle, T[] haystack)
+    {
+       // Check
+       for (T thing : haystack) {
+          if (thing.equals(needle)) {
+             return;
+          }
+       }
+
+       // Failed, try to build a nice error
+       StringBuilder sb = new StringBuilder();
+       sb.append("Unable to find ").append(needle).append(" in [");
+       for (T thing : haystack) {
+           sb.append(" ").append(thing.toString()).append(" ,");
+        }
+        sb.setCharAt(sb.length()-1, ']');
+
+        fail(sb.toString());
+     }
+    
+     public static  <T> void assertContains(T needle, Collection<T> haystack) {
+        if (haystack.contains(needle)) {
+           return;
+        }
+        fail("Unable to find " + needle + " in " + haystack);
+     }
+}
index 686aa549d1b280e2b1482cb1a4d21f315db3869b..de6739bb7ffc4e119f16f86052fb7299bce867ff 100644 (file)
@@ -19,13 +19,11 @@ package org.apache.poi.util;
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
+
 /**
  * Test suite for all sub-packages of org.apache.poi.util<br/>
- * 
- * @author Josh Micich
  */
 public final class AllPOIUtilTests {
-
     public static Test suite() {
         TestSuite result = new TestSuite(AllPOIUtilTests.class.getName());
         result.addTestSuite(TestArrayUtil.class);