// Tags: JDK1.1 // Copyright (C) 1999, 2000, 2001, 2004 Red Hat, Inc. // 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, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.wonka.lang.reflect.Method; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.reflect.Method; public class toString implements Testlet { public Method getMethod (Class ic, String name, Class[] list) { Method m = null; try { m = ic.getMethod(name, list); } catch (Throwable _) { // Nothing. } return m; } public String no_args () { return "zardoz"; } public void simpleargs (int i, byte b) { } public int arrayargs (int[] z) { return z.length; } public int multidim_arrayargs (int[][][] z) { return z.length; } public String classargs (String[][] s) { return "test"; } public String[] arrayreturn() { return null; } public void test (TestHarness harness) { Class ic = null; try { ic = Class.forName ("gnu.testlet.wonka.lang.reflect.Method.toString"); } catch (Throwable _) { // Lose. } Class[] na_list = new Class[0]; Method na_meth = getMethod (ic, "no_args", na_list); harness.checkPoint("method with no arguments"); harness.check (na_meth.toString (), "public java.lang.String gnu.testlet.wonka.lang.reflect.Method.toString.no_args()"); Class[] simple_list = new Class[2]; simple_list[0] = int.class; simple_list[1] = byte.class; Method simple_meth = getMethod (ic, "simpleargs", simple_list); harness.checkPoint("method with primitive argument types"); harness.check (simple_meth.toString (), "public void gnu.testlet.wonka.lang.reflect.Method.toString.simpleargs(int,byte)"); Class[] aa_list = new Class[1]; aa_list[0] = int[].class; Method aa_meth = getMethod (ic, "arrayargs", aa_list); harness.checkPoint("method with a simple array type as argument"); harness.check (aa_meth.toString (), "public int gnu.testlet.wonka.lang.reflect.Method.toString.arrayargs(int[])"); Method mdaa_meth = getMethod (ic, "multidim_arrayargs", aa_list); harness.check(mdaa_meth == null, "invalid argument list for this method, getMethod should return null"); aa_list = new Class[1]; aa_list[0] = int[][][].class; mdaa_meth = getMethod (ic, "multidim_arrayargs", aa_list); harness.checkPoint("method with multiple array dims in argument"); harness.check (mdaa_meth.toString (), "public int gnu.testlet.wonka.lang.reflect.Method.toString.multidim_arrayargs(int[][][])"); aa_list = new Class[1]; aa_list[0] = String[][].class; Method string_meth = getMethod (ic, "classargs", aa_list); harness.checkPoint("method with class type array"); harness.check (string_meth.toString (), "public java.lang.String gnu.testlet.wonka.lang.reflect.Method.toString.classargs(java.lang.String[][])"); na_list = new Class[0]; Method ra_meth = getMethod (ic, "arrayreturn", na_list); harness.checkPoint("method with array as return type"); harness.check (ra_meth.toString (), "public java.lang.String[] gnu.testlet.wonka.lang.reflect.Method.toString.arrayreturn()"); } }