From fd9a30a8cc1b5a204f218f50db66a5a9f428ea53 Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Wed, 26 Jun 2013 00:44:35 +0000 Subject: [PATCH] New parent test class, which includes the common assertContains pattern git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1496695 13f79535-47bb-0310-9956-ffa450edef68 --- src/testcases/org/apache/poi/POITestCase.java | 63 +++++++++++++++++++ .../org/apache/poi/util/AllPOIUtilTests.java | 4 +- 2 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 src/testcases/org/apache/poi/POITestCase.java diff --git a/src/testcases/org/apache/poi/POITestCase.java b/src/testcases/org/apache/poi/POITestCase.java new file mode 100644 index 000000000..7a1a0274c --- /dev/null +++ b/src/testcases/org/apache/poi/POITestCase.java @@ -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 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 void assertContains(T needle, Collection haystack) { + if (haystack.contains(needle)) { + return; + } + fail("Unable to find " + needle + " in " + haystack); + } +} diff --git a/src/testcases/org/apache/poi/util/AllPOIUtilTests.java b/src/testcases/org/apache/poi/util/AllPOIUtilTests.java index 686aa549d..de6739bb7 100644 --- a/src/testcases/org/apache/poi/util/AllPOIUtilTests.java +++ b/src/testcases/org/apache/poi/util/AllPOIUtilTests.java @@ -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
- * - * @author Josh Micich */ public final class AllPOIUtilTests { - public static Test suite() { TestSuite result = new TestSuite(AllPOIUtilTests.class.getName()); result.addTestSuite(TestArrayUtil.class);