// Test for method java.lang.Class.isArray() // Copyright (C) 2012 Pavel Tisnovsky <ptisnovs@redhat.com> // This file is part of Mauve. // Mauve is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2, or (at your option) // any later version. // Mauve is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; /** * Test for method java.lang.Class.isArray() */ public class isArray implements Testlet { public int getExpectedPass() { return 36; } public int getExpectedFail() { return 0; } public int getExpectedKnownFail() { return 0; } /** * Runs the test using the specified harness. * * @param harness the test harness (<code>null</code> not permitted). */ public void test(TestHarness harness) { // primitive types and it's corresponding classes checkClass(harness, "java.lang.Boolean", false); checkClass(harness, "java.lang.Character", false); checkClass(harness, "java.lang.Byte", false); checkClass(harness, "java.lang.Short", false); checkClass(harness, "java.lang.Integer", false); checkClass(harness, "java.lang.Long", false); checkClass(harness, "java.lang.Float", false); checkClass(harness, "java.lang.Double", false); checkClass(harness, "java.lang.Object", false); // one-dimensional arrays checkClass(harness, "[Z", true); checkClass(harness, "[C", true); checkClass(harness, "[B", true); checkClass(harness, "[S", true); checkClass(harness, "[I", true); checkClass(harness, "[J", true); checkClass(harness, "[F", true); checkClass(harness, "[D", true); checkClass(harness, "[Ljava.lang.Object;", true); // two-dimensional arrays checkClass(harness, "[[Z", true); checkClass(harness, "[[C", true); checkClass(harness, "[[B", true); checkClass(harness, "[[S", true); checkClass(harness, "[[I", true); checkClass(harness, "[[J", true); checkClass(harness, "[[F", true); checkClass(harness, "[[D", true); checkClass(harness, "[[Ljava.lang.Object;", true); // three-dimensional arrays checkClass(harness, "[[[Z", true); checkClass(harness, "[[[C", true); checkClass(harness, "[[[B", true); checkClass(harness, "[[[S", true); checkClass(harness, "[[[I", true); checkClass(harness, "[[[J", true); checkClass(harness, "[[[F", true); checkClass(harness, "[[[D", true); checkClass(harness, "[[[Ljava.lang.Object;", true); } public void checkClass(TestHarness harness, String className, boolean isArray) { try { Class c = Class.forName(className); harness.check(c.isArray() == isArray); } catch (Exception e) { e.printStackTrace(); harness.check(false); } } }