Path: blob/master/test/jdk/java/lang/annotation/UnitTest.java
41149 views
/*1* Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*/2223/*24* @test25* @bug 4906359 4963461 4965058 4965039 498677026* @summary Unit test for annotation reading27* @author Josh Bloch28*/2930import static java.lang.annotation.RetentionPolicy.RUNTIME;3132import java.lang.annotation.*;33import java.util.*;34import java.lang.reflect.*;35import java.io.*;3637public class UnitTest {38private static final Class[] X = new Class[0];39private static final Class[] Y = { int.class };4041static int numTests = 0;4243public static void main(String[] args) throws Exception {4445// *** TESTS ON ANNOTATED METHODS ***4647// MULTIMEMBER SCALAR TYPES ON METHOD48checkScalarTypes(UnitTest.class.getMethod("scalarTypesMethod", X));49checkScalarTypesOverrideDefault(UnitTest.class.getMethod("scalarTypesOverrideDefaultMethod", X));50checkScalarTypesAcceptDefault(UnitTest.class.getMethod("scalarTypesAcceptDefaultMethod", X));5152// MULTIMEMBER ARRAY TYPES ON METHOD53checkArrayTypes0(UnitTest.class.getMethod("emptyArrayTypesMethod", X));54checkArrayTypes1(UnitTest.class.getMethod("singleElementArrayTypesMethod", X));55checkArrayTypes2(UnitTest.class.getMethod("twoElementArrayTypesMethod", X));56checkArrayTypesAcceptDefault(UnitTest.class.getMethod("arrayTypesAcceptDefaultMethod", X));57checkArrayTypesOverrideDefault(UnitTest.class.getMethod("arrayTypesOverrideDefaultMethod", X));5859// MARKER TYPE ON METHOD60checkMarker(UnitTest.class.getMethod("markerMethod", X));6162// SINGLE-MEMBER SCALAR TYPES ON METHOD63checkSingleMemberByte(UnitTest.class.getMethod("SingleMemberByte", X));64checkSingleMemberShort(UnitTest.class.getMethod("SingleMemberShort", X));65checkSingleMemberInt(UnitTest.class.getMethod("SingleMemberInt", X));66checkSingleMemberLong(UnitTest.class.getMethod("SingleMemberLong", X));67checkSingleMemberChar(UnitTest.class.getMethod("SingleMemberChar", X));68checkSingleMemberFloat(UnitTest.class.getMethod("SingleMemberFloat", X));69checkSingleMemberDouble(UnitTest.class.getMethod("SingleMemberDouble", X));70checkSingleMemberBoolean(UnitTest.class.getMethod("SingleMemberBoolean", X));71checkSingleMemberString(UnitTest.class.getMethod("SingleMemberString", X));72checkSingleMemberClass(UnitTest.class.getMethod("SingleMemberClass", X));73checkSingleMemberEnum(UnitTest.class.getMethod("SingleMemberEnum", X));7475// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-OVERRIDE ON METHOD76checkSingleMemberByteOvrdDef(UnitTest.class.getMethod("SingleMemberByteOvrdDef", X));77checkSingleMemberShortOvrdDef(UnitTest.class.getMethod("SingleMemberShortOvrdDef", X));78checkSingleMemberIntOvrdDef(UnitTest.class.getMethod("SingleMemberIntOvrdDef", X));79checkSingleMemberLongOvrdDef(UnitTest.class.getMethod("SingleMemberLongOvrdDef", X));80checkSingleMemberCharOvrdDef(UnitTest.class.getMethod("SingleMemberCharOvrdDef", X));81checkSingleMemberFloatOvrdDef(UnitTest.class.getMethod("SingleMemberFloatOvrdDef", X));82checkSingleMemberDoubleOvrdDef(UnitTest.class.getMethod("SingleMemberDoubleOvrdDef", X));83checkSingleMemberBooleanOvrdDef(UnitTest.class.getMethod("SingleMemberBooleanOvrdDef", X));84checkSingleMemberStringOvrdDef(UnitTest.class.getMethod("SingleMemberStringOvrdDef", X));85checkSingleMemberClassOvrdDef(UnitTest.class.getMethod("SingleMemberClassOvrdDef", X));86checkSingleMemberEnumOvrdDef(UnitTest.class.getMethod("SingleMemberEnumOvrdDef", X));8788// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-ACCEPT ON METHOD89checkSingleMemberByteAcceptDef(UnitTest.class.getMethod("SingleMemberByteAcceptDef", X));90checkSingleMemberShortAcceptDef(UnitTest.class.getMethod("SingleMemberShortAcceptDef", X));91checkSingleMemberIntAcceptDef(UnitTest.class.getMethod("SingleMemberIntAcceptDef", X));92checkSingleMemberLongAcceptDef(UnitTest.class.getMethod("SingleMemberLongAcceptDef", X));93checkSingleMemberCharAcceptDef(UnitTest.class.getMethod("SingleMemberCharAcceptDef", X));94checkSingleMemberFloatAcceptDef(UnitTest.class.getMethod("SingleMemberFloatAcceptDef", X));95checkSingleMemberDoubleAcceptDef(UnitTest.class.getMethod("SingleMemberDoubleAcceptDef", X));96checkSingleMemberBooleanAcceptDef(UnitTest.class.getMethod("SingleMemberBooleanAcceptDef", X));97checkSingleMemberStringAcceptDef(UnitTest.class.getMethod("SingleMemberStringAcceptDef", X));98checkSingleMemberClassAcceptDef(UnitTest.class.getMethod("SingleMemberClassAcceptDef", X));99checkSingleMemberEnumAcceptDef(UnitTest.class.getMethod("SingleMemberEnumAcceptDef", X));100101// SINGLE-MEMBER ARRAY TYPES (EMPTY ARRAY) ON METHOD102checkSingleMemberByteArrEmpty(UnitTest.class.getMethod("SingleMemberByteArrEmpty", X));103checkSingleMemberShortArrEmpty(UnitTest.class.getMethod("SingleMemberShortArrEmpty", X));104checkSingleMemberIntArrEmpty(UnitTest.class.getMethod("SingleMemberIntArrEmpty", X));105checkSingleMemberLongArrEmpty(UnitTest.class.getMethod("SingleMemberLongArrEmpty", X));106checkSingleMemberCharArrEmpty(UnitTest.class.getMethod("SingleMemberCharArrEmpty", X));107checkSingleMemberFloatArrEmpty(UnitTest.class.getMethod("SingleMemberFloatArrEmpty", X));108checkSingleMemberDoubleArrEmpty(UnitTest.class.getMethod("SingleMemberDoubleArrEmpty", X));109checkSingleMemberBooleanArrEmpty(UnitTest.class.getMethod("SingleMemberBooleanArrEmpty", X));110checkSingleMemberStringArrEmpty(UnitTest.class.getMethod("SingleMemberStringArrEmpty", X));111checkSingleMemberClassArrEmpty(UnitTest.class.getMethod("SingleMemberClassArrEmpty", X));112checkSingleMemberEnumArrEmpty(UnitTest.class.getMethod("SingleMemberEnumArrEmpty", X));113114// SINGLE-MEMBER ARRAY TYPES (ONE-ELEMENT ARRAY) ON METHOD115checkSingleMemberByteArrOne(UnitTest.class.getMethod("SingleMemberByteArrOne", X));116checkSingleMemberShortArrOne(UnitTest.class.getMethod("SingleMemberShortArrOne", X));117checkSingleMemberIntArrOne(UnitTest.class.getMethod("SingleMemberIntArrOne", X));118checkSingleMemberLongArrOne(UnitTest.class.getMethod("SingleMemberLongArrOne", X));119checkSingleMemberCharArrOne(UnitTest.class.getMethod("SingleMemberCharArrOne", X));120checkSingleMemberFloatArrOne(UnitTest.class.getMethod("SingleMemberFloatArrOne", X));121checkSingleMemberDoubleArrOne(UnitTest.class.getMethod("SingleMemberDoubleArrOne", X));122checkSingleMemberBooleanArrOne(UnitTest.class.getMethod("SingleMemberBooleanArrOne", X));123checkSingleMemberStringArrOne(UnitTest.class.getMethod("SingleMemberStringArrOne", X));124checkSingleMemberClassArrOne(UnitTest.class.getMethod("SingleMemberClassArrOne", X));125checkSingleMemberEnumArrOne(UnitTest.class.getMethod("SingleMemberEnumArrOne", X));126127// SINGLE-MEMBER ARRAY TYPES (TWO-ELEMENT ARRAY) ON METHOD128checkSingleMemberByteArrTwo(UnitTest.class.getMethod("SingleMemberByteArrTwo", X));129checkSingleMemberShortArrTwo(UnitTest.class.getMethod("SingleMemberShortArrTwo", X));130checkSingleMemberIntArrTwo(UnitTest.class.getMethod("SingleMemberIntArrTwo", X));131checkSingleMemberLongArrTwo(UnitTest.class.getMethod("SingleMemberLongArrTwo", X));132checkSingleMemberCharArrTwo(UnitTest.class.getMethod("SingleMemberCharArrTwo", X));133checkSingleMemberFloatArrTwo(UnitTest.class.getMethod("SingleMemberFloatArrTwo", X));134checkSingleMemberDoubleArrTwo(UnitTest.class.getMethod("SingleMemberDoubleArrTwo", X));135checkSingleMemberBooleanArrTwo(UnitTest.class.getMethod("SingleMemberBooleanArrTwo", X));136checkSingleMemberStringArrTwo(UnitTest.class.getMethod("SingleMemberStringArrTwo", X));137checkSingleMemberClassArrTwo(UnitTest.class.getMethod("SingleMemberClassArrTwo", X));138checkSingleMemberEnumArrTwo(UnitTest.class.getMethod("SingleMemberEnumArrTwo", X));139140// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT (OVERRIDE)ON METHOD141checkSingleMemberByteArrOvrdDef(UnitTest.class.getMethod("SingleMemberByteArrOvrdDef", X));142checkSingleMemberShortArrOvrdDef(UnitTest.class.getMethod("SingleMemberShortArrOvrdDef", X));143checkSingleMemberIntArrOvrdDef(UnitTest.class.getMethod("SingleMemberIntArrOvrdDef", X));144checkSingleMemberLongArrOvrdDef(UnitTest.class.getMethod("SingleMemberLongArrOvrdDef", X));145checkSingleMemberCharArrOvrdDef(UnitTest.class.getMethod("SingleMemberCharArrOvrdDef", X));146checkSingleMemberFloatArrOvrdDef(UnitTest.class.getMethod("SingleMemberFloatArrOvrdDef", X));147checkSingleMemberDoubleArrOvrdDef(UnitTest.class.getMethod("SingleMemberDoubleArrOvrdDef", X));148checkSingleMemberBooleanArrOvrdDef(UnitTest.class.getMethod("SingleMemberBooleanArrOvrdDef", X));149checkSingleMemberStringArrOvrdDef(UnitTest.class.getMethod("SingleMemberStringArrOvrdDef", X));150checkSingleMemberClassArrOvrdDef(UnitTest.class.getMethod("SingleMemberClassArrOvrdDef", X));151checkSingleMemberEnumArrOvrdDef(UnitTest.class.getMethod("SingleMemberEnumArrOvrdDef", X));152153// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT (ACCEPT)ON METHOD154checkSingleMemberByteArrAcceptDef(UnitTest.class.getMethod("SingleMemberByteArrAcceptDef", X));155checkSingleMemberShortArrAcceptDef(UnitTest.class.getMethod("SingleMemberShortArrAcceptDef", X));156checkSingleMemberIntArrAcceptDef(UnitTest.class.getMethod("SingleMemberIntArrAcceptDef", X));157checkSingleMemberLongArrAcceptDef(UnitTest.class.getMethod("SingleMemberLongArrAcceptDef", X));158checkSingleMemberCharArrAcceptDef(UnitTest.class.getMethod("SingleMemberCharArrAcceptDef", X));159checkSingleMemberFloatArrAcceptDef(UnitTest.class.getMethod("SingleMemberFloatArrAcceptDef", X));160checkSingleMemberDoubleArrAcceptDef(UnitTest.class.getMethod("SingleMemberDoubleArrAcceptDef", X));161checkSingleMemberBooleanArrAcceptDef(UnitTest.class.getMethod("SingleMemberBooleanArrAcceptDef", X));162checkSingleMemberStringArrAcceptDef(UnitTest.class.getMethod("SingleMemberStringArrAcceptDef", X));163checkSingleMemberClassArrAcceptDef(UnitTest.class.getMethod("SingleMemberClassArrAcceptDef", X));164checkSingleMemberEnumArrAcceptDef(UnitTest.class.getMethod("SingleMemberEnumArrAcceptDef", X));165166// *** TESTS ON ANNOTATED FIELDS ***167168// MULTIMEMBER SCALAR TYPES ON FIELD169checkScalarTypes(UnitTest.class.getField("scalarTypesField"));170checkScalarTypesAcceptDefault(UnitTest.class.getField("scalarTypesAcceptDefaultField"));171checkScalarTypesOverrideDefault(UnitTest.class.getField("scalarTypesOverrideDefaultField"));172173// MULTIMEMBER ARRAY TYPES ON FIELD174checkArrayTypes0(UnitTest.class.getField("emptyArrayTypesField"));175checkArrayTypes1(UnitTest.class.getField("singleElementArrayTypesField"));176checkArrayTypes2(UnitTest.class.getField("twoElementArrayTypesField"));177checkArrayTypesAcceptDefault(UnitTest.class.getField("arrayTypesAcceptDefaultField"));178checkArrayTypesOverrideDefault(UnitTest.class.getField("arrayTypesOverrideDefaultField"));179180// MARKER TYPE ON FIELD181checkMarker(UnitTest.class.getField("markerField"));182183// SINGLE-MEMBER SCALAR TYPES ON FIELD184checkSingleMemberByte(UnitTest.class.getField("SingleMemberByteField"));185checkSingleMemberShort(UnitTest.class.getField("SingleMemberShortField"));186checkSingleMemberInt(UnitTest.class.getField("SingleMemberIntField"));187checkSingleMemberLong(UnitTest.class.getField("SingleMemberLongField"));188checkSingleMemberChar(UnitTest.class.getField("SingleMemberCharField"));189checkSingleMemberFloat(UnitTest.class.getField("SingleMemberFloatField"));190checkSingleMemberDouble(UnitTest.class.getField("SingleMemberDoubleField"));191checkSingleMemberBoolean(UnitTest.class.getField("SingleMemberBooleanField"));192checkSingleMemberString(UnitTest.class.getField("SingleMemberStringField"));193checkSingleMemberClass(UnitTest.class.getField("SingleMemberClassField"));194checkSingleMemberEnum(UnitTest.class.getField("SingleMemberEnumField"));195196// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-OVERRIDE ON FIELD197checkSingleMemberByteOvrdDef(UnitTest.class.getField("SingleMemberByteOvrdDefField"));198checkSingleMemberShortOvrdDef(UnitTest.class.getField("SingleMemberShortOvrdDefField"));199checkSingleMemberIntOvrdDef(UnitTest.class.getField("SingleMemberIntOvrdDefField"));200checkSingleMemberLongOvrdDef(UnitTest.class.getField("SingleMemberLongOvrdDefField"));201checkSingleMemberCharOvrdDef(UnitTest.class.getField("SingleMemberCharOvrdDefField"));202checkSingleMemberFloatOvrdDef(UnitTest.class.getField("SingleMemberFloatOvrdDefField"));203checkSingleMemberDoubleOvrdDef(UnitTest.class.getField("SingleMemberDoubleOvrdDefField"));204checkSingleMemberBooleanOvrdDef(UnitTest.class.getField("SingleMemberBooleanOvrdDefField"));205checkSingleMemberStringOvrdDef(UnitTest.class.getField("SingleMemberStringOvrdDefField"));206checkSingleMemberClassOvrdDef(UnitTest.class.getField("SingleMemberClassOvrdDefField"));207checkSingleMemberEnumOvrdDef(UnitTest.class.getField("SingleMemberEnumOvrdDefField"));208209// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-ACCEPT ON FIELD210checkSingleMemberByteAcceptDef(UnitTest.class.getField("SingleMemberByteAcceptDefField"));211checkSingleMemberShortAcceptDef(UnitTest.class.getField("SingleMemberShortAcceptDefField"));212checkSingleMemberIntAcceptDef(UnitTest.class.getField("SingleMemberIntAcceptDefField"));213checkSingleMemberLongAcceptDef(UnitTest.class.getField("SingleMemberLongAcceptDefField"));214checkSingleMemberCharAcceptDef(UnitTest.class.getField("SingleMemberCharAcceptDefField"));215checkSingleMemberFloatAcceptDef(UnitTest.class.getField("SingleMemberFloatAcceptDefField"));216checkSingleMemberDoubleAcceptDef(UnitTest.class.getField("SingleMemberDoubleAcceptDefField"));217checkSingleMemberBooleanAcceptDef(UnitTest.class.getField("SingleMemberBooleanAcceptDefField"));218checkSingleMemberStringAcceptDef(UnitTest.class.getField("SingleMemberStringAcceptDefField"));219checkSingleMemberClassAcceptDef(UnitTest.class.getField("SingleMemberClassAcceptDefField"));220checkSingleMemberEnumAcceptDef(UnitTest.class.getField("SingleMemberEnumAcceptDefField"));221222// SINGLE-MEMBER ARRAY TYPES (EMPTY ARRAY) ON FIELD223checkSingleMemberByteArrEmpty(UnitTest.class.getField("SingleMemberByteArrEmptyField"));224checkSingleMemberShortArrEmpty(UnitTest.class.getField("SingleMemberShortArrEmptyField"));225checkSingleMemberIntArrEmpty(UnitTest.class.getField("SingleMemberIntArrEmptyField"));226checkSingleMemberLongArrEmpty(UnitTest.class.getField("SingleMemberLongArrEmptyField"));227checkSingleMemberCharArrEmpty(UnitTest.class.getField("SingleMemberCharArrEmptyField"));228checkSingleMemberFloatArrEmpty(UnitTest.class.getField("SingleMemberFloatArrEmptyField"));229checkSingleMemberDoubleArrEmpty(UnitTest.class.getField("SingleMemberDoubleArrEmptyField"));230checkSingleMemberBooleanArrEmpty(UnitTest.class.getField("SingleMemberBooleanArrEmptyField"));231checkSingleMemberStringArrEmpty(UnitTest.class.getField("SingleMemberStringArrEmptyField"));232checkSingleMemberClassArrEmpty(UnitTest.class.getField("SingleMemberClassArrEmptyField"));233checkSingleMemberEnumArrEmpty(UnitTest.class.getField("SingleMemberEnumArrEmptyField"));234235// SINGLE-MEMBER ARRAY TYPES (ONE-ELEMENT ARRAY) ON FIELD236checkSingleMemberByteArrOne(UnitTest.class.getField("SingleMemberByteArrOneField"));237checkSingleMemberShortArrOne(UnitTest.class.getField("SingleMemberShortArrOneField"));238checkSingleMemberIntArrOne(UnitTest.class.getField("SingleMemberIntArrOneField"));239checkSingleMemberLongArrOne(UnitTest.class.getField("SingleMemberLongArrOneField"));240checkSingleMemberCharArrOne(UnitTest.class.getField("SingleMemberCharArrOneField"));241checkSingleMemberFloatArrOne(UnitTest.class.getField("SingleMemberFloatArrOneField"));242checkSingleMemberDoubleArrOne(UnitTest.class.getField("SingleMemberDoubleArrOneField"));243checkSingleMemberBooleanArrOne(UnitTest.class.getField("SingleMemberBooleanArrOneField"));244checkSingleMemberStringArrOne(UnitTest.class.getField("SingleMemberStringArrOneField"));245checkSingleMemberClassArrOne(UnitTest.class.getField("SingleMemberClassArrOneField"));246checkSingleMemberEnumArrOne(UnitTest.class.getField("SingleMemberEnumArrOneField"));247248// SINGLE-MEMBER ARRAY TYPES (TWO-ELEMENT ARRAY) ON FIELD249checkSingleMemberByteArrTwo(UnitTest.class.getField("SingleMemberByteArrTwoField"));250checkSingleMemberShortArrTwo(UnitTest.class.getField("SingleMemberShortArrTwoField"));251checkSingleMemberIntArrTwo(UnitTest.class.getField("SingleMemberIntArrTwoField"));252checkSingleMemberLongArrTwo(UnitTest.class.getField("SingleMemberLongArrTwoField"));253checkSingleMemberCharArrTwo(UnitTest.class.getField("SingleMemberCharArrTwoField"));254checkSingleMemberFloatArrTwo(UnitTest.class.getField("SingleMemberFloatArrTwoField"));255checkSingleMemberDoubleArrTwo(UnitTest.class.getField("SingleMemberDoubleArrTwoField"));256checkSingleMemberBooleanArrTwo(UnitTest.class.getField("SingleMemberBooleanArrTwoField"));257checkSingleMemberStringArrTwo(UnitTest.class.getField("SingleMemberStringArrTwoField"));258checkSingleMemberClassArrTwo(UnitTest.class.getField("SingleMemberClassArrTwoField"));259checkSingleMemberEnumArrTwo(UnitTest.class.getField("SingleMemberEnumArrTwoField"));260261// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT (OVERRIDE)ON FIELD262checkSingleMemberByteArrOvrdDef(UnitTest.class.getField("SingleMemberByteArrOvrdDefField"));263checkSingleMemberShortArrOvrdDef(UnitTest.class.getField("SingleMemberShortArrOvrdDefField"));264checkSingleMemberIntArrOvrdDef(UnitTest.class.getField("SingleMemberIntArrOvrdDefField"));265checkSingleMemberLongArrOvrdDef(UnitTest.class.getField("SingleMemberLongArrOvrdDefField"));266checkSingleMemberCharArrOvrdDef(UnitTest.class.getField("SingleMemberCharArrOvrdDefField"));267checkSingleMemberFloatArrOvrdDef(UnitTest.class.getField("SingleMemberFloatArrOvrdDefField"));268checkSingleMemberDoubleArrOvrdDef(UnitTest.class.getField("SingleMemberDoubleArrOvrdDefField"));269checkSingleMemberBooleanArrOvrdDef(UnitTest.class.getField("SingleMemberBooleanArrOvrdDefField"));270checkSingleMemberStringArrOvrdDef(UnitTest.class.getField("SingleMemberStringArrOvrdDefField"));271checkSingleMemberClassArrOvrdDef(UnitTest.class.getField("SingleMemberClassArrOvrdDefField"));272checkSingleMemberEnumArrOvrdDef(UnitTest.class.getField("SingleMemberEnumArrOvrdDefField"));273274// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT (ACCEPT)ON FIELD275checkSingleMemberByteArrAcceptDef(UnitTest.class.getField("SingleMemberByteArrAcceptDefField"));276checkSingleMemberShortArrAcceptDef(UnitTest.class.getField("SingleMemberShortArrAcceptDefField"));277checkSingleMemberIntArrAcceptDef(UnitTest.class.getField("SingleMemberIntArrAcceptDefField"));278checkSingleMemberLongArrAcceptDef(UnitTest.class.getField("SingleMemberLongArrAcceptDefField"));279checkSingleMemberCharArrAcceptDef(UnitTest.class.getField("SingleMemberCharArrAcceptDefField"));280checkSingleMemberFloatArrAcceptDef(UnitTest.class.getField("SingleMemberFloatArrAcceptDefField"));281checkSingleMemberDoubleArrAcceptDef(UnitTest.class.getField("SingleMemberDoubleArrAcceptDefField"));282checkSingleMemberBooleanArrAcceptDef(UnitTest.class.getField("SingleMemberBooleanArrAcceptDefField"));283checkSingleMemberStringArrAcceptDef(UnitTest.class.getField("SingleMemberStringArrAcceptDefField"));284checkSingleMemberClassArrAcceptDef(UnitTest.class.getField("SingleMemberClassArrAcceptDefField"));285checkSingleMemberEnumArrAcceptDef(UnitTest.class.getField("SingleMemberEnumArrAcceptDefField"));286287// *** TESTS ON ANNOTATED ENUM CONSTS ***288289// MULTIMEMBER SCALAR TYPES ON ENUM CONST290checkScalarTypes(TestType.class.getField("scalarTypesField"));291checkScalarTypesAcceptDefault(TestType.class.getField("scalarTypesAcceptDefaultField"));292checkScalarTypesOverrideDefault(TestType.class.getField("scalarTypesOverrideDefaultField"));293294// MULTIMEMBER ARRAY TYPES ON ENUM CONST295checkArrayTypes0(TestType.class.getField("emptyArrayTypesField"));296checkArrayTypes1(TestType.class.getField("singleElementArrayTypesField"));297checkArrayTypes2(TestType.class.getField("twoElementArrayTypesField"));298checkArrayTypesAcceptDefault(TestType.class.getField("arrayTypesAcceptDefaultField"));299checkArrayTypesOverrideDefault(TestType.class.getField("arrayTypesOverrideDefaultField"));300301// MARKER TYPE ON CLASS302checkMarker(TestType.class.getField("marker"));303304// SINGLE-MEMBER SCALAR TYPES ON CLASS305checkSingleMemberByte(TestType.class.getField("SingleMemberByte"));306checkSingleMemberShort(TestType.class.getField("SingleMemberShort"));307checkSingleMemberInt(TestType.class.getField("SingleMemberInt"));308checkSingleMemberLong(TestType.class.getField("SingleMemberLong"));309checkSingleMemberChar(TestType.class.getField("SingleMemberChar"));310checkSingleMemberFloat(TestType.class.getField("SingleMemberFloat"));311checkSingleMemberDouble(TestType.class.getField("SingleMemberDouble"));312checkSingleMemberBoolean(TestType.class.getField("SingleMemberBoolean"));313checkSingleMemberString(TestType.class.getField("SingleMemberString"));314checkSingleMemberClass(TestType.class.getField("SingleMemberClass"));315checkSingleMemberEnum(TestType.class.getField("SingleMemberEnum"));316317// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-OVERRIDE ON CLASS318checkSingleMemberByteOvrdDef(TestType.class.getField("SingleMemberByteOvrdDef"));319checkSingleMemberShortOvrdDef(TestType.class.getField("SingleMemberShortOvrdDef"));320checkSingleMemberIntOvrdDef(TestType.class.getField("SingleMemberIntOvrdDef"));321checkSingleMemberLongOvrdDef(TestType.class.getField("SingleMemberLongOvrdDef"));322checkSingleMemberCharOvrdDef(TestType.class.getField("SingleMemberCharOvrdDef"));323checkSingleMemberFloatOvrdDef(TestType.class.getField("SingleMemberFloatOvrdDef"));324checkSingleMemberDoubleOvrdDef(TestType.class.getField("SingleMemberDoubleOvrdDef"));325checkSingleMemberBooleanOvrdDef(TestType.class.getField("SingleMemberBooleanOvrdDef"));326checkSingleMemberStringOvrdDef(TestType.class.getField("SingleMemberStringOvrdDef"));327checkSingleMemberClassOvrdDef(TestType.class.getField("SingleMemberClassOvrdDef"));328checkSingleMemberEnumOvrdDef(TestType.class.getField("SingleMemberEnumOvrdDef"));329330// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-ACCEPT ON CLASS331checkSingleMemberByteAcceptDef(TestType.class.getField("SingleMemberByteAcceptDef"));332checkSingleMemberShortAcceptDef(TestType.class.getField("SingleMemberShortAcceptDef"));333checkSingleMemberIntAcceptDef(TestType.class.getField("SingleMemberIntAcceptDef"));334checkSingleMemberLongAcceptDef(TestType.class.getField("SingleMemberLongAcceptDef"));335checkSingleMemberCharAcceptDef(TestType.class.getField("SingleMemberCharAcceptDef"));336checkSingleMemberFloatAcceptDef(TestType.class.getField("SingleMemberFloatAcceptDef"));337checkSingleMemberDoubleAcceptDef(TestType.class.getField("SingleMemberDoubleAcceptDef"));338checkSingleMemberBooleanAcceptDef(TestType.class.getField("SingleMemberBooleanAcceptDef"));339checkSingleMemberStringAcceptDef(TestType.class.getField("SingleMemberStringAcceptDef"));340checkSingleMemberClassAcceptDef(TestType.class.getField("SingleMemberClassAcceptDef"));341checkSingleMemberEnumAcceptDef(TestType.class.getField("SingleMemberEnumAcceptDef"));342343// SINGLE-MEMBER ARRAY TYPES (TestType.class.getField("EMPTY ARRAY) ON CLASS344checkSingleMemberByteArrEmpty(TestType.class.getField("SingleMemberByteArrEmpty"));345checkSingleMemberShortArrEmpty(TestType.class.getField("SingleMemberShortArrEmpty"));346checkSingleMemberIntArrEmpty(TestType.class.getField("SingleMemberIntArrEmpty"));347checkSingleMemberLongArrEmpty(TestType.class.getField("SingleMemberLongArrEmpty"));348checkSingleMemberCharArrEmpty(TestType.class.getField("SingleMemberCharArrEmpty"));349checkSingleMemberFloatArrEmpty(TestType.class.getField("SingleMemberFloatArrEmpty"));350checkSingleMemberDoubleArrEmpty(TestType.class.getField("SingleMemberDoubleArrEmpty"));351checkSingleMemberBooleanArrEmpty(TestType.class.getField("SingleMemberBooleanArrEmpty"));352checkSingleMemberStringArrEmpty(TestType.class.getField("SingleMemberStringArrEmpty"));353checkSingleMemberClassArrEmpty(TestType.class.getField("SingleMemberClassArrEmpty"));354checkSingleMemberEnumArrEmpty(TestType.class.getField("SingleMemberEnumArrEmpty"));355356// SINGLE-MEMBER ARRAY TYPES (TestType.class.getField("ONE-ELEMENT ARRAY) ON CLASS357checkSingleMemberByteArrOne(TestType.class.getField("SingleMemberByteArrOne"));358checkSingleMemberShortArrOne(TestType.class.getField("SingleMemberShortArrOne"));359checkSingleMemberIntArrOne(TestType.class.getField("SingleMemberIntArrOne"));360checkSingleMemberLongArrOne(TestType.class.getField("SingleMemberLongArrOne"));361checkSingleMemberCharArrOne(TestType.class.getField("SingleMemberCharArrOne"));362checkSingleMemberFloatArrOne(TestType.class.getField("SingleMemberFloatArrOne"));363checkSingleMemberDoubleArrOne(TestType.class.getField("SingleMemberDoubleArrOne"));364checkSingleMemberBooleanArrOne(TestType.class.getField("SingleMemberBooleanArrOne"));365checkSingleMemberStringArrOne(TestType.class.getField("SingleMemberStringArrOne"));366checkSingleMemberClassArrOne(TestType.class.getField("SingleMemberClassArrOne"));367checkSingleMemberEnumArrOne(TestType.class.getField("SingleMemberEnumArrOne"));368369// SINGLE-MEMBER ARRAY TYPES (TestType.class.getField("TWO-ELEMENT ARRAY) ON CLASS370checkSingleMemberByteArrTwo(TestType.class.getField("SingleMemberByteArrTwo"));371checkSingleMemberShortArrTwo(TestType.class.getField("SingleMemberShortArrTwo"));372checkSingleMemberIntArrTwo(TestType.class.getField("SingleMemberIntArrTwo"));373checkSingleMemberLongArrTwo(TestType.class.getField("SingleMemberLongArrTwo"));374checkSingleMemberCharArrTwo(TestType.class.getField("SingleMemberCharArrTwo"));375checkSingleMemberFloatArrTwo(TestType.class.getField("SingleMemberFloatArrTwo"));376checkSingleMemberDoubleArrTwo(TestType.class.getField("SingleMemberDoubleArrTwo"));377checkSingleMemberBooleanArrTwo(TestType.class.getField("SingleMemberBooleanArrTwo"));378checkSingleMemberStringArrTwo(TestType.class.getField("SingleMemberStringArrTwo"));379checkSingleMemberClassArrTwo(TestType.class.getField("SingleMemberClassArrTwo"));380checkSingleMemberEnumArrTwo(TestType.class.getField("SingleMemberEnumArrTwo"));381382// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT (TestType.class.getField("OVERRIDE)ON CLASS383checkSingleMemberByteArrOvrdDef(TestType.class.getField("SingleMemberByteArrOvrdDef"));384checkSingleMemberShortArrOvrdDef(TestType.class.getField("SingleMemberShortArrOvrdDef"));385checkSingleMemberIntArrOvrdDef(TestType.class.getField("SingleMemberIntArrOvrdDef"));386checkSingleMemberLongArrOvrdDef(TestType.class.getField("SingleMemberLongArrOvrdDef"));387checkSingleMemberCharArrOvrdDef(TestType.class.getField("SingleMemberCharArrOvrdDef"));388checkSingleMemberFloatArrOvrdDef(TestType.class.getField("SingleMemberFloatArrOvrdDef"));389checkSingleMemberDoubleArrOvrdDef(TestType.class.getField("SingleMemberDoubleArrOvrdDef"));390checkSingleMemberBooleanArrOvrdDef(TestType.class.getField("SingleMemberBooleanArrOvrdDef"));391checkSingleMemberStringArrOvrdDef(TestType.class.getField("SingleMemberStringArrOvrdDef"));392checkSingleMemberClassArrOvrdDef(TestType.class.getField("SingleMemberClassArrOvrdDef"));393checkSingleMemberEnumArrOvrdDef(TestType.class.getField("SingleMemberEnumArrOvrdDef"));394395// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT (TestType.class.getField("ACCEPT)ON CLASS396checkSingleMemberByteArrAcceptDef(TestType.class.getField("SingleMemberByteArrAcceptDef"));397checkSingleMemberShortArrAcceptDef(TestType.class.getField("SingleMemberShortArrAcceptDef"));398checkSingleMemberIntArrAcceptDef(TestType.class.getField("SingleMemberIntArrAcceptDef"));399checkSingleMemberLongArrAcceptDef(TestType.class.getField("SingleMemberLongArrAcceptDef"));400checkSingleMemberCharArrAcceptDef(TestType.class.getField("SingleMemberCharArrAcceptDef"));401checkSingleMemberFloatArrAcceptDef(TestType.class.getField("SingleMemberFloatArrAcceptDef"));402checkSingleMemberDoubleArrAcceptDef(TestType.class.getField("SingleMemberDoubleArrAcceptDef"));403checkSingleMemberBooleanArrAcceptDef(TestType.class.getField("SingleMemberBooleanArrAcceptDef"));404checkSingleMemberStringArrAcceptDef(TestType.class.getField("SingleMemberStringArrAcceptDef"));405checkSingleMemberClassArrAcceptDef(TestType.class.getField("SingleMemberClassArrAcceptDef"));406checkSingleMemberEnumArrAcceptDef(TestType.class.getField("SingleMemberEnumArrAcceptDef"));407408// *** TESTS ON ANNOTATED CONSTRUCTORS ***409410// MULTIMEMBER SCALAR TYPES ON CONSTRUCTOR411checkScalarTypes(UnitTest.class.getConstructor(new Class[]{Iterator.class}));412checkScalarTypesOverrideDefault(UnitTest.class.getConstructor(new Class[]{Map.class}));413checkScalarTypesAcceptDefault(UnitTest.class.getConstructor(new Class[]{Set.class}));414415// MULTIMEMBER ARRAY TYPES ON CONSTRUCTOR416checkArrayTypes0(UnitTest.class.getConstructor(new Class[]{List.class}));417checkArrayTypes1(UnitTest.class.getConstructor(new Class[]{Collection.class}));418checkArrayTypes2(UnitTest.class.getConstructor(new Class[]{SortedSet.class}));419checkArrayTypesAcceptDefault(UnitTest.class.getConstructor(new Class[]{SortedMap.class}));420checkArrayTypesOverrideDefault(UnitTest.class.getConstructor(new Class[]{RandomAccess.class}));421422// MARKER TYPE ON CONSTRUCTOR423checkMarker(UnitTest.class.getConstructor(new Class[] { }));424425// SINGLE-MEMBER SCALAR TYPES ON CONSTRUCTOR426checkSingleMemberByte(UnitTest.class.getConstructor(new Class[] { byte.class }));427checkSingleMemberShort(UnitTest.class.getConstructor(new Class[] { short.class }));428checkSingleMemberInt(UnitTest.class.getConstructor(new Class[] { int.class }));429checkSingleMemberLong(UnitTest.class.getConstructor(new Class[] { long.class }));430checkSingleMemberChar(UnitTest.class.getConstructor(new Class[] { char.class }));431checkSingleMemberFloat(UnitTest.class.getConstructor(new Class[] { float.class }));432checkSingleMemberDouble(UnitTest.class.getConstructor(new Class[] { double.class }));433checkSingleMemberBoolean(UnitTest.class.getConstructor(new Class[] { boolean.class }));434checkSingleMemberString(UnitTest.class.getConstructor(new Class[] { String.class }));435checkSingleMemberClass(UnitTest.class.getConstructor(new Class[] { Class.class }));436checkSingleMemberEnum(UnitTest.class.getConstructor(new Class[] { Enum.class }));437438// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-OVERRIDE ON CONSTRUCTOR439checkSingleMemberByteOvrdDef(UnitTest.class.getConstructor(new Class[] { byte.class, Set.class }));440checkSingleMemberShortOvrdDef(UnitTest.class.getConstructor(new Class[] { short.class, Set.class }));441checkSingleMemberIntOvrdDef(UnitTest.class.getConstructor(new Class[] { int.class, Set.class }));442checkSingleMemberLongOvrdDef(UnitTest.class.getConstructor(new Class[] { long.class, Set.class }));443checkSingleMemberCharOvrdDef(UnitTest.class.getConstructor(new Class[] { char.class, Set.class }));444checkSingleMemberFloatOvrdDef(UnitTest.class.getConstructor(new Class[] { float.class, Set.class }));445checkSingleMemberDoubleOvrdDef(UnitTest.class.getConstructor(new Class[] { double.class, Set.class }));446checkSingleMemberBooleanOvrdDef(UnitTest.class.getConstructor(new Class[] { boolean.class, Set.class }));447checkSingleMemberStringOvrdDef(UnitTest.class.getConstructor(new Class[] { String.class, Set.class }));448checkSingleMemberClassOvrdDef(UnitTest.class.getConstructor(new Class[] { Class.class, Set.class }));449checkSingleMemberEnumOvrdDef(UnitTest.class.getConstructor(new Class[] { Enum.class, Set.class }));450451// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-ACCEPT ON CONSTRUCTOR452checkSingleMemberByteAcceptDef(UnitTest.class.getConstructor(new Class[] { byte.class, Map.class }));453checkSingleMemberShortAcceptDef(UnitTest.class.getConstructor(new Class[] { short.class, Map.class }));454checkSingleMemberIntAcceptDef(UnitTest.class.getConstructor(new Class[] { int.class, Map.class }));455checkSingleMemberLongAcceptDef(UnitTest.class.getConstructor(new Class[] { long.class, Map.class }));456checkSingleMemberCharAcceptDef(UnitTest.class.getConstructor(new Class[] { char.class, Map.class }));457checkSingleMemberFloatAcceptDef(UnitTest.class.getConstructor(new Class[] { float.class, Map.class }));458checkSingleMemberDoubleAcceptDef(UnitTest.class.getConstructor(new Class[] { double.class, Map.class }));459checkSingleMemberBooleanAcceptDef(UnitTest.class.getConstructor(new Class[] { boolean.class, Map.class }));460checkSingleMemberStringAcceptDef(UnitTest.class.getConstructor(new Class[] { String.class, Map.class }));461checkSingleMemberClassAcceptDef(UnitTest.class.getConstructor(new Class[] { Class.class, Map.class }));462checkSingleMemberEnumAcceptDef(UnitTest.class.getConstructor(new Class[] { Enum.class, Map.class }));463464// SINGLE-MEMBER ARRAY TYPES (EMPTY ARRAY) ON CONSTRUCTOR465checkSingleMemberByteArrEmpty(UnitTest.class.getConstructor(new Class[] { byte[].class }));466checkSingleMemberShortArrEmpty(UnitTest.class.getConstructor(new Class[] { short[].class }));467checkSingleMemberIntArrEmpty(UnitTest.class.getConstructor(new Class[] { int[].class }));468checkSingleMemberLongArrEmpty(UnitTest.class.getConstructor(new Class[] { long[].class }));469checkSingleMemberCharArrEmpty(UnitTest.class.getConstructor(new Class[] { char[].class }));470checkSingleMemberFloatArrEmpty(UnitTest.class.getConstructor(new Class[] { float[].class }));471checkSingleMemberDoubleArrEmpty(UnitTest.class.getConstructor(new Class[] { double[].class }));472checkSingleMemberBooleanArrEmpty(UnitTest.class.getConstructor(new Class[] { boolean[].class }));473checkSingleMemberStringArrEmpty(UnitTest.class.getConstructor(new Class[] { String[].class }));474checkSingleMemberClassArrEmpty(UnitTest.class.getConstructor(new Class[] { Class[].class }));475checkSingleMemberEnumArrEmpty(UnitTest.class.getConstructor(new Class[] { Enum[].class }));476477// SINGLE-MEMBER ARRAY TYPES (ONE-ELEMENT ARRAY) ON CONSTRUCTOR478checkSingleMemberByteArrOne(UnitTest.class.getConstructor(new Class[] { byte[].class, Set.class }));479checkSingleMemberShortArrOne(UnitTest.class.getConstructor(new Class[] { short[].class, Set.class }));480checkSingleMemberIntArrOne(UnitTest.class.getConstructor(new Class[] { int[].class, Set.class }));481checkSingleMemberLongArrOne(UnitTest.class.getConstructor(new Class[] { long[].class, Set.class }));482checkSingleMemberCharArrOne(UnitTest.class.getConstructor(new Class[] { char[].class, Set.class }));483checkSingleMemberFloatArrOne(UnitTest.class.getConstructor(new Class[] { float[].class, Set.class }));484checkSingleMemberDoubleArrOne(UnitTest.class.getConstructor(new Class[] { double[].class, Set.class }));485checkSingleMemberBooleanArrOne(UnitTest.class.getConstructor(new Class[] { boolean[].class, Set.class }));486checkSingleMemberStringArrOne(UnitTest.class.getConstructor(new Class[] { String[].class, Set.class }));487checkSingleMemberClassArrOne(UnitTest.class.getConstructor(new Class[] { Class[].class, Set.class }));488checkSingleMemberEnumArrOne(UnitTest.class.getConstructor(new Class[] { Enum[].class, Set.class }));489490// SINGLE-MEMBER ARRAY TYPES (TWO-ELEMENT ARRAY) ON CONSTRUCTOR491checkSingleMemberByteArrTwo(UnitTest.class.getConstructor(new Class[] { byte[].class, Map.class }));492checkSingleMemberShortArrTwo(UnitTest.class.getConstructor(new Class[] { short[].class, Map.class }));493checkSingleMemberIntArrTwo(UnitTest.class.getConstructor(new Class[] { int[].class, Map.class }));494checkSingleMemberLongArrTwo(UnitTest.class.getConstructor(new Class[] { long[].class, Map.class }));495checkSingleMemberCharArrTwo(UnitTest.class.getConstructor(new Class[] { char[].class, Map.class }));496checkSingleMemberFloatArrTwo(UnitTest.class.getConstructor(new Class[] { float[].class, Map.class }));497checkSingleMemberDoubleArrTwo(UnitTest.class.getConstructor(new Class[] { double[].class, Map.class }));498checkSingleMemberBooleanArrTwo(UnitTest.class.getConstructor(new Class[] { boolean[].class, Map.class }));499checkSingleMemberStringArrTwo(UnitTest.class.getConstructor(new Class[] { String[].class, Map.class }));500checkSingleMemberClassArrTwo(UnitTest.class.getConstructor(new Class[] { Class[].class, Map.class }));501checkSingleMemberEnumArrTwo(UnitTest.class.getConstructor(new Class[] { Enum[].class, Map.class }));502503// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT (OVERRIDE)ON CONSTRUCTOR504checkSingleMemberByteArrOvrdDef(UnitTest.class.getConstructor(new Class[] { byte[].class, List.class }));505checkSingleMemberShortArrOvrdDef(UnitTest.class.getConstructor(new Class[] { short[].class, List.class }));506checkSingleMemberIntArrOvrdDef(UnitTest.class.getConstructor(new Class[] { int[].class, List.class }));507checkSingleMemberLongArrOvrdDef(UnitTest.class.getConstructor(new Class[] { long[].class, List.class }));508checkSingleMemberCharArrOvrdDef(UnitTest.class.getConstructor(new Class[] { char[].class, List.class }));509checkSingleMemberFloatArrOvrdDef(UnitTest.class.getConstructor(new Class[] { float[].class, List.class }));510checkSingleMemberDoubleArrOvrdDef(UnitTest.class.getConstructor(new Class[] { double[].class, List.class }));511checkSingleMemberBooleanArrOvrdDef(UnitTest.class.getConstructor(new Class[] { boolean[].class, List.class }));512checkSingleMemberStringArrOvrdDef(UnitTest.class.getConstructor(new Class[] { String[].class, List.class }));513checkSingleMemberClassArrOvrdDef(UnitTest.class.getConstructor(new Class[] { Class[].class, List.class }));514checkSingleMemberEnumArrOvrdDef(UnitTest.class.getConstructor(new Class[] { Enum[].class, List.class }));515516// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT (ACCEPT)ON CONSTRUCTOR517checkSingleMemberByteArrAcceptDef(UnitTest.class.getConstructor(new Class[] { byte[].class, Collection.class }));518checkSingleMemberShortArrAcceptDef(UnitTest.class.getConstructor(new Class[] { short[].class, Collection.class }));519checkSingleMemberIntArrAcceptDef(UnitTest.class.getConstructor(new Class[] { int[].class, Collection.class }));520checkSingleMemberLongArrAcceptDef(UnitTest.class.getConstructor(new Class[] { long[].class, Collection.class }));521checkSingleMemberCharArrAcceptDef(UnitTest.class.getConstructor(new Class[] { char[].class, Collection.class }));522checkSingleMemberFloatArrAcceptDef(UnitTest.class.getConstructor(new Class[] { float[].class, Collection.class }));523checkSingleMemberDoubleArrAcceptDef(UnitTest.class.getConstructor(new Class[] { double[].class, Collection.class }));524checkSingleMemberBooleanArrAcceptDef(UnitTest.class.getConstructor(new Class[] { boolean[].class, Collection.class }));525checkSingleMemberStringArrAcceptDef(UnitTest.class.getConstructor(new Class[] { String[].class, Collection.class }));526checkSingleMemberClassArrAcceptDef(UnitTest.class.getConstructor(new Class[] { Class[].class, Collection.class }));527checkSingleMemberEnumArrAcceptDef(UnitTest.class.getConstructor(new Class[] { Enum[].class, Collection.class }));528529// *** TESTS ON ANNOTATED PARAMETERS ***530531// MULTIMEMBER SCALAR TYPES ON PARAM532checkScalarTypesParam(UnitTest.class.getMethod("scalarTypesParam", Y));533checkScalarTypesOverrideDefaultParam(UnitTest.class.getMethod("scalarTypesOverrideDefaultParam", Y));534checkScalarTypesAcceptDefaultParam(UnitTest.class.getMethod("scalarTypesAcceptDefaultParam", Y));535536// MULTIMEMBER ARRAY TYPES ON PARAM537checkArrayTypes0Param(UnitTest.class.getMethod("emptyArrayTypesParam", Y));538checkArrayTypes1Param(UnitTest.class.getMethod("singleElementArrayTypesParam", Y));539checkArrayTypes2Param(UnitTest.class.getMethod("twoElementArrayTypesParam", Y));540checkArrayTypesAcceptDefaultParam(UnitTest.class.getMethod("arrayTypesAcceptDefaultParam", Y));541checkArrayTypesOverrideDefaultParam(UnitTest.class.getMethod("arrayTypesOverrideDefaultParam", Y));542543// MARKER TYPE ON PARAMETER544checkMarkerParam(UnitTest.class.getMethod("markerParam", Y));545546// SINGLE-MEMBER SCALAR TYPES ON PARAMETER547checkSingleMemberByteParam(UnitTest.class.getMethod("SingleMemberByteParam", Y));548checkSingleMemberShortParam(UnitTest.class.getMethod("SingleMemberShortParam", Y));549checkSingleMemberIntParam(UnitTest.class.getMethod("SingleMemberIntParam", Y));550checkSingleMemberLongParam(UnitTest.class.getMethod("SingleMemberLongParam", Y));551checkSingleMemberCharParam(UnitTest.class.getMethod("SingleMemberCharParam", Y));552checkSingleMemberFloatParam(UnitTest.class.getMethod("SingleMemberFloatParam", Y));553checkSingleMemberDoubleParam(UnitTest.class.getMethod("SingleMemberDoubleParam", Y));554checkSingleMemberBooleanParam(UnitTest.class.getMethod("SingleMemberBooleanParam", Y));555checkSingleMemberStringParam(UnitTest.class.getMethod("SingleMemberStringParam", Y));556checkSingleMemberClassParam(UnitTest.class.getMethod("SingleMemberClassParam", Y));557checkSingleMemberEnumParam(UnitTest.class.getMethod("SingleMemberEnumParam", Y));558559// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-OVERRIDE ON PARAMETER560checkSingleMemberByteOvrdDefParam(UnitTest.class.getMethod("SingleMemberByteOvrdDefParam", Y));561checkSingleMemberShortOvrdDefParam(UnitTest.class.getMethod("SingleMemberShortOvrdDefParam", Y));562checkSingleMemberIntOvrdDefParam(UnitTest.class.getMethod("SingleMemberIntOvrdDefParam", Y));563checkSingleMemberLongOvrdDefParam(UnitTest.class.getMethod("SingleMemberLongOvrdDefParam", Y));564checkSingleMemberCharOvrdDefParam(UnitTest.class.getMethod("SingleMemberCharOvrdDefParam", Y));565checkSingleMemberFloatOvrdDefParam(UnitTest.class.getMethod("SingleMemberFloatOvrdDefParam", Y));566checkSingleMemberDoubleOvrdDefParam(UnitTest.class.getMethod("SingleMemberDoubleOvrdDefParam", Y));567checkSingleMemberBooleanOvrdDefParam(UnitTest.class.getMethod("SingleMemberBooleanOvrdDefParam", Y));568checkSingleMemberStringOvrdDefParam(UnitTest.class.getMethod("SingleMemberStringOvrdDefParam", Y));569checkSingleMemberClassOvrdDefParam(UnitTest.class.getMethod("SingleMemberClassOvrdDefParam", Y));570checkSingleMemberEnumOvrdDefParam(UnitTest.class.getMethod("SingleMemberEnumOvrdDefParam", Y));571572// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-ACCEPT ON PARAMETER573checkSingleMemberByteAcceptDefParam(UnitTest.class.getMethod("SingleMemberByteAcceptDefParam", Y));574checkSingleMemberShortAcceptDefParam(UnitTest.class.getMethod("SingleMemberShortAcceptDefParam", Y));575checkSingleMemberIntAcceptDefParam(UnitTest.class.getMethod("SingleMemberIntAcceptDefParam", Y));576checkSingleMemberLongAcceptDefParam(UnitTest.class.getMethod("SingleMemberLongAcceptDefParam", Y));577checkSingleMemberCharAcceptDefParam(UnitTest.class.getMethod("SingleMemberCharAcceptDefParam", Y));578checkSingleMemberFloatAcceptDefParam(UnitTest.class.getMethod("SingleMemberFloatAcceptDefParam", Y));579checkSingleMemberDoubleAcceptDefParam(UnitTest.class.getMethod("SingleMemberDoubleAcceptDefParam", Y));580checkSingleMemberBooleanAcceptDefParam(UnitTest.class.getMethod("SingleMemberBooleanAcceptDefParam", Y));581checkSingleMemberStringAcceptDefParam(UnitTest.class.getMethod("SingleMemberStringAcceptDefParam", Y));582checkSingleMemberClassAcceptDefParam(UnitTest.class.getMethod("SingleMemberClassAcceptDefParam", Y));583checkSingleMemberEnumAcceptDefParam(UnitTest.class.getMethod("SingleMemberEnumAcceptDefParam", Y));584585// SINGLE-MEMBER ARRAY TYPES Param(UnitTest.class.getMethod("EMPTY ARRAY) ON PARAMETER586checkSingleMemberByteArrEmptyParam(UnitTest.class.getMethod("SingleMemberByteArrEmptyParam", Y));587checkSingleMemberShortArrEmptyParam(UnitTest.class.getMethod("SingleMemberShortArrEmptyParam", Y));588checkSingleMemberIntArrEmptyParam(UnitTest.class.getMethod("SingleMemberIntArrEmptyParam", Y));589checkSingleMemberLongArrEmptyParam(UnitTest.class.getMethod("SingleMemberLongArrEmptyParam", Y));590checkSingleMemberCharArrEmptyParam(UnitTest.class.getMethod("SingleMemberCharArrEmptyParam", Y));591checkSingleMemberFloatArrEmptyParam(UnitTest.class.getMethod("SingleMemberFloatArrEmptyParam", Y));592checkSingleMemberDoubleArrEmptyParam(UnitTest.class.getMethod("SingleMemberDoubleArrEmptyParam", Y));593checkSingleMemberBooleanArrEmptyParam(UnitTest.class.getMethod("SingleMemberBooleanArrEmptyParam", Y));594checkSingleMemberStringArrEmptyParam(UnitTest.class.getMethod("SingleMemberStringArrEmptyParam", Y));595checkSingleMemberClassArrEmptyParam(UnitTest.class.getMethod("SingleMemberClassArrEmptyParam", Y));596checkSingleMemberEnumArrEmptyParam(UnitTest.class.getMethod("SingleMemberEnumArrEmptyParam", Y));597598// SINGLE-MEMBER ARRAY TYPES Param(UnitTest.class.getMethod("ONE-ELEMENT ARRAY) ON PARAMETER599checkSingleMemberByteArrOneParam(UnitTest.class.getMethod("SingleMemberByteArrOneParam", Y));600checkSingleMemberShortArrOneParam(UnitTest.class.getMethod("SingleMemberShortArrOneParam", Y));601checkSingleMemberIntArrOneParam(UnitTest.class.getMethod("SingleMemberIntArrOneParam", Y));602checkSingleMemberLongArrOneParam(UnitTest.class.getMethod("SingleMemberLongArrOneParam", Y));603checkSingleMemberCharArrOneParam(UnitTest.class.getMethod("SingleMemberCharArrOneParam", Y));604checkSingleMemberFloatArrOneParam(UnitTest.class.getMethod("SingleMemberFloatArrOneParam", Y));605checkSingleMemberDoubleArrOneParam(UnitTest.class.getMethod("SingleMemberDoubleArrOneParam", Y));606checkSingleMemberBooleanArrOneParam(UnitTest.class.getMethod("SingleMemberBooleanArrOneParam", Y));607checkSingleMemberStringArrOneParam(UnitTest.class.getMethod("SingleMemberStringArrOneParam", Y));608checkSingleMemberClassArrOneParam(UnitTest.class.getMethod("SingleMemberClassArrOneParam", Y));609checkSingleMemberEnumArrOneParam(UnitTest.class.getMethod("SingleMemberEnumArrOneParam", Y));610611// SINGLE-MEMBER ARRAY TYPES Param(UnitTest.class.getMethod("TWO-ELEMENT ARRAY) ON PARAMETER612checkSingleMemberByteArrTwoParam(UnitTest.class.getMethod("SingleMemberByteArrTwoParam", Y));613checkSingleMemberShortArrTwoParam(UnitTest.class.getMethod("SingleMemberShortArrTwoParam", Y));614checkSingleMemberIntArrTwoParam(UnitTest.class.getMethod("SingleMemberIntArrTwoParam", Y));615checkSingleMemberLongArrTwoParam(UnitTest.class.getMethod("SingleMemberLongArrTwoParam", Y));616checkSingleMemberCharArrTwoParam(UnitTest.class.getMethod("SingleMemberCharArrTwoParam", Y));617checkSingleMemberFloatArrTwoParam(UnitTest.class.getMethod("SingleMemberFloatArrTwoParam", Y));618checkSingleMemberDoubleArrTwoParam(UnitTest.class.getMethod("SingleMemberDoubleArrTwoParam", Y));619checkSingleMemberBooleanArrTwoParam(UnitTest.class.getMethod("SingleMemberBooleanArrTwoParam", Y));620checkSingleMemberStringArrTwoParam(UnitTest.class.getMethod("SingleMemberStringArrTwoParam", Y));621checkSingleMemberClassArrTwoParam(UnitTest.class.getMethod("SingleMemberClassArrTwoParam", Y));622checkSingleMemberEnumArrTwoParam(UnitTest.class.getMethod("SingleMemberEnumArrTwoParam", Y));623624// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT Param(UnitTest.class.getMethod("OVERRIDE)ON PARAMETER625checkSingleMemberByteArrOvrdDefParam(UnitTest.class.getMethod("SingleMemberByteArrOvrdDefParam", Y));626checkSingleMemberShortArrOvrdDefParam(UnitTest.class.getMethod("SingleMemberShortArrOvrdDefParam", Y));627checkSingleMemberIntArrOvrdDefParam(UnitTest.class.getMethod("SingleMemberIntArrOvrdDefParam", Y));628checkSingleMemberLongArrOvrdDefParam(UnitTest.class.getMethod("SingleMemberLongArrOvrdDefParam", Y));629checkSingleMemberCharArrOvrdDefParam(UnitTest.class.getMethod("SingleMemberCharArrOvrdDefParam", Y));630checkSingleMemberFloatArrOvrdDefParam(UnitTest.class.getMethod("SingleMemberFloatArrOvrdDefParam", Y));631checkSingleMemberDoubleArrOvrdDefParam(UnitTest.class.getMethod("SingleMemberDoubleArrOvrdDefParam", Y));632checkSingleMemberBooleanArrOvrdDefParam(UnitTest.class.getMethod("SingleMemberBooleanArrOvrdDefParam", Y));633checkSingleMemberStringArrOvrdDefParam(UnitTest.class.getMethod("SingleMemberStringArrOvrdDefParam", Y));634checkSingleMemberClassArrOvrdDefParam(UnitTest.class.getMethod("SingleMemberClassArrOvrdDefParam", Y));635checkSingleMemberEnumArrOvrdDefParam(UnitTest.class.getMethod("SingleMemberEnumArrOvrdDefParam", Y));636637// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT Param(UnitTest.class.getMethod("ACCEPT)ON PARAMETER638checkSingleMemberByteArrAcceptDefParam(UnitTest.class.getMethod("SingleMemberByteArrAcceptDefParam", Y));639checkSingleMemberShortArrAcceptDefParam(UnitTest.class.getMethod("SingleMemberShortArrAcceptDefParam", Y));640checkSingleMemberIntArrAcceptDefParam(UnitTest.class.getMethod("SingleMemberIntArrAcceptDefParam", Y));641checkSingleMemberLongArrAcceptDefParam(UnitTest.class.getMethod("SingleMemberLongArrAcceptDefParam", Y));642checkSingleMemberCharArrAcceptDefParam(UnitTest.class.getMethod("SingleMemberCharArrAcceptDefParam", Y));643checkSingleMemberFloatArrAcceptDefParam(UnitTest.class.getMethod("SingleMemberFloatArrAcceptDefParam", Y));644checkSingleMemberDoubleArrAcceptDefParam(UnitTest.class.getMethod("SingleMemberDoubleArrAcceptDefParam", Y));645checkSingleMemberBooleanArrAcceptDefParam(UnitTest.class.getMethod("SingleMemberBooleanArrAcceptDefParam", Y));646checkSingleMemberStringArrAcceptDefParam(UnitTest.class.getMethod("SingleMemberStringArrAcceptDefParam", Y));647checkSingleMemberClassArrAcceptDefParam(UnitTest.class.getMethod("SingleMemberClassArrAcceptDefParam", Y));648checkSingleMemberEnumArrAcceptDefParam(UnitTest.class.getMethod("SingleMemberEnumArrAcceptDefParam", Y));649650// *** TESTS ON ANNOTATED CLASSES ***651652// MULTIMEMBER SCALAR TYPES ON CLASS653checkScalarTypes(scalarTypesClass.class);654checkScalarTypesOverrideDefault(scalarTypesOverrideDefaultClass.class);655checkScalarTypesAcceptDefault(scalarTypesAcceptDefaultClass.class);656657// MULTIMEMBER ARRAY TYPES ON CLASS658checkArrayTypes0(emptyArrayTypesClass.class);659checkArrayTypes1(singleElementArrayTypesClass.class);660checkArrayTypes2(twoElementArrayTypesClass.class);661checkArrayTypesOverrideDefault(arrayTypesOverrideDefaultClass.class);662checkArrayTypesAcceptDefault(arrayTypesAcceptDefaultClass.class);663664// MARKER TYPE ON CLASS665checkMarker(markerClass.class);666667// SINGLE-MEMBER SCALAR TYPES ON CLASS668checkSingleMemberByte(SingleMemberByteClass.class);669checkSingleMemberShort(SingleMemberShortClass.class);670checkSingleMemberInt(SingleMemberIntClass.class);671checkSingleMemberLong(SingleMemberLongClass.class);672checkSingleMemberChar(SingleMemberCharClass.class);673checkSingleMemberFloat(SingleMemberFloatClass.class);674checkSingleMemberDouble(SingleMemberDoubleClass.class);675checkSingleMemberBoolean(SingleMemberBooleanClass.class);676checkSingleMemberString(SingleMemberStringClass.class);677checkSingleMemberClass(SingleMemberClassClass.class);678checkSingleMemberEnum(SingleMemberEnumClass.class);679680// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-OVERRIDE ON CLASS681checkSingleMemberByteOvrdDef(SingleMemberByteOvrdDefClass.class);682checkSingleMemberShortOvrdDef(SingleMemberShortOvrdDefClass.class);683checkSingleMemberIntOvrdDef(SingleMemberIntOvrdDefClass.class);684checkSingleMemberLongOvrdDef(SingleMemberLongOvrdDefClass.class);685checkSingleMemberCharOvrdDef(SingleMemberCharOvrdDefClass.class);686checkSingleMemberFloatOvrdDef(SingleMemberFloatOvrdDefClass.class);687checkSingleMemberDoubleOvrdDef(SingleMemberDoubleOvrdDefClass.class);688checkSingleMemberBooleanOvrdDef(SingleMemberBooleanOvrdDefClass.class);689checkSingleMemberStringOvrdDef(SingleMemberStringOvrdDefClass.class);690checkSingleMemberClassOvrdDef(SingleMemberClassOvrdDefClass.class);691checkSingleMemberEnumOvrdDef(SingleMemberEnumOvrdDefClass.class);692693// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-ACCEPT ON CLASS694checkSingleMemberByteAcceptDef(SingleMemberByteAcceptDefClass.class);695checkSingleMemberShortAcceptDef(SingleMemberShortAcceptDefClass.class);696checkSingleMemberIntAcceptDef(SingleMemberIntAcceptDefClass.class);697checkSingleMemberLongAcceptDef(SingleMemberLongAcceptDefClass.class);698checkSingleMemberCharAcceptDef(SingleMemberCharAcceptDefClass.class);699checkSingleMemberFloatAcceptDef(SingleMemberFloatAcceptDefClass.class);700checkSingleMemberDoubleAcceptDef(SingleMemberDoubleAcceptDefClass.class);701checkSingleMemberBooleanAcceptDef(SingleMemberBooleanAcceptDefClass.class);702checkSingleMemberStringAcceptDef(SingleMemberStringAcceptDefClass.class);703checkSingleMemberClassAcceptDef(SingleMemberClassAcceptDefClass.class);704checkSingleMemberEnumAcceptDef(SingleMemberEnumAcceptDefClass.class);705706// SINGLE-MEMBER ARRAY TYPES (EMPTY ARRAY) ON CLASS707checkSingleMemberByteArrEmpty(SingleMemberByteArrEmptyClass.class);708checkSingleMemberShortArrEmpty(SingleMemberShortArrEmptyClass.class);709checkSingleMemberIntArrEmpty(SingleMemberIntArrEmptyClass.class);710checkSingleMemberLongArrEmpty(SingleMemberLongArrEmptyClass.class);711checkSingleMemberCharArrEmpty(SingleMemberCharArrEmptyClass.class);712checkSingleMemberFloatArrEmpty(SingleMemberFloatArrEmptyClass.class);713checkSingleMemberDoubleArrEmpty(SingleMemberDoubleArrEmptyClass.class);714checkSingleMemberBooleanArrEmpty(SingleMemberBooleanArrEmptyClass.class);715checkSingleMemberStringArrEmpty(SingleMemberStringArrEmptyClass.class);716checkSingleMemberClassArrEmpty(SingleMemberClassArrEmptyClass.class);717checkSingleMemberEnumArrEmpty(SingleMemberEnumArrEmptyClass.class);718719// SINGLE-MEMBER ARRAY TYPES (ONE-ELEMENT ARRAY) ON CLASS720checkSingleMemberByteArrOne(SingleMemberByteArrOneClass.class);721checkSingleMemberShortArrOne(SingleMemberShortArrOneClass.class);722checkSingleMemberIntArrOne(SingleMemberIntArrOneClass.class);723checkSingleMemberLongArrOne(SingleMemberLongArrOneClass.class);724checkSingleMemberCharArrOne(SingleMemberCharArrOneClass.class);725checkSingleMemberFloatArrOne(SingleMemberFloatArrOneClass.class);726checkSingleMemberDoubleArrOne(SingleMemberDoubleArrOneClass.class);727checkSingleMemberBooleanArrOne(SingleMemberBooleanArrOneClass.class);728checkSingleMemberStringArrOne(SingleMemberStringArrOneClass.class);729checkSingleMemberClassArrOne(SingleMemberClassArrOneClass.class);730checkSingleMemberEnumArrOne(SingleMemberEnumArrOneClass.class);731732// SINGLE-MEMBER ARRAY TYPES (TWO-ELEMENT ARRAY) ON CLASS733checkSingleMemberByteArrTwo(SingleMemberByteArrTwoClass.class);734checkSingleMemberShortArrTwo(SingleMemberShortArrTwoClass.class);735checkSingleMemberIntArrTwo(SingleMemberIntArrTwoClass.class);736checkSingleMemberLongArrTwo(SingleMemberLongArrTwoClass.class);737checkSingleMemberCharArrTwo(SingleMemberCharArrTwoClass.class);738checkSingleMemberFloatArrTwo(SingleMemberFloatArrTwoClass.class);739checkSingleMemberDoubleArrTwo(SingleMemberDoubleArrTwoClass.class);740checkSingleMemberBooleanArrTwo(SingleMemberBooleanArrTwoClass.class);741checkSingleMemberStringArrTwo(SingleMemberStringArrTwoClass.class);742checkSingleMemberClassArrTwo(SingleMemberClassArrTwoClass.class);743checkSingleMemberEnumArrTwo(SingleMemberEnumArrTwoClass.class);744745// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT (OVERRIDE)ON CLASS746checkSingleMemberByteArrOvrdDef(SingleMemberByteArrOvrdDefClass.class);747checkSingleMemberShortArrOvrdDef(SingleMemberShortArrOvrdDefClass.class);748checkSingleMemberIntArrOvrdDef(SingleMemberIntArrOvrdDefClass.class);749checkSingleMemberLongArrOvrdDef(SingleMemberLongArrOvrdDefClass.class);750checkSingleMemberCharArrOvrdDef(SingleMemberCharArrOvrdDefClass.class);751checkSingleMemberFloatArrOvrdDef(SingleMemberFloatArrOvrdDefClass.class);752checkSingleMemberDoubleArrOvrdDef(SingleMemberDoubleArrOvrdDefClass.class);753checkSingleMemberBooleanArrOvrdDef(SingleMemberBooleanArrOvrdDefClass.class);754checkSingleMemberStringArrOvrdDef(SingleMemberStringArrOvrdDefClass.class);755checkSingleMemberClassArrOvrdDef(SingleMemberClassArrOvrdDefClass.class);756checkSingleMemberEnumArrOvrdDef(SingleMemberEnumArrOvrdDefClass.class);757758// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT (ACCEPT)ON CLASS759checkSingleMemberByteArrAcceptDef(SingleMemberByteArrAcceptDefClass.class);760checkSingleMemberShortArrAcceptDef(SingleMemberShortArrAcceptDefClass.class);761checkSingleMemberIntArrAcceptDef(SingleMemberIntArrAcceptDefClass.class);762checkSingleMemberLongArrAcceptDef(SingleMemberLongArrAcceptDefClass.class);763checkSingleMemberCharArrAcceptDef(SingleMemberCharArrAcceptDefClass.class);764checkSingleMemberFloatArrAcceptDef(SingleMemberFloatArrAcceptDefClass.class);765checkSingleMemberDoubleArrAcceptDef(SingleMemberDoubleArrAcceptDefClass.class);766checkSingleMemberBooleanArrAcceptDef(SingleMemberBooleanArrAcceptDefClass.class);767checkSingleMemberStringArrAcceptDef(SingleMemberStringArrAcceptDefClass.class);768checkSingleMemberClassArrAcceptDef(SingleMemberClassArrAcceptDefClass.class);769checkSingleMemberEnumArrAcceptDef(SingleMemberEnumArrAcceptDefClass.class);770771// *** TESTS FOR EQUALS AND HASHCODE - POSITIVE772773// MULTIMEMBER SCALAR TYPES774checkEquals(scalarTypesClass.class, UnitTest.class.getField("scalarTypesField"),775ScalarTypes.class);776checkEquals(scalarTypesOverrideDefaultClass.class, UnitTest.class.getField("scalarTypesOverrideDefaultField"),777ScalarTypesWithDefault.class);778checkEquals(scalarTypesAcceptDefaultClass.class, UnitTest.class.getField("scalarTypesAcceptDefaultField"),779ScalarTypesWithDefault.class);780781// MULTIMEMBER ARRAY TYPES782checkEquals(emptyArrayTypesClass.class, UnitTest.class.getField("emptyArrayTypesField"),783ArrayTypes.class);784checkEquals(singleElementArrayTypesClass.class, UnitTest.class.getField("singleElementArrayTypesField"),785ArrayTypes.class);786checkEquals(twoElementArrayTypesClass.class, UnitTest.class.getField("twoElementArrayTypesField"),787ArrayTypes.class);788checkEquals(arrayTypesOverrideDefaultClass.class, UnitTest.class.getField("arrayTypesOverrideDefaultField"),789ArrayTypesWithDefault.class);790checkEquals(arrayTypesAcceptDefaultClass.class, UnitTest.class.getField("arrayTypesAcceptDefaultField"),791ArrayTypesWithDefault.class);792793// MARKER TYPE794checkEquals(markerClass.class, UnitTest.class.getField("markerField"),795Marker.class);796797// SINGLE-MEMBER SCALAR TYPES798checkEquals(SingleMemberByteClass.class, UnitTest.class.getField("SingleMemberByteField"),799SingleMemberByte.class);800checkEquals(SingleMemberShortClass.class, UnitTest.class.getField("SingleMemberShortField"),801SingleMemberShort.class);802checkEquals(SingleMemberIntClass.class, UnitTest.class.getField("SingleMemberIntField"),803SingleMemberInt.class);804checkEquals(SingleMemberLongClass.class, UnitTest.class.getField("SingleMemberLongField"),805SingleMemberLong.class);806checkEquals(SingleMemberCharClass.class, UnitTest.class.getField("SingleMemberCharField"),807SingleMemberChar.class);808checkEquals(SingleMemberFloatClass.class, UnitTest.class.getField("SingleMemberFloatField"),809SingleMemberFloat.class);810checkEquals(SingleMemberDoubleClass.class, UnitTest.class.getField("SingleMemberDoubleField"),811SingleMemberDouble.class);812checkEquals(SingleMemberBooleanClass.class, UnitTest.class.getField("SingleMemberBooleanField"),813SingleMemberBoolean.class);814checkEquals(SingleMemberStringClass.class, UnitTest.class.getField("SingleMemberStringField"),815SingleMemberString.class);816checkEquals(SingleMemberClassClass.class, UnitTest.class.getField("SingleMemberClassField"),817SingleMemberClass.class);818checkEquals(SingleMemberEnumClass.class, UnitTest.class.getField("SingleMemberEnumField"),819SingleMemberEnum.class);820821// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-OVERRIDE822checkEquals(SingleMemberByteOvrdDefClass.class, UnitTest.class.getField("SingleMemberByteOvrdDefField"),823SingleMemberByteWithDef.class);824checkEquals(SingleMemberShortOvrdDefClass.class, UnitTest.class.getField("SingleMemberShortOvrdDefField"),825SingleMemberShortWithDef.class);826checkEquals(SingleMemberIntOvrdDefClass.class, UnitTest.class.getField("SingleMemberIntOvrdDefField"),827SingleMemberIntWithDef.class);828checkEquals(SingleMemberLongOvrdDefClass.class, UnitTest.class.getField("SingleMemberLongOvrdDefField"),829SingleMemberLongWithDef.class);830checkEquals(SingleMemberCharOvrdDefClass.class, UnitTest.class.getField("SingleMemberCharOvrdDefField"),831SingleMemberCharWithDef.class);832checkEquals(SingleMemberFloatOvrdDefClass.class, UnitTest.class.getField("SingleMemberFloatOvrdDefField"),833SingleMemberFloatWithDef.class);834checkEquals(SingleMemberDoubleOvrdDefClass.class, UnitTest.class.getField("SingleMemberDoubleOvrdDefField"),835SingleMemberDoubleWithDef.class);836checkEquals(SingleMemberBooleanOvrdDefClass.class, UnitTest.class.getField("SingleMemberBooleanOvrdDefField"),837SingleMemberBooleanWithDef.class);838checkEquals(SingleMemberStringOvrdDefClass.class, UnitTest.class.getField("SingleMemberStringOvrdDefField"),839SingleMemberStringWithDef.class);840checkEquals(SingleMemberClassOvrdDefClass.class, UnitTest.class.getField("SingleMemberClassOvrdDefField"),841SingleMemberClassWithDef.class);842checkEquals(SingleMemberEnumOvrdDefClass.class, UnitTest.class.getField("SingleMemberEnumOvrdDefField"),843SingleMemberEnumWithDef.class);844845// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-ACCEPT846checkEquals(SingleMemberByteAcceptDefClass.class, UnitTest.class.getField("SingleMemberByteAcceptDefField"),847SingleMemberByteWithDef.class);848checkEquals(SingleMemberShortAcceptDefClass.class, UnitTest.class.getField("SingleMemberShortAcceptDefField"),849SingleMemberShortWithDef.class);850checkEquals(SingleMemberIntAcceptDefClass.class, UnitTest.class.getField("SingleMemberIntAcceptDefField"),851SingleMemberIntWithDef.class);852checkEquals(SingleMemberLongAcceptDefClass.class, UnitTest.class.getField("SingleMemberLongAcceptDefField"),853SingleMemberLongWithDef.class);854checkEquals(SingleMemberCharAcceptDefClass.class, UnitTest.class.getField("SingleMemberCharAcceptDefField"),855SingleMemberCharWithDef.class);856checkEquals(SingleMemberFloatAcceptDefClass.class, UnitTest.class.getField("SingleMemberFloatAcceptDefField"),857SingleMemberFloatWithDef.class);858checkEquals(SingleMemberDoubleAcceptDefClass.class, UnitTest.class.getField("SingleMemberDoubleAcceptDefField"),859SingleMemberDoubleWithDef.class);860checkEquals(SingleMemberBooleanAcceptDefClass.class, UnitTest.class.getField("SingleMemberBooleanAcceptDefField"),861SingleMemberBooleanWithDef.class);862checkEquals(SingleMemberStringAcceptDefClass.class, UnitTest.class.getField("SingleMemberStringAcceptDefField"),863SingleMemberStringWithDef.class);864checkEquals(SingleMemberClassAcceptDefClass.class, UnitTest.class.getField("SingleMemberClassAcceptDefField"),865SingleMemberClassWithDef.class);866checkEquals(SingleMemberEnumAcceptDefClass.class, UnitTest.class.getField("SingleMemberEnumAcceptDefField"),867SingleMemberEnumWithDef.class);868869// SINGLE-MEMBER ARRAY TYPES (EMPTY ARRAY)870checkEquals(SingleMemberByteArrEmptyClass.class, UnitTest.class.getField("SingleMemberByteArrEmptyField"),871SingleMemberByteArray.class);872checkEquals(SingleMemberShortArrEmptyClass.class, UnitTest.class.getField("SingleMemberShortArrEmptyField"),873SingleMemberShortArray.class);874checkEquals(SingleMemberIntArrEmptyClass.class, UnitTest.class.getField("SingleMemberIntArrEmptyField"),875SingleMemberIntArray.class);876checkEquals(SingleMemberLongArrEmptyClass.class, UnitTest.class.getField("SingleMemberLongArrEmptyField"),877SingleMemberLongArray.class);878checkEquals(SingleMemberCharArrEmptyClass.class, UnitTest.class.getField("SingleMemberCharArrEmptyField"),879SingleMemberCharArray.class);880checkEquals(SingleMemberFloatArrEmptyClass.class, UnitTest.class.getField("SingleMemberFloatArrEmptyField"),881SingleMemberFloatArray.class);882checkEquals(SingleMemberDoubleArrEmptyClass.class, UnitTest.class.getField("SingleMemberDoubleArrEmptyField"),883SingleMemberDoubleArray.class);884checkEquals(SingleMemberBooleanArrEmptyClass.class, UnitTest.class.getField("SingleMemberBooleanArrEmptyField"),885SingleMemberBooleanArray.class);886checkEquals(SingleMemberStringArrEmptyClass.class, UnitTest.class.getField("SingleMemberStringArrEmptyField"),887SingleMemberStringArray.class);888checkEquals(SingleMemberClassArrEmptyClass.class, UnitTest.class.getField("SingleMemberClassArrEmptyField"),889SingleMemberClassArray.class);890checkEquals(SingleMemberEnumArrEmptyClass.class, UnitTest.class.getField("SingleMemberEnumArrEmptyField"),891SingleMemberEnumArray.class);892893// SINGLE-MEMBER ARRAY TYPES (ONE-ELEMENT ARRAY)894checkEquals(SingleMemberByteArrOneClass.class, UnitTest.class.getField("SingleMemberByteArrOneField"),895SingleMemberByteArray.class);896checkEquals(SingleMemberShortArrOneClass.class, UnitTest.class.getField("SingleMemberShortArrOneField"),897SingleMemberShortArray.class);898checkEquals(SingleMemberIntArrOneClass.class, UnitTest.class.getField("SingleMemberIntArrOneField"),899SingleMemberIntArray.class);900checkEquals(SingleMemberLongArrOneClass.class, UnitTest.class.getField("SingleMemberLongArrOneField"),901SingleMemberLongArray.class);902checkEquals(SingleMemberCharArrOneClass.class, UnitTest.class.getField("SingleMemberCharArrOneField"),903SingleMemberCharArray.class);904checkEquals(SingleMemberFloatArrOneClass.class, UnitTest.class.getField("SingleMemberFloatArrOneField"),905SingleMemberFloatArray.class);906checkEquals(SingleMemberDoubleArrOneClass.class, UnitTest.class.getField("SingleMemberDoubleArrOneField"),907SingleMemberDoubleArray.class);908checkEquals(SingleMemberBooleanArrOneClass.class, UnitTest.class.getField("SingleMemberBooleanArrOneField"),909SingleMemberBooleanArray.class);910checkEquals(SingleMemberStringArrOneClass.class, UnitTest.class.getField("SingleMemberStringArrOneField"),911SingleMemberStringArray.class);912checkEquals(SingleMemberClassArrOneClass.class, UnitTest.class.getField("SingleMemberClassArrOneField"),913SingleMemberClassArray.class);914checkEquals(SingleMemberEnumArrOneClass.class, UnitTest.class.getField("SingleMemberEnumArrOneField"),915SingleMemberEnumArray.class);916917// SINGLE-MEMBER ARRAY TYPES (TWO-ELEMENT ARRAY)918checkEquals(SingleMemberByteArrTwoClass.class, UnitTest.class.getField("SingleMemberByteArrTwoField"),919SingleMemberByteArray.class);920checkEquals(SingleMemberShortArrTwoClass.class, UnitTest.class.getField("SingleMemberShortArrTwoField"),921SingleMemberShortArray.class);922checkEquals(SingleMemberIntArrTwoClass.class, UnitTest.class.getField("SingleMemberIntArrTwoField"),923SingleMemberIntArray.class);924checkEquals(SingleMemberLongArrTwoClass.class, UnitTest.class.getField("SingleMemberLongArrTwoField"),925SingleMemberLongArray.class);926checkEquals(SingleMemberCharArrTwoClass.class, UnitTest.class.getField("SingleMemberCharArrTwoField"),927SingleMemberCharArray.class);928checkEquals(SingleMemberFloatArrTwoClass.class, UnitTest.class.getField("SingleMemberFloatArrTwoField"),929SingleMemberFloatArray.class);930checkEquals(SingleMemberDoubleArrTwoClass.class, UnitTest.class.getField("SingleMemberDoubleArrTwoField"),931SingleMemberDoubleArray.class);932checkEquals(SingleMemberBooleanArrTwoClass.class, UnitTest.class.getField("SingleMemberBooleanArrTwoField"),933SingleMemberBooleanArray.class);934checkEquals(SingleMemberStringArrTwoClass.class, UnitTest.class.getField("SingleMemberStringArrTwoField"),935SingleMemberStringArray.class);936checkEquals(SingleMemberClassArrTwoClass.class, UnitTest.class.getField("SingleMemberClassArrTwoField"),937SingleMemberClassArray.class);938checkEquals(SingleMemberEnumArrTwoClass.class, UnitTest.class.getField("SingleMemberEnumArrTwoField"),939SingleMemberEnumArray.class);940941// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT (OVERRIDE)942checkEquals(SingleMemberByteArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberByteArrOvrdDefField"),943SingleMemberByteArrayDef.class);944checkEquals(SingleMemberShortArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberShortArrOvrdDefField"),945SingleMemberShortArrayDef.class);946checkEquals(SingleMemberIntArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberIntArrOvrdDefField"),947SingleMemberIntArrayDef.class);948checkEquals(SingleMemberLongArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberLongArrOvrdDefField"),949SingleMemberLongArrayDef.class);950checkEquals(SingleMemberCharArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberCharArrOvrdDefField"),951SingleMemberCharArrayDef.class);952checkEquals(SingleMemberFloatArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberFloatArrOvrdDefField"),953SingleMemberFloatArrayDef.class);954checkEquals(SingleMemberDoubleArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberDoubleArrOvrdDefField"),955SingleMemberDoubleArrayDef.class);956checkEquals(SingleMemberBooleanArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberBooleanArrOvrdDefField"),957SingleMemberBooleanArrayDef.class);958checkEquals(SingleMemberStringArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberStringArrOvrdDefField"),959SingleMemberStringArrayDef.class);960checkEquals(SingleMemberClassArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberClassArrOvrdDefField"),961SingleMemberClassArrayDef.class);962checkEquals(SingleMemberEnumArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberEnumArrOvrdDefField"),963SingleMemberEnumArrayDef.class);964965// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT (ACCEPT)966checkEquals(SingleMemberByteArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberByteArrAcceptDefField"),967SingleMemberByteArrayDef.class);968checkEquals(SingleMemberShortArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberShortArrAcceptDefField"),969SingleMemberShortArrayDef.class);970checkEquals(SingleMemberIntArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberIntArrAcceptDefField"),971SingleMemberIntArrayDef.class);972checkEquals(SingleMemberLongArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberLongArrAcceptDefField"),973SingleMemberLongArrayDef.class);974checkEquals(SingleMemberCharArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberCharArrAcceptDefField"),975SingleMemberCharArrayDef.class);976checkEquals(SingleMemberFloatArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberFloatArrAcceptDefField"),977SingleMemberFloatArrayDef.class);978checkEquals(SingleMemberDoubleArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberDoubleArrAcceptDefField"),979SingleMemberDoubleArrayDef.class);980checkEquals(SingleMemberBooleanArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberBooleanArrAcceptDefField"),981SingleMemberBooleanArrayDef.class);982checkEquals(SingleMemberStringArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberStringArrAcceptDefField"),983SingleMemberStringArrayDef.class);984checkEquals(SingleMemberClassArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberClassArrAcceptDefField"),985SingleMemberClassArrayDef.class);986checkEquals(SingleMemberEnumArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberEnumArrAcceptDefField"),987SingleMemberEnumArrayDef.class);988989// *** TESTS FOR EQUALS AND HASHCODE - NEGATIVE990991// MULTIMEMBER SCALAR TYPES992checkUnequals(scalarTypesOverrideDefaultClass.class, UnitTest.class.getField("scalarTypesAcceptDefaultField"),993ScalarTypesWithDefault.class);994checkUnequals(scalarTypesAcceptDefaultClass.class, UnitTest.class.getField("scalarTypesOverrideDefaultField"),995ScalarTypesWithDefault.class);996997// MULTIMEMBER ARRAY TYPES998checkUnequals(emptyArrayTypesClass.class, UnitTest.class.getField("singleElementArrayTypesField"),999ArrayTypes.class);1000checkUnequals(singleElementArrayTypesClass.class, UnitTest.class.getField("twoElementArrayTypesField"),1001ArrayTypes.class);1002checkUnequals(twoElementArrayTypesClass.class, UnitTest.class.getField("singleElementArrayTypesField"),1003ArrayTypes.class);1004checkUnequals(arrayTypesOverrideDefaultClass.class, UnitTest.class.getField("arrayTypesAcceptDefaultField"),1005ArrayTypesWithDefault.class);1006checkUnequals(arrayTypesAcceptDefaultClass.class, UnitTest.class.getField("arrayTypesOverrideDefaultField"),1007ArrayTypesWithDefault.class);10081009// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-OVERRIDE1010checkUnequals(SingleMemberByteOvrdDefClass.class, UnitTest.class.getField("SingleMemberByteAcceptDefField"),1011SingleMemberByteWithDef.class);1012checkUnequals(SingleMemberShortOvrdDefClass.class, UnitTest.class.getField("SingleMemberShortAcceptDefField"),1013SingleMemberShortWithDef.class);1014checkUnequals(SingleMemberIntOvrdDefClass.class, UnitTest.class.getField("SingleMemberIntAcceptDefField"),1015SingleMemberIntWithDef.class);1016checkUnequals(SingleMemberLongOvrdDefClass.class, UnitTest.class.getField("SingleMemberLongAcceptDefField"),1017SingleMemberLongWithDef.class);1018checkUnequals(SingleMemberCharOvrdDefClass.class, UnitTest.class.getField("SingleMemberCharAcceptDefField"),1019SingleMemberCharWithDef.class);1020checkUnequals(SingleMemberFloatOvrdDefClass.class, UnitTest.class.getField("SingleMemberFloatAcceptDefField"),1021SingleMemberFloatWithDef.class);1022checkUnequals(SingleMemberDoubleOvrdDefClass.class, UnitTest.class.getField("SingleMemberDoubleAcceptDefField"),1023SingleMemberDoubleWithDef.class);1024checkUnequals(SingleMemberBooleanOvrdDefClass.class, UnitTest.class.getField("SingleMemberBooleanAcceptDefField"),1025SingleMemberBooleanWithDef.class);1026checkUnequals(SingleMemberStringOvrdDefClass.class, UnitTest.class.getField("SingleMemberStringAcceptDefField"),1027SingleMemberStringWithDef.class);1028checkUnequals(SingleMemberClassOvrdDefClass.class, UnitTest.class.getField("SingleMemberClassAcceptDefField"),1029SingleMemberClassWithDef.class);1030checkUnequals(SingleMemberEnumOvrdDefClass.class, UnitTest.class.getField("SingleMemberEnumAcceptDefField"),1031SingleMemberEnumWithDef.class);10321033// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-ACCEPT1034checkUnequals(SingleMemberByteAcceptDefClass.class, UnitTest.class.getField("SingleMemberByteOvrdDefField"),1035SingleMemberByteWithDef.class);1036checkUnequals(SingleMemberShortAcceptDefClass.class, UnitTest.class.getField("SingleMemberShortOvrdDefField"),1037SingleMemberShortWithDef.class);1038checkUnequals(SingleMemberIntAcceptDefClass.class, UnitTest.class.getField("SingleMemberIntOvrdDefField"),1039SingleMemberIntWithDef.class);1040checkUnequals(SingleMemberLongAcceptDefClass.class, UnitTest.class.getField("SingleMemberLongOvrdDefField"),1041SingleMemberLongWithDef.class);1042checkUnequals(SingleMemberCharAcceptDefClass.class, UnitTest.class.getField("SingleMemberCharOvrdDefField"),1043SingleMemberCharWithDef.class);1044checkUnequals(SingleMemberFloatAcceptDefClass.class, UnitTest.class.getField("SingleMemberFloatOvrdDefField"),1045SingleMemberFloatWithDef.class);1046checkUnequals(SingleMemberDoubleAcceptDefClass.class, UnitTest.class.getField("SingleMemberDoubleOvrdDefField"),1047SingleMemberDoubleWithDef.class);1048checkUnequals(SingleMemberBooleanAcceptDefClass.class, UnitTest.class.getField("SingleMemberBooleanOvrdDefField"),1049SingleMemberBooleanWithDef.class);1050checkUnequals(SingleMemberStringAcceptDefClass.class, UnitTest.class.getField("SingleMemberStringOvrdDefField"),1051SingleMemberStringWithDef.class);1052checkUnequals(SingleMemberClassAcceptDefClass.class, UnitTest.class.getField("SingleMemberClassOvrdDefField"),1053SingleMemberClassWithDef.class);1054checkUnequals(SingleMemberEnumAcceptDefClass.class, UnitTest.class.getField("SingleMemberEnumOvrdDefField"),1055SingleMemberEnumWithDef.class);10561057// SINGLE-MEMBER ARRAY TYPES (EMPTY ARRAY)1058checkUnequals(SingleMemberByteArrEmptyClass.class, UnitTest.class.getField("SingleMemberByteArrOneField"),1059SingleMemberByteArray.class);1060checkUnequals(SingleMemberShortArrEmptyClass.class, UnitTest.class.getField("SingleMemberShortArrOneField"),1061SingleMemberShortArray.class);1062checkUnequals(SingleMemberIntArrEmptyClass.class, UnitTest.class.getField("SingleMemberIntArrOneField"),1063SingleMemberIntArray.class);1064checkUnequals(SingleMemberLongArrEmptyClass.class, UnitTest.class.getField("SingleMemberLongArrOneField"),1065SingleMemberLongArray.class);1066checkUnequals(SingleMemberCharArrEmptyClass.class, UnitTest.class.getField("SingleMemberCharArrOneField"),1067SingleMemberCharArray.class);1068checkUnequals(SingleMemberFloatArrEmptyClass.class, UnitTest.class.getField("SingleMemberFloatArrOneField"),1069SingleMemberFloatArray.class);1070checkUnequals(SingleMemberDoubleArrEmptyClass.class, UnitTest.class.getField("SingleMemberDoubleArrOneField"),1071SingleMemberDoubleArray.class);1072checkUnequals(SingleMemberBooleanArrEmptyClass.class, UnitTest.class.getField("SingleMemberBooleanArrOneField"),1073SingleMemberBooleanArray.class);1074checkUnequals(SingleMemberStringArrEmptyClass.class, UnitTest.class.getField("SingleMemberStringArrOneField"),1075SingleMemberStringArray.class);1076checkUnequals(SingleMemberClassArrEmptyClass.class, UnitTest.class.getField("SingleMemberClassArrOneField"),1077SingleMemberClassArray.class);1078checkUnequals(SingleMemberEnumArrEmptyClass.class, UnitTest.class.getField("SingleMemberEnumArrOneField"),1079SingleMemberEnumArray.class);10801081// SINGLE-MEMBER ARRAY TYPES (ONE-ELEMENT ARRAY)1082checkUnequals(SingleMemberByteArrOneClass.class, UnitTest.class.getField("SingleMemberByteArrTwoField"),1083SingleMemberByteArray.class);1084checkUnequals(SingleMemberShortArrOneClass.class, UnitTest.class.getField("SingleMemberShortArrTwoField"),1085SingleMemberShortArray.class);1086checkUnequals(SingleMemberIntArrOneClass.class, UnitTest.class.getField("SingleMemberIntArrTwoField"),1087SingleMemberIntArray.class);1088checkUnequals(SingleMemberLongArrOneClass.class, UnitTest.class.getField("SingleMemberLongArrTwoField"),1089SingleMemberLongArray.class);1090checkUnequals(SingleMemberCharArrOneClass.class, UnitTest.class.getField("SingleMemberCharArrTwoField"),1091SingleMemberCharArray.class);1092checkUnequals(SingleMemberFloatArrOneClass.class, UnitTest.class.getField("SingleMemberFloatArrTwoField"),1093SingleMemberFloatArray.class);1094checkUnequals(SingleMemberDoubleArrOneClass.class, UnitTest.class.getField("SingleMemberDoubleArrTwoField"),1095SingleMemberDoubleArray.class);1096checkUnequals(SingleMemberBooleanArrOneClass.class, UnitTest.class.getField("SingleMemberBooleanArrTwoField"),1097SingleMemberBooleanArray.class);1098checkUnequals(SingleMemberStringArrOneClass.class, UnitTest.class.getField("SingleMemberStringArrTwoField"),1099SingleMemberStringArray.class);1100checkUnequals(SingleMemberClassArrOneClass.class, UnitTest.class.getField("SingleMemberClassArrTwoField"),1101SingleMemberClassArray.class);1102checkUnequals(SingleMemberEnumArrOneClass.class, UnitTest.class.getField("SingleMemberEnumArrTwoField"),1103SingleMemberEnumArray.class);11041105// SINGLE-MEMBER ARRAY TYPES (TWO-ELEMENT ARRAY)1106checkUnequals(SingleMemberByteArrTwoClass.class, UnitTest.class.getField("SingleMemberByteArrOneField"),1107SingleMemberByteArray.class);1108checkUnequals(SingleMemberShortArrTwoClass.class, UnitTest.class.getField("SingleMemberShortArrOneField"),1109SingleMemberShortArray.class);1110checkUnequals(SingleMemberIntArrTwoClass.class, UnitTest.class.getField("SingleMemberIntArrOneField"),1111SingleMemberIntArray.class);1112checkUnequals(SingleMemberLongArrTwoClass.class, UnitTest.class.getField("SingleMemberLongArrOneField"),1113SingleMemberLongArray.class);1114checkUnequals(SingleMemberCharArrTwoClass.class, UnitTest.class.getField("SingleMemberCharArrOneField"),1115SingleMemberCharArray.class);1116checkUnequals(SingleMemberFloatArrTwoClass.class, UnitTest.class.getField("SingleMemberFloatArrOneField"),1117SingleMemberFloatArray.class);1118checkUnequals(SingleMemberDoubleArrTwoClass.class, UnitTest.class.getField("SingleMemberDoubleArrOneField"),1119SingleMemberDoubleArray.class);1120checkUnequals(SingleMemberBooleanArrTwoClass.class, UnitTest.class.getField("SingleMemberBooleanArrOneField"),1121SingleMemberBooleanArray.class);1122checkUnequals(SingleMemberStringArrTwoClass.class, UnitTest.class.getField("SingleMemberStringArrOneField"),1123SingleMemberStringArray.class);1124checkUnequals(SingleMemberClassArrTwoClass.class, UnitTest.class.getField("SingleMemberClassArrOneField"),1125SingleMemberClassArray.class);1126checkUnequals(SingleMemberEnumArrTwoClass.class, UnitTest.class.getField("SingleMemberEnumArrOneField"),1127SingleMemberEnumArray.class);11281129// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT (OVERRIDE)1130checkUnequals(SingleMemberByteArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberByteArrAcceptDefField"),1131SingleMemberByteArrayDef.class);1132checkUnequals(SingleMemberShortArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberShortArrAcceptDefField"),1133SingleMemberShortArrayDef.class);1134checkUnequals(SingleMemberIntArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberIntArrAcceptDefField"),1135SingleMemberIntArrayDef.class);1136checkUnequals(SingleMemberLongArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberLongArrAcceptDefField"),1137SingleMemberLongArrayDef.class);1138checkUnequals(SingleMemberCharArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberCharArrAcceptDefField"),1139SingleMemberCharArrayDef.class);1140checkUnequals(SingleMemberFloatArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberFloatArrAcceptDefField"),1141SingleMemberFloatArrayDef.class);1142checkUnequals(SingleMemberDoubleArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberDoubleArrAcceptDefField"),1143SingleMemberDoubleArrayDef.class);1144checkUnequals(SingleMemberBooleanArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberBooleanArrAcceptDefField"),1145SingleMemberBooleanArrayDef.class);1146checkUnequals(SingleMemberStringArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberStringArrAcceptDefField"),1147SingleMemberStringArrayDef.class);1148checkUnequals(SingleMemberClassArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberClassArrAcceptDefField"),1149SingleMemberClassArrayDef.class);1150checkUnequals(SingleMemberEnumArrOvrdDefClass.class, UnitTest.class.getField("SingleMemberEnumArrAcceptDefField"),1151SingleMemberEnumArrayDef.class);11521153// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT (ACCEPT)1154checkUnequals(SingleMemberByteArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberByteArrOvrdDefField"),1155SingleMemberByteArrayDef.class);1156checkUnequals(SingleMemberShortArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberShortArrOvrdDefField"),1157SingleMemberShortArrayDef.class);1158checkUnequals(SingleMemberIntArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberIntArrOvrdDefField"),1159SingleMemberIntArrayDef.class);1160checkUnequals(SingleMemberLongArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberLongArrOvrdDefField"),1161SingleMemberLongArrayDef.class);1162checkUnequals(SingleMemberCharArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberCharArrOvrdDefField"),1163SingleMemberCharArrayDef.class);1164checkUnequals(SingleMemberFloatArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberFloatArrOvrdDefField"),1165SingleMemberFloatArrayDef.class);1166checkUnequals(SingleMemberDoubleArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberDoubleArrOvrdDefField"),1167SingleMemberDoubleArrayDef.class);1168checkUnequals(SingleMemberBooleanArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberBooleanArrOvrdDefField"),1169SingleMemberBooleanArrayDef.class);1170checkUnequals(SingleMemberStringArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberStringArrOvrdDefField"),1171SingleMemberStringArrayDef.class);1172checkUnequals(SingleMemberClassArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberClassArrOvrdDefField"),1173SingleMemberClassArrayDef.class);1174checkUnequals(SingleMemberEnumArrAcceptDefClass.class, UnitTest.class.getField("SingleMemberEnumArrOvrdDefField"),1175SingleMemberEnumArrayDef.class);11761177// *** TESTS FOR SERIALIZATION AND DESERIALIZATION11781179// MULTIMEMBER SCALAR TYPES1180checkSerialization(scalarTypesClass.class, ScalarTypes.class);1181checkSerialization(scalarTypesOverrideDefaultClass.class, ScalarTypesWithDefault.class);1182checkSerialization(scalarTypesAcceptDefaultClass.class, ScalarTypesWithDefault.class);11831184// MULTIMEMBER ARRAY TYPES1185checkSerialization(emptyArrayTypesClass.class, ArrayTypes.class);1186checkSerialization(singleElementArrayTypesClass.class, ArrayTypes.class);1187checkSerialization(twoElementArrayTypesClass.class, ArrayTypes.class);1188checkSerialization(arrayTypesOverrideDefaultClass.class, ArrayTypesWithDefault.class);1189checkSerialization(arrayTypesAcceptDefaultClass.class, ArrayTypesWithDefault.class);11901191// MARKER TYPE1192checkSerialization(markerClass.class, Marker.class);11931194// SINGLE-MEMBER SCALAR TYPES1195checkSerialization(SingleMemberByteClass.class, SingleMemberByte.class);1196checkSerialization(SingleMemberShortClass.class, SingleMemberShort.class);1197checkSerialization(SingleMemberIntClass.class, SingleMemberInt.class);1198checkSerialization(SingleMemberLongClass.class, SingleMemberLong.class);1199checkSerialization(SingleMemberCharClass.class, SingleMemberChar.class);1200checkSerialization(SingleMemberFloatClass.class, SingleMemberFloat.class);1201checkSerialization(SingleMemberDoubleClass.class, SingleMemberDouble.class);1202checkSerialization(SingleMemberBooleanClass.class, SingleMemberBoolean.class);1203checkSerialization(SingleMemberStringClass.class, SingleMemberString.class);1204checkSerialization(SingleMemberClassClass.class, SingleMemberClass.class);1205checkSerialization(SingleMemberEnumClass.class, SingleMemberEnum.class);12061207// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-OVERRIDE1208checkSerialization(SingleMemberByteOvrdDefClass.class, SingleMemberByteWithDef.class);1209checkSerialization(SingleMemberShortOvrdDefClass.class, SingleMemberShortWithDef.class);1210checkSerialization(SingleMemberIntOvrdDefClass.class, SingleMemberIntWithDef.class);1211checkSerialization(SingleMemberLongOvrdDefClass.class, SingleMemberLongWithDef.class);1212checkSerialization(SingleMemberCharOvrdDefClass.class, SingleMemberCharWithDef.class);1213checkSerialization(SingleMemberFloatOvrdDefClass.class, SingleMemberFloatWithDef.class);1214checkSerialization(SingleMemberDoubleOvrdDefClass.class, SingleMemberDoubleWithDef.class);1215checkSerialization(SingleMemberBooleanOvrdDefClass.class, SingleMemberBooleanWithDef.class);1216checkSerialization(SingleMemberStringOvrdDefClass.class, SingleMemberStringWithDef.class);1217checkSerialization(SingleMemberClassOvrdDefClass.class, SingleMemberClassWithDef.class);1218checkSerialization(SingleMemberEnumOvrdDefClass.class, SingleMemberEnumWithDef.class);12191220// SINGLE-MEMBER SCALAR TYPES WITH DEFAULT-ACCEPT1221checkSerialization(SingleMemberByteAcceptDefClass.class, SingleMemberByteWithDef.class);1222checkSerialization(SingleMemberShortAcceptDefClass.class, SingleMemberShortWithDef.class);1223checkSerialization(SingleMemberIntAcceptDefClass.class, SingleMemberIntWithDef.class);1224checkSerialization(SingleMemberLongAcceptDefClass.class, SingleMemberLongWithDef.class);1225checkSerialization(SingleMemberCharAcceptDefClass.class, SingleMemberCharWithDef.class);1226checkSerialization(SingleMemberFloatAcceptDefClass.class, SingleMemberFloatWithDef.class);1227checkSerialization(SingleMemberDoubleAcceptDefClass.class, SingleMemberDoubleWithDef.class);1228checkSerialization(SingleMemberBooleanAcceptDefClass.class, SingleMemberBooleanWithDef.class);1229checkSerialization(SingleMemberStringAcceptDefClass.class, SingleMemberStringWithDef.class);1230checkSerialization(SingleMemberClassAcceptDefClass.class, SingleMemberClassWithDef.class);1231checkSerialization(SingleMemberEnumAcceptDefClass.class, SingleMemberEnumWithDef.class);12321233// SINGLE-MEMBER ARRAY TYPES (EMPTY ARRAY)1234checkSerialization(SingleMemberByteArrEmptyClass.class, SingleMemberByteArray.class);1235checkSerialization(SingleMemberShortArrEmptyClass.class, SingleMemberShortArray.class);1236checkSerialization(SingleMemberIntArrEmptyClass.class, SingleMemberIntArray.class);1237checkSerialization(SingleMemberLongArrEmptyClass.class, SingleMemberLongArray.class);1238checkSerialization(SingleMemberCharArrEmptyClass.class, SingleMemberCharArray.class);1239checkSerialization(SingleMemberFloatArrEmptyClass.class, SingleMemberFloatArray.class);1240checkSerialization(SingleMemberDoubleArrEmptyClass.class, SingleMemberDoubleArray.class);1241checkSerialization(SingleMemberBooleanArrEmptyClass.class, SingleMemberBooleanArray.class);1242checkSerialization(SingleMemberStringArrEmptyClass.class, SingleMemberStringArray.class);1243checkSerialization(SingleMemberClassArrEmptyClass.class, SingleMemberClassArray.class);1244checkSerialization(SingleMemberEnumArrEmptyClass.class, SingleMemberEnumArray.class);12451246// SINGLE-MEMBER ARRAY TYPES (ONE-ELEMENT ARRAY)1247checkSerialization(SingleMemberByteArrOneClass.class, SingleMemberByteArray.class);1248checkSerialization(SingleMemberShortArrOneClass.class, SingleMemberShortArray.class);1249checkSerialization(SingleMemberIntArrOneClass.class, SingleMemberIntArray.class);1250checkSerialization(SingleMemberLongArrOneClass.class, SingleMemberLongArray.class);1251checkSerialization(SingleMemberCharArrOneClass.class, SingleMemberCharArray.class);1252checkSerialization(SingleMemberFloatArrOneClass.class, SingleMemberFloatArray.class);1253checkSerialization(SingleMemberDoubleArrOneClass.class, SingleMemberDoubleArray.class);1254checkSerialization(SingleMemberBooleanArrOneClass.class, SingleMemberBooleanArray.class);1255checkSerialization(SingleMemberStringArrOneClass.class, SingleMemberStringArray.class);1256checkSerialization(SingleMemberClassArrOneClass.class, SingleMemberClassArray.class);1257checkSerialization(SingleMemberEnumArrOneClass.class, SingleMemberEnumArray.class);12581259// SINGLE-MEMBER ARRAY TYPES (TWO-ELEMENT ARRAY)1260checkSerialization(SingleMemberByteArrTwoClass.class, SingleMemberByteArray.class);1261checkSerialization(SingleMemberShortArrTwoClass.class, SingleMemberShortArray.class);1262checkSerialization(SingleMemberIntArrTwoClass.class, SingleMemberIntArray.class);1263checkSerialization(SingleMemberLongArrTwoClass.class, SingleMemberLongArray.class);1264checkSerialization(SingleMemberCharArrTwoClass.class, SingleMemberCharArray.class);1265checkSerialization(SingleMemberFloatArrTwoClass.class, SingleMemberFloatArray.class);1266checkSerialization(SingleMemberDoubleArrTwoClass.class, SingleMemberDoubleArray.class);1267checkSerialization(SingleMemberBooleanArrTwoClass.class, SingleMemberBooleanArray.class);1268checkSerialization(SingleMemberStringArrTwoClass.class, SingleMemberStringArray.class);1269checkSerialization(SingleMemberClassArrTwoClass.class, SingleMemberClassArray.class);1270checkSerialization(SingleMemberEnumArrTwoClass.class, SingleMemberEnumArray.class);12711272// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT (OVERRIDE)1273checkSerialization(SingleMemberByteArrOvrdDefClass.class, SingleMemberByteArrayDef.class);1274checkSerialization(SingleMemberShortArrOvrdDefClass.class, SingleMemberShortArrayDef.class);1275checkSerialization(SingleMemberIntArrOvrdDefClass.class, SingleMemberIntArrayDef.class);1276checkSerialization(SingleMemberLongArrOvrdDefClass.class, SingleMemberLongArrayDef.class);1277checkSerialization(SingleMemberCharArrOvrdDefClass.class, SingleMemberCharArrayDef.class);1278checkSerialization(SingleMemberFloatArrOvrdDefClass.class, SingleMemberFloatArrayDef.class);1279checkSerialization(SingleMemberDoubleArrOvrdDefClass.class, SingleMemberDoubleArrayDef.class);1280checkSerialization(SingleMemberBooleanArrOvrdDefClass.class, SingleMemberBooleanArrayDef.class);1281checkSerialization(SingleMemberStringArrOvrdDefClass.class, SingleMemberStringArrayDef.class);1282checkSerialization(SingleMemberClassArrOvrdDefClass.class, SingleMemberClassArrayDef.class);1283checkSerialization(SingleMemberEnumArrOvrdDefClass.class, SingleMemberEnumArrayDef.class);12841285// SINGLE-MEMBER ARRAY TYPES WITH DEFAULT (ACCEPT)1286checkSerialization(SingleMemberByteArrAcceptDefClass.class, SingleMemberByteArrayDef.class);1287checkSerialization(SingleMemberShortArrAcceptDefClass.class, SingleMemberShortArrayDef.class);1288checkSerialization(SingleMemberIntArrAcceptDefClass.class, SingleMemberIntArrayDef.class);1289checkSerialization(SingleMemberLongArrAcceptDefClass.class, SingleMemberLongArrayDef.class);1290checkSerialization(SingleMemberCharArrAcceptDefClass.class, SingleMemberCharArrayDef.class);1291checkSerialization(SingleMemberFloatArrAcceptDefClass.class, SingleMemberFloatArrayDef.class);1292checkSerialization(SingleMemberDoubleArrAcceptDefClass.class, SingleMemberDoubleArrayDef.class);1293checkSerialization(SingleMemberBooleanArrAcceptDefClass.class, SingleMemberBooleanArrayDef.class);1294checkSerialization(SingleMemberStringArrAcceptDefClass.class, SingleMemberStringArrayDef.class);1295checkSerialization(SingleMemberClassArrAcceptDefClass.class, SingleMemberClassArrayDef.class);1296checkSerialization(SingleMemberEnumArrAcceptDefClass.class, SingleMemberEnumArrayDef.class);12971298// *** TESTS FOR ANNOTATION INHERITANCE AND ENUMERATING DECLARED ANNOTATIONS12991300// Inheritance tests1301checkInheritence(Grandpa.class, true, true);1302checkInheritence(Dad.class, true, false);1303checkInheritence(Son.class, true, true);13041305// Declared annotations tests1306checkDeclaredAnnotations(Grandpa.class, true, true);1307checkDeclaredAnnotations(Dad.class, false, false);1308checkDeclaredAnnotations(Son.class, false, true);13091310// Generate summary1311System.out.println("\n" + numTests + " tests completed");1312if (failCount != 0)1313throw new Exception("Failure count: " + failCount);1314else1315System.out.println("Success.");1316}13171318static int failCount = 0;13191320private static void fail(String test) {1321System.out.println("Failure: " + test);1322failCount++;1323}13241325// ANNOTATION-VERIFICATION METHODS13261327// Scalar multi-member13281329static void checkScalarTypes(AnnotatedElement e) {1330try {1331checkScalarTypes(e.getAnnotation(ScalarTypes.class), e);1332} catch(Throwable t) {1333fail("ScalarTypes " + e + ": " + t);1334t.printStackTrace();1335}1336}13371338static void checkScalarTypes(ScalarTypes st, AnnotatedElement e) throws Exception {1339numTests++;1340if (!(st.b() == 1 &&1341st.s() == 2 &&1342st.i() == 3 &&1343st.l() == 4L &&1344st.c() == '5' &&1345st.f() == 6.0f &&1346st.d() == 7.0 &&1347st.bool() == true &&1348st.str().equals("custom") &&1349st.cls() == Map.class &&1350st.e() == Stooge.MOE &&1351st.a().x() == 1 && st.a().y() == 2))1352fail("ScalarTypes" + e);1353}13541355static void checkScalarTypesOverrideDefault(AnnotatedElement e) {1356try {1357checkScalarTypesOverrideDefault(e.getAnnotation(ScalarTypesWithDefault.class), e);1358} catch(Throwable t) {1359fail("ScalarTypesOverrideDefaults" + e + ": " + t);1360}1361}13621363static void checkScalarTypesOverrideDefault(ScalarTypesWithDefault st, AnnotatedElement e) {1364numTests++;1365if (!(st.b() == 1 &&1366st.s() == 2 &&1367st.i() == 3 &&1368st.l() == 4L &&1369st.c() == '5' &&1370st.f() == 6.0f &&1371st.d() == 7.0 &&1372st.bool() == true &&1373st.str().equals("custom") &&1374st.cls() == Map.class &&1375st.e() == Stooge.MOE))1376fail("ScalarTypesOverrideDefaults" + e);1377}13781379static void checkScalarTypesAcceptDefault(AnnotatedElement e) {1380try {1381checkScalarTypesAcceptDefault(e.getAnnotation(ScalarTypesWithDefault.class), e);1382} catch(Throwable t) {1383fail("ScalarTypesAcceptDefaults" + e + ": " + t);1384}1385}13861387static void checkScalarTypesAcceptDefault(ScalarTypesWithDefault st, AnnotatedElement e) {1388numTests++;1389if (!(st.b() == 11 &&1390st.s() == 12 &&1391st.i() == 13 &&1392st.l() == 14L &&1393st.c() == 'V' &&1394st.f() == 16.0f &&1395st.d() == 17.0 &&1396st.bool() == false &&1397st.str().equals("default") &&1398st.cls() == Class.class &&1399st.e() == Stooge.LARRY &&1400st.a().x() == 11 && st.a().y() == 12))1401fail("ScalarTypesAcceptDefaults" + e);1402}14031404// Array multi-member14051406static void checkArrayTypes0(AnnotatedElement e) {1407try {1408checkArrayTypes0(e.getAnnotation(ArrayTypes.class), e);1409} catch(Throwable t) {1410fail("ArrayTypes(Empty)" + e + ": " + t);1411}1412}14131414static void checkArrayTypes0(ArrayTypes at, AnnotatedElement e) {1415numTests++;1416if (!(at.b().length == 0 &&1417at.s().length == 0 &&1418at.i().length == 0 &&1419at.l().length == 0 &&1420at.c().length == 0 &&1421at.f().length == 0 &&1422at.d().length == 0 &&1423at.bool().length == 0 &&1424at.str().length == 0 &&1425at.cls().length == 0 &&1426at.e().length == 0 &&1427at.a().length == 0)) {1428fail("ArrayTypes(Empty)" + e);1429}1430}14311432static void checkArrayTypes1(AnnotatedElement e) {1433try {1434checkArrayTypes1(e.getAnnotation(ArrayTypes.class), e);1435} catch(Throwable t) {1436fail("ArrayTypes(One element)" + e + ": " + t);1437}1438}14391440static void checkArrayTypes1(ArrayTypes at, AnnotatedElement e) {1441numTests++;1442if (!(at.b()[0] == 1 &&1443at.s()[0] == 2 &&1444at.i()[0] == 3 &&1445at.l()[0] == 4L &&1446at.c()[0] == '5' &&1447at.f()[0] == 6.0f &&1448at.d()[0] == 7.0 &&1449at.bool()[0] == true &&1450at.str()[0].equals("custom") &&1451at.cls()[0] == Map.class &&1452at.e()[0] == Stooge.MOE &&1453at.a()[0].x() == 1 && at.a()[0].y() == 2 &&14541455at.b().length==1 && at.s().length==1 && at.i().length==1 &&1456at.l().length==1 && at.c().length==1 && at.d().length==1 &&1457at.bool().length==1 && at.str().length==1 &&1458at.cls().length==1 && at.cls().length==1 && at.a().length==1))1459fail("ArrayTypes(One element)" + e);1460}14611462static void checkArrayTypes2(AnnotatedElement e) {1463try {1464checkArrayTypes2(e.getAnnotation(ArrayTypes.class), e);1465} catch(Throwable t) {1466fail("ArrayTypes(Two element)" + e + ": " + t);1467}1468}14691470static void checkArrayTypes2(ArrayTypes at, AnnotatedElement e) {1471numTests++;1472if (!(at.b()[0] == 1 && at.b()[1] == 2 &&1473at.s()[0] == 2 && at.s()[1] == 3 &&1474at.i()[0] == 3 && at.i()[1] == 4 &&1475at.l()[0] == 4L && at.l()[1] == 5L &&1476at.c()[0] == '5' && at.c()[1] == '6' &&1477at.f()[0] == 6.0f && at.f()[1] == 7.0f &&1478at.d()[0] == 7.0 && at.d()[1] == 8.0 &&1479at.bool()[0] == true && at.bool()[1] == false &&1480at.str()[0].equals("custom") && at.str()[1].equals("paint") &&1481at.cls()[0] == Map.class && at.cls()[1] == Set.class &&1482at.e()[0] == Stooge.MOE && at.e()[1] == Stooge.CURLY &&1483at.a()[0].x() == 1 && at.a()[0].y() == 2 && at.a()[1].x() == 3 && at.a()[1].y() == 4 &&14841485at.b().length==2 && at.s().length==2 && at.i().length==2 &&1486at.l().length==2 && at.c().length==2 && at.d().length==2 &&1487at.bool().length==2 && at.str().length==2 &&1488at.cls().length==2 && at.cls().length==2 && at.a().length==2))1489fail("ArrayTypes(Two element)" + e);1490}14911492static void checkArrayTypesOverrideDefault(AnnotatedElement e) {1493try {1494checkArrayTypesOverrideDefault(e.getAnnotation(ArrayTypesWithDefault.class), e);1495} catch(Throwable t) {1496fail("ArrayTypesOverrideDefault" + e + ": " + t);1497}1498}14991500static void checkArrayTypesOverrideDefault(ArrayTypesWithDefault at, AnnotatedElement e) {1501numTests++;1502if (!(at.b()[0] == 1 &&1503at.s()[0] == 2 &&1504at.i()[0] == 3 &&1505at.l()[0] == 4L &&1506at.c()[0] == '5' &&1507at.f()[0] == 6.0f &&1508at.d()[0] == 7.0 &&1509at.bool()[0] == true &&1510at.str()[0].equals("custom") &&1511at.cls()[0] == Map.class &&1512at.e()[0] == Stooge.MOE &&1513at.a()[0].x() == 1 && at.a()[0].y() == 2 &&15141515at.b().length==1 && at.s().length==1 && at.i().length==1 &&1516at.l().length==1 && at.c().length==1 && at.d().length==1 &&1517at.bool().length==1 && at.str().length==1 &&1518at.cls().length==1 && at.cls().length==1))1519fail("ArrayTypesOverrideDefault" + e);1520}15211522static void checkArrayTypesAcceptDefault(AnnotatedElement e) {1523try {1524checkArrayTypesAcceptDefault(e.getAnnotation(ArrayTypesWithDefault.class), e);1525} catch(Throwable t) {1526fail("ArrayTypesAcceptDefault" + e + ": " + t);1527}1528}15291530static void checkArrayTypesAcceptDefault(ArrayTypesWithDefault at, AnnotatedElement e) {1531numTests++;1532if (!(at.b()[0] == 11 &&1533at.s()[0] == 12 &&1534at.i()[0] == 13 &&1535at.l()[0] == 14L &&1536at.c()[0] == 'V' &&1537at.f()[0] == 16.0f &&1538at.d()[0] == 17.0 &&1539at.bool()[0] == false &&1540at.str()[0].equals("default") &&1541at.cls()[0] == Class.class &&1542at.e()[0] == Stooge.LARRY &&1543at.a()[0].x() == 11 && at.a()[0].y() == 12 &&15441545at.b().length==1 && at.s().length==1 && at.i().length==1 &&1546at.l().length==1 && at.c().length==1 && at.d().length==1 &&1547at.bool().length==1 && at.str().length==1 &&1548at.cls().length==1 && at.cls().length==1))1549fail("ArrayTypesAcceptDefault" + e);1550}15511552// Scalar multi-member for parameters15531554static void checkScalarTypesParam(Method m) {1555try {1556checkScalarTypes((ScalarTypes) m.getParameterAnnotations()[0][0], m);1557} catch(Throwable t) {1558fail("ScalarTypes" + m + ": " + t);1559}1560}15611562static void checkScalarTypesOverrideDefaultParam(Method m) {1563try {1564checkScalarTypesOverrideDefault((ScalarTypesWithDefault) m.getParameterAnnotations()[0][0], m);1565} catch(Throwable t) {1566fail("ScalarTypesOverrideDefaults" + m + ": " + t);1567}1568}15691570static void checkScalarTypesAcceptDefaultParam(Method m) {1571try {1572checkScalarTypesAcceptDefault((ScalarTypesWithDefault) m.getParameterAnnotations()[0][0], m);1573} catch(Throwable t) {1574fail("ScalarTypesAcceptDefaults" + m + ": " + t);1575}1576}15771578// Array multi-member for parameters15791580static void checkArrayTypes0Param(Method m) {1581try {1582checkArrayTypes0((ArrayTypes) m.getParameterAnnotations()[0][0], m);1583} catch(Throwable t) {1584fail("ArrayTypes(Empty)" + m + ": " + t);1585}1586}15871588static void checkArrayTypes1Param(Method m) {1589try {1590checkArrayTypes1((ArrayTypes) m.getParameterAnnotations()[0][0], m);1591} catch(Throwable t) {1592fail("ArrayTypes(One Element)" + m + ": " + t);1593}1594}15951596static void checkArrayTypes2Param(Method m) {1597try {1598checkArrayTypes2((ArrayTypes) m.getParameterAnnotations()[0][0], m);1599} catch(Throwable t) {1600fail("ArrayTypes(Two Elements)" + m + ": " + t);1601}1602}16031604static void checkArrayTypesOverrideDefaultParam(Method m) {1605try {1606checkArrayTypesOverrideDefault((ArrayTypesWithDefault) m.getParameterAnnotations()[0][0], m);1607} catch(Throwable t) {1608fail("ArrayTypesOverrideDefault" + m + ": " + t);1609}1610}16111612static void checkArrayTypesAcceptDefaultParam(Method m) {1613try {1614checkArrayTypesAcceptDefault((ArrayTypesWithDefault) m.getParameterAnnotations()[0][0], m);1615} catch(Throwable t) {1616fail("ArrayTypesAcceptDefault" + m + ": " + t);1617}1618}16191620// marker type on parameter1621static void checkMarkerParam(Method m) {1622try {1623checkMarker((Marker) m.getParameterAnnotations()[0][0], m);1624} catch(Throwable t) {1625fail("Marker" + m + ": " + t);1626}1627}16281629// single-member scalar types on parameter1630static void checkSingleMemberByteParam(Method m) {1631try {1632checkSingleMemberByte((SingleMemberByte) m.getParameterAnnotations()[0][0], m);1633} catch(Throwable t) {1634fail("SingleMemberByte" + m + ": " + t);1635}1636}16371638static void checkSingleMemberShortParam(Method m) {1639try {1640checkSingleMemberShort((SingleMemberShort) m.getParameterAnnotations()[0][0], m);1641} catch(Throwable t) {1642fail("SingleMemberShort" + m + ": " + t);1643}1644}16451646static void checkSingleMemberIntParam(Method m) {1647try {1648checkSingleMemberInt((SingleMemberInt) m.getParameterAnnotations()[0][0], m);1649} catch(Throwable t) {1650fail("SingleMemberInt" + m + ": " + t);1651}1652}16531654static void checkSingleMemberLongParam(Method m) {1655try {1656checkSingleMemberLong((SingleMemberLong) m.getParameterAnnotations()[0][0], m);1657} catch(Throwable t) {1658fail("SingleMemberLong" + m + ": " + t);1659}1660}16611662static void checkSingleMemberCharParam(Method m) {1663try {1664checkSingleMemberChar((SingleMemberChar) m.getParameterAnnotations()[0][0], m);1665} catch(Throwable t) {1666fail("SingleMemberChar" + m + ": " + t);1667}1668}16691670static void checkSingleMemberFloatParam(Method m) {1671try {1672checkSingleMemberFloat((SingleMemberFloat) m.getParameterAnnotations()[0][0], m);1673} catch(Throwable t) {1674fail("SingleMemberFloat" + m + ": " + t);1675}1676}16771678static void checkSingleMemberDoubleParam(Method m) {1679try {1680checkSingleMemberDouble((SingleMemberDouble) m.getParameterAnnotations()[0][0], m);1681} catch(Throwable t) {1682fail("SingleMemberDouble" + m + ": " + t);1683}1684}16851686static void checkSingleMemberBooleanParam(Method m) {1687try {1688checkSingleMemberBoolean((SingleMemberBoolean) m.getParameterAnnotations()[0][0], m);1689} catch(Throwable t) {1690fail("SingleMemberBoolean" + m + ": " + t);1691}1692}16931694static void checkSingleMemberStringParam(Method m) {1695try {1696checkSingleMemberString((SingleMemberString) m.getParameterAnnotations()[0][0], m);1697} catch(Throwable t) {1698fail("SingleMemberString" + m + ": " + t);1699}1700}17011702static void checkSingleMemberClassParam(Method m) {1703try {1704checkSingleMemberClass((SingleMemberClass) m.getParameterAnnotations()[0][0], m);1705} catch(Throwable t) {1706fail("SingleMemberClass" + m + ": " + t);1707}1708}17091710static void checkSingleMemberEnumParam(Method m) {1711try {1712checkSingleMemberEnum((SingleMemberEnum) m.getParameterAnnotations()[0][0], m);1713} catch(Throwable t) {1714fail("SingleMemberEnum" + m + ": " + t);1715}1716}17171718// single-member scalar types with default-override on parameter1719static void checkSingleMemberByteOvrdDefParam(Method m) {1720try {1721checkSingleMemberByteOvrdDef((SingleMemberByteWithDef) m.getParameterAnnotations()[0][0], m);1722} catch(Throwable t) {1723fail("SingleMemberByteOvrdDef" + m + ": " + t);1724}1725}17261727static void checkSingleMemberShortOvrdDefParam(Method m) {1728try {1729checkSingleMemberShortOvrdDef((SingleMemberShortWithDef) m.getParameterAnnotations()[0][0], m);1730} catch(Throwable t) {1731fail("SingleMemberShortOvrdDef" + m + ": " + t);1732}1733}17341735static void checkSingleMemberIntOvrdDefParam(Method m) {1736try {1737checkSingleMemberIntOvrdDef((SingleMemberIntWithDef) m.getParameterAnnotations()[0][0], m);1738} catch(Throwable t) {1739fail("SingleMemberIntOvrdDef" + m + ": " + t);1740}1741}17421743static void checkSingleMemberLongOvrdDefParam(Method m) {1744try {1745checkSingleMemberLongOvrdDef((SingleMemberLongWithDef) m.getParameterAnnotations()[0][0], m);1746} catch(Throwable t) {1747fail("SingleMemberLongOvrdDef" + m + ": " + t);1748}1749}17501751static void checkSingleMemberCharOvrdDefParam(Method m) {1752try {1753checkSingleMemberCharOvrdDef((SingleMemberCharWithDef) m.getParameterAnnotations()[0][0], m);1754} catch(Throwable t) {1755fail("SingleMemberCharOvrdDef" + m + ": " + t);1756}1757}17581759static void checkSingleMemberFloatOvrdDefParam(Method m) {1760try {1761checkSingleMemberFloatOvrdDef((SingleMemberFloatWithDef) m.getParameterAnnotations()[0][0], m);1762} catch(Throwable t) {1763fail("SingleMemberFloatOvrdDef" + m + ": " + t);1764}1765}17661767static void checkSingleMemberDoubleOvrdDefParam(Method m) {1768try {1769checkSingleMemberDoubleOvrdDef((SingleMemberDoubleWithDef) m.getParameterAnnotations()[0][0], m);1770} catch(Throwable t) {1771fail("SingleMemberDoubleOvrdDef" + m + ": " + t);1772}1773}17741775static void checkSingleMemberBooleanOvrdDefParam(Method m) {1776try {1777checkSingleMemberBooleanOvrdDef((SingleMemberBooleanWithDef) m.getParameterAnnotations()[0][0], m);1778} catch(Throwable t) {1779fail("SingleMemberBooleanOvrdDef" + m + ": " + t);1780}1781}17821783static void checkSingleMemberStringOvrdDefParam(Method m) {1784try {1785checkSingleMemberStringOvrdDef((SingleMemberStringWithDef) m.getParameterAnnotations()[0][0], m);1786} catch(Throwable t) {1787fail("SingleMemberStringOvrdDef" + m + ": " + t);1788}1789}17901791static void checkSingleMemberClassOvrdDefParam(Method m) {1792try {1793checkSingleMemberClassOvrdDef((SingleMemberClassWithDef) m.getParameterAnnotations()[0][0], m);1794} catch(Throwable t) {1795fail("SingleMemberClassOvrdDef" + m + ": " + t);1796}1797}17981799static void checkSingleMemberEnumOvrdDefParam(Method m) {1800try {1801checkSingleMemberEnumOvrdDef((SingleMemberEnumWithDef) m.getParameterAnnotations()[0][0], m);1802} catch(Throwable t) {1803fail("SingleMemberEnumOvrdDef" + m + ": " + t);1804}1805}18061807// single-member scalar types with default-accept on PARAMETER1808static void checkSingleMemberByteAcceptDefParam(Method m) {1809try {1810checkSingleMemberByteAcceptDef((SingleMemberByteWithDef) m.getParameterAnnotations()[0][0], m);1811} catch(Throwable t) {1812fail("SingleMemberByteAcceptDef" + m + ": " + t);1813}1814}18151816static void checkSingleMemberShortAcceptDefParam(Method m) {1817try {1818checkSingleMemberShortAcceptDef((SingleMemberShortWithDef) m.getParameterAnnotations()[0][0], m);1819} catch(Throwable t) {1820fail("SingleMemberShortAcceptDef" + m + ": " + t);1821}1822}18231824static void checkSingleMemberIntAcceptDefParam(Method m) {1825try {1826checkSingleMemberIntAcceptDef((SingleMemberIntWithDef) m.getParameterAnnotations()[0][0], m);1827} catch(Throwable t) {1828fail("SingleMemberIntAcceptDef" + m + ": " + t);1829}1830}18311832static void checkSingleMemberLongAcceptDefParam(Method m) {1833try {1834checkSingleMemberLongAcceptDef((SingleMemberLongWithDef) m.getParameterAnnotations()[0][0], m);1835} catch(Throwable t) {1836fail("SingleMemberLongAcceptDef" + m + ": " + t);1837}1838}18391840static void checkSingleMemberCharAcceptDefParam(Method m) {1841try {1842checkSingleMemberCharAcceptDef((SingleMemberCharWithDef) m.getParameterAnnotations()[0][0], m);1843} catch(Throwable t) {1844fail("SingleMemberCharAcceptDef" + m + ": " + t);1845}1846}18471848static void checkSingleMemberFloatAcceptDefParam(Method m) {1849try {1850checkSingleMemberFloatAcceptDef((SingleMemberFloatWithDef) m.getParameterAnnotations()[0][0], m);1851} catch(Throwable t) {1852fail("SingleMemberFloatAcceptDef" + m + ": " + t);1853}1854}18551856static void checkSingleMemberDoubleAcceptDefParam(Method m) {1857try {1858checkSingleMemberDoubleAcceptDef((SingleMemberDoubleWithDef) m.getParameterAnnotations()[0][0], m);1859} catch(Throwable t) {1860fail("SingleMemberDoubleAcceptDef" + m + ": " + t);1861}1862}18631864static void checkSingleMemberBooleanAcceptDefParam(Method m) {1865try {1866checkSingleMemberBooleanAcceptDef((SingleMemberBooleanWithDef) m.getParameterAnnotations()[0][0], m);1867} catch(Throwable t) {1868fail("SingleMemberBooleanAcceptDef" + m + ": " + t);1869}1870}18711872static void checkSingleMemberStringAcceptDefParam(Method m) {1873try {1874checkSingleMemberStringAcceptDef((SingleMemberStringWithDef) m.getParameterAnnotations()[0][0], m);1875} catch(Throwable t) {1876fail("SingleMemberStringAcceptDef" + m + ": " + t);1877}1878}18791880static void checkSingleMemberClassAcceptDefParam(Method m) {1881try {1882checkSingleMemberClassAcceptDef((SingleMemberClassWithDef) m.getParameterAnnotations()[0][0], m);1883} catch(Throwable t) {1884fail("SingleMemberClassAcceptDef" + m + ": " + t);1885}1886}18871888static void checkSingleMemberEnumAcceptDefParam(Method m) {1889try {1890checkSingleMemberEnumAcceptDef((SingleMemberEnumWithDef) m.getParameterAnnotations()[0][0], m);1891} catch(Throwable t) {1892fail("SingleMemberEnumAcceptDef" + m + ": " + t);1893}1894}18951896// single-member array types (empty array) parameter1897static void checkSingleMemberByteArrEmptyParam(Method m) {1898try {1899checkSingleMemberByteArrEmpty((SingleMemberByteArray) m.getParameterAnnotations()[0][0], m);1900} catch(Throwable t) {1901fail("SingleMemberByteArrEmpty" + m + ": " + t);1902}1903}19041905static void checkSingleMemberShortArrEmptyParam(Method m) {1906try {1907checkSingleMemberShortArrEmpty((SingleMemberShortArray) m.getParameterAnnotations()[0][0], m);1908} catch(Throwable t) {1909fail("SingleMemberShortArrEmpty" + m + ": " + t);1910}1911}19121913static void checkSingleMemberIntArrEmptyParam(Method m) {1914try {1915checkSingleMemberIntArrEmpty((SingleMemberIntArray) m.getParameterAnnotations()[0][0], m);1916} catch(Throwable t) {1917fail("SingleMemberIntArrEmpty" + m + ": " + t);1918}1919}19201921static void checkSingleMemberLongArrEmptyParam(Method m) {1922try {1923checkSingleMemberLongArrEmpty((SingleMemberLongArray) m.getParameterAnnotations()[0][0], m);1924} catch(Throwable t) {1925fail("SingleMemberLongArrEmpty" + m + ": " + t);1926}1927}19281929static void checkSingleMemberCharArrEmptyParam(Method m) {1930try {1931checkSingleMemberCharArrEmpty((SingleMemberCharArray) m.getParameterAnnotations()[0][0], m);1932} catch(Throwable t) {1933fail("SingleMemberCharArrEmpty" + m + ": " + t);1934}1935}19361937static void checkSingleMemberFloatArrEmptyParam(Method m) {1938try {1939checkSingleMemberFloatArrEmpty((SingleMemberFloatArray) m.getParameterAnnotations()[0][0], m);1940} catch(Throwable t) {1941fail("SingleMemberFloatArrEmpty" + m + ": " + t);1942}1943}19441945static void checkSingleMemberDoubleArrEmptyParam(Method m) {1946try {1947checkSingleMemberDoubleArrEmpty((SingleMemberDoubleArray) m.getParameterAnnotations()[0][0], m);1948} catch(Throwable t) {1949fail("SingleMemberDoubleArrEmpty" + m + ": " + t);1950}1951}19521953static void checkSingleMemberBooleanArrEmptyParam(Method m) {1954try {1955checkSingleMemberBooleanArrEmpty((SingleMemberBooleanArray) m.getParameterAnnotations()[0][0], m);1956} catch(Throwable t) {1957fail("SingleMemberBooleanArrEmpty" + m + ": " + t);1958}1959}19601961static void checkSingleMemberStringArrEmptyParam(Method m) {1962try {1963checkSingleMemberStringArrEmpty((SingleMemberStringArray) m.getParameterAnnotations()[0][0], m);1964} catch(Throwable t) {1965fail("SingleMemberStringArrEmpty" + m + ": " + t);1966}1967}19681969static void checkSingleMemberClassArrEmptyParam(Method m) {1970try {1971checkSingleMemberClassArrEmpty((SingleMemberClassArray) m.getParameterAnnotations()[0][0], m);1972} catch(Throwable t) {1973fail("SingleMemberClassArrEmpty" + m + ": " + t);1974}1975}19761977static void checkSingleMemberEnumArrEmptyParam(Method m) {1978try {1979checkSingleMemberEnumArrEmpty((SingleMemberEnumArray) m.getParameterAnnotations()[0][0], m);1980} catch(Throwable t) {1981fail("SingleMemberEnumArrEmpty" + m + ": " + t);1982}1983}19841985// single-member array types (one-element array) on parameter1986static void checkSingleMemberByteArrOneParam(Method m) {1987try {1988checkSingleMemberByteArrOne((SingleMemberByteArray) m.getParameterAnnotations()[0][0], m);1989} catch(Throwable t) {1990fail("SingleMemberByteArrOne" + m + ": " + t);1991}1992}19931994static void checkSingleMemberShortArrOneParam(Method m) {1995try {1996checkSingleMemberShortArrOne((SingleMemberShortArray) m.getParameterAnnotations()[0][0], m);1997} catch(Throwable t) {1998fail("SingleMemberShortArrOne" + m + ": " + t);1999}2000}20012002static void checkSingleMemberIntArrOneParam(Method m) {2003try {2004checkSingleMemberIntArrOne((SingleMemberIntArray) m.getParameterAnnotations()[0][0], m);2005} catch(Throwable t) {2006fail("SingleMemberIntArrOne" + m + ": " + t);2007}2008}20092010static void checkSingleMemberLongArrOneParam(Method m) {2011try {2012checkSingleMemberLongArrOne((SingleMemberLongArray) m.getParameterAnnotations()[0][0], m);2013} catch(Throwable t) {2014fail("SingleMemberLongArrOne" + m + ": " + t);2015}2016}20172018static void checkSingleMemberCharArrOneParam(Method m) {2019try {2020checkSingleMemberCharArrOne((SingleMemberCharArray) m.getParameterAnnotations()[0][0], m);2021} catch(Throwable t) {2022fail("SingleMemberCharArrOne" + m + ": " + t);2023}2024}20252026static void checkSingleMemberFloatArrOneParam(Method m) {2027try {2028checkSingleMemberFloatArrOne((SingleMemberFloatArray) m.getParameterAnnotations()[0][0], m);2029} catch(Throwable t) {2030fail("SingleMemberFloatArrOne" + m + ": " + t);2031}2032}20332034static void checkSingleMemberDoubleArrOneParam(Method m) {2035try {2036checkSingleMemberDoubleArrOne((SingleMemberDoubleArray) m.getParameterAnnotations()[0][0], m);2037} catch(Throwable t) {2038fail("SingleMemberDoubleArrOne" + m + ": " + t);2039}2040}20412042static void checkSingleMemberBooleanArrOneParam(Method m) {2043try {2044checkSingleMemberBooleanArrOne((SingleMemberBooleanArray) m.getParameterAnnotations()[0][0], m);2045} catch(Throwable t) {2046fail("SingleMemberBooleanArrOne" + m + ": " + t);2047}2048}20492050static void checkSingleMemberStringArrOneParam(Method m) {2051try {2052checkSingleMemberStringArrOne((SingleMemberStringArray) m.getParameterAnnotations()[0][0], m);2053} catch(Throwable t) {2054fail("SingleMemberStringArrOne" + m + ": " + t);2055}2056}20572058static void checkSingleMemberClassArrOneParam(Method m) {2059try {2060checkSingleMemberClassArrOne((SingleMemberClassArray) m.getParameterAnnotations()[0][0], m);2061} catch(Throwable t) {2062fail("SingleMemberClassArrOne" + m + ": " + t);2063}2064}20652066static void checkSingleMemberEnumArrOneParam(Method m) {2067try {2068checkSingleMemberEnumArrOne((SingleMemberEnumArray) m.getParameterAnnotations()[0][0], m);2069} catch(Throwable t) {2070fail("SingleMemberEnumArrOne" + m + ": " + t);2071}2072}20732074// single-member array types (two-element array) on parameter2075static void checkSingleMemberByteArrTwoParam(Method m) {2076try {2077checkSingleMemberByteArrTwo((SingleMemberByteArray) m.getParameterAnnotations()[0][0], m);2078} catch(Throwable t) {2079fail("SingleMemberByteArrTwo" + m + ": " + t);2080}2081}20822083static void checkSingleMemberShortArrTwoParam(Method m) {2084try {2085checkSingleMemberShortArrTwo((SingleMemberShortArray) m.getParameterAnnotations()[0][0], m);2086} catch(Throwable t) {2087fail("SingleMemberShortArrTwo" + m + ": " + t);2088}2089}20902091static void checkSingleMemberIntArrTwoParam(Method m) {2092try {2093checkSingleMemberIntArrTwo((SingleMemberIntArray) m.getParameterAnnotations()[0][0], m);2094} catch(Throwable t) {2095fail("SingleMemberIntArrTwo" + m + ": " + t);2096}2097}20982099static void checkSingleMemberLongArrTwoParam(Method m) {2100try {2101checkSingleMemberLongArrTwo((SingleMemberLongArray) m.getParameterAnnotations()[0][0], m);2102} catch(Throwable t) {2103fail("SingleMemberLongArrTwo" + m + ": " + t);2104}2105}21062107static void checkSingleMemberCharArrTwoParam(Method m) {2108try {2109checkSingleMemberCharArrTwo((SingleMemberCharArray) m.getParameterAnnotations()[0][0], m);2110} catch(Throwable t) {2111fail("SingleMemberCharArrTwo" + m + ": " + t);2112}2113}21142115static void checkSingleMemberFloatArrTwoParam(Method m) {2116try {2117checkSingleMemberFloatArrTwo((SingleMemberFloatArray) m.getParameterAnnotations()[0][0], m);2118} catch(Throwable t) {2119fail("SingleMemberFloatArrTwo" + m + ": " + t);2120}2121}21222123static void checkSingleMemberDoubleArrTwoParam(Method m) {2124try {2125checkSingleMemberDoubleArrTwo((SingleMemberDoubleArray) m.getParameterAnnotations()[0][0], m);2126} catch(Throwable t) {2127fail("SingleMemberDoubleArrTwo" + m + ": " + t);2128}2129}21302131static void checkSingleMemberBooleanArrTwoParam(Method m) {2132try {2133checkSingleMemberBooleanArrTwo((SingleMemberBooleanArray) m.getParameterAnnotations()[0][0], m);2134} catch(Throwable t) {2135fail("SingleMemberBooleanArrTwo" + m + ": " + t);2136}2137}21382139static void checkSingleMemberStringArrTwoParam(Method m) {2140try {2141checkSingleMemberStringArrTwo((SingleMemberStringArray) m.getParameterAnnotations()[0][0], m);2142} catch(Throwable t) {2143fail("SingleMemberStringArrTwo" + m + ": " + t);2144}2145}21462147static void checkSingleMemberClassArrTwoParam(Method m) {2148try {2149checkSingleMemberClassArrTwo((SingleMemberClassArray) m.getParameterAnnotations()[0][0], m);2150} catch(Throwable t) {2151fail("SingleMemberClassArrTwo" + m + ": " + t);2152}2153}21542155static void checkSingleMemberEnumArrTwoParam(Method m) {2156try {2157checkSingleMemberEnumArrTwo((SingleMemberEnumArray) m.getParameterAnnotations()[0][0], m);2158} catch(Throwable t) {2159fail("SingleMemberEnumArrTwo" + m + ": " + t);2160}2161}21622163// single-member array types with default (override)on parameter2164static void checkSingleMemberByteArrOvrdDefParam(Method m) {2165try {2166checkSingleMemberByteArrOvrdDef((SingleMemberByteArrayDef) m.getParameterAnnotations()[0][0], m);2167} catch(Throwable t) {2168fail("SingleMemberByteArrOvrdDef" + m + ": " + t);2169}2170}21712172static void checkSingleMemberShortArrOvrdDefParam(Method m) {2173try {2174checkSingleMemberShortArrOvrdDef((SingleMemberShortArrayDef) m.getParameterAnnotations()[0][0], m);2175} catch(Throwable t) {2176fail("SingleMemberShortArrOvrdDef" + m + ": " + t);2177}2178}21792180static void checkSingleMemberIntArrOvrdDefParam(Method m) {2181try {2182checkSingleMemberIntArrOvrdDef((SingleMemberIntArrayDef) m.getParameterAnnotations()[0][0], m);2183} catch(Throwable t) {2184fail("SingleMemberIntArrOvrdDef" + m + ": " + t);2185}2186}21872188static void checkSingleMemberLongArrOvrdDefParam(Method m) {2189try {2190checkSingleMemberLongArrOvrdDef((SingleMemberLongArrayDef) m.getParameterAnnotations()[0][0], m);2191} catch(Throwable t) {2192fail("SingleMemberLongArrOvrdDef" + m + ": " + t);2193}2194}21952196static void checkSingleMemberCharArrOvrdDefParam(Method m) {2197try {2198checkSingleMemberCharArrOvrdDef((SingleMemberCharArrayDef) m.getParameterAnnotations()[0][0], m);2199} catch(Throwable t) {2200fail("SingleMemberCharArrOvrdDef" + m + ": " + t);2201}2202}22032204static void checkSingleMemberFloatArrOvrdDefParam(Method m) {2205try {2206checkSingleMemberFloatArrOvrdDef((SingleMemberFloatArrayDef) m.getParameterAnnotations()[0][0], m);2207} catch(Throwable t) {2208fail("SingleMemberFloatArrOvrdDef" + m + ": " + t);2209}2210}22112212static void checkSingleMemberDoubleArrOvrdDefParam(Method m) {2213try {2214checkSingleMemberDoubleArrOvrdDef((SingleMemberDoubleArrayDef) m.getParameterAnnotations()[0][0], m);2215} catch(Throwable t) {2216fail("SingleMemberDoubleArrOvrdDef" + m + ": " + t);2217}2218}22192220static void checkSingleMemberBooleanArrOvrdDefParam(Method m) {2221try {2222checkSingleMemberBooleanArrOvrdDef((SingleMemberBooleanArrayDef) m.getParameterAnnotations()[0][0], m);2223} catch(Throwable t) {2224fail("SingleMemberBooleanArrOvrdDef" + m + ": " + t);2225}2226}22272228static void checkSingleMemberStringArrOvrdDefParam(Method m) {2229try {2230checkSingleMemberStringArrOvrdDef((SingleMemberStringArrayDef) m.getParameterAnnotations()[0][0], m);2231} catch(Throwable t) {2232fail("SingleMemberStringArrOvrdDef" + m + ": " + t);2233}2234}22352236static void checkSingleMemberClassArrOvrdDefParam(Method m) {2237try {2238checkSingleMemberClassArrOvrdDef((SingleMemberClassArrayDef) m.getParameterAnnotations()[0][0], m);2239} catch(Throwable t) {2240fail("SingleMemberClassArrOvrdDef" + m + ": " + t);2241}2242}22432244static void checkSingleMemberEnumArrOvrdDefParam(Method m) {2245try {2246checkSingleMemberEnumArrOvrdDef((SingleMemberEnumArrayDef) m.getParameterAnnotations()[0][0], m);2247} catch(Throwable t) {2248fail("SingleMemberEnumArrOvrdDef" + m + ": " + t);2249}2250}22512252// single-member array types with default (accept)on parameter2253static void checkSingleMemberByteArrAcceptDefParam(Method m) {2254try {2255checkSingleMemberByteArrAcceptDef((SingleMemberByteArrayDef) m.getParameterAnnotations()[0][0], m);2256} catch(Throwable t) {2257fail("SingleMemberByteArrAcceptDef" + m + ": " + t);2258}2259}22602261static void checkSingleMemberShortArrAcceptDefParam(Method m) {2262try {2263checkSingleMemberShortArrAcceptDef((SingleMemberShortArrayDef) m.getParameterAnnotations()[0][0], m);2264} catch(Throwable t) {2265fail("SingleMemberShortArrAcceptDef" + m + ": " + t);2266}2267}22682269static void checkSingleMemberIntArrAcceptDefParam(Method m) {2270try {2271checkSingleMemberIntArrAcceptDef((SingleMemberIntArrayDef) m.getParameterAnnotations()[0][0], m);2272} catch(Throwable t) {2273fail("SingleMemberIntArrAcceptDef" + m + ": " + t);2274}2275}22762277static void checkSingleMemberLongArrAcceptDefParam(Method m) {2278try {2279checkSingleMemberLongArrAcceptDef((SingleMemberLongArrayDef) m.getParameterAnnotations()[0][0], m);2280} catch(Throwable t) {2281fail("SingleMemberLongArrAcceptDef" + m + ": " + t);2282}2283}22842285static void checkSingleMemberCharArrAcceptDefParam(Method m) {2286try {2287checkSingleMemberCharArrAcceptDef((SingleMemberCharArrayDef) m.getParameterAnnotations()[0][0], m);2288} catch(Throwable t) {2289fail("SingleMemberCharArrAcceptDef" + m + ": " + t);2290}2291}22922293static void checkSingleMemberFloatArrAcceptDefParam(Method m) {2294try {2295checkSingleMemberFloatArrAcceptDef((SingleMemberFloatArrayDef) m.getParameterAnnotations()[0][0], m);2296} catch(Throwable t) {2297fail("SingleMemberFloatArrAcceptDef" + m + ": " + t);2298}2299}23002301static void checkSingleMemberDoubleArrAcceptDefParam(Method m) {2302try {2303checkSingleMemberDoubleArrAcceptDef((SingleMemberDoubleArrayDef) m.getParameterAnnotations()[0][0], m);2304} catch(Throwable t) {2305fail("SingleMemberDoubleArrAcceptDef" + m + ": " + t);2306}2307}23082309static void checkSingleMemberBooleanArrAcceptDefParam(Method m) {2310try {2311checkSingleMemberBooleanArrAcceptDef((SingleMemberBooleanArrayDef) m.getParameterAnnotations()[0][0], m);2312} catch(Throwable t) {2313fail("SingleMemberBooleanArrAcceptDef" + m + ": " + t);2314}2315}23162317static void checkSingleMemberStringArrAcceptDefParam(Method m) {2318try {2319checkSingleMemberStringArrAcceptDef((SingleMemberStringArrayDef) m.getParameterAnnotations()[0][0], m);2320} catch(Throwable t) {2321fail("SingleMemberStringArrAcceptDef" + m + ": " + t);2322}2323}23242325static void checkSingleMemberClassArrAcceptDefParam(Method m) {2326try {2327checkSingleMemberClassArrAcceptDef((SingleMemberClassArrayDef) m.getParameterAnnotations()[0][0], m);2328} catch(Throwable t) {2329fail("SingleMemberClassArrAcceptDef" + m + ": " + t);2330}2331}23322333static void checkSingleMemberEnumArrAcceptDefParam(Method m) {2334try {2335checkSingleMemberEnumArrAcceptDef((SingleMemberEnumArrayDef) m.getParameterAnnotations()[0][0], m);2336} catch(Throwable t) {2337fail("SingleMemberEnumArrAcceptDef" + m + ": " + t);2338}2339}23402341// Marker2342static void checkMarker(AnnotatedElement e) {2343checkMarker(e.getAnnotation(Marker.class), e);2344}2345static void checkMarker(Marker m, AnnotatedElement e) {2346numTests++;2347try {2348if (m == null) fail("Marker " + e);2349} catch(Throwable t) {2350fail("Marker " + e + ": " + t);2351}2352}23532354// Single-member23552356static void checkSingleMemberByte(AnnotatedElement e) {2357checkSingleMemberByte(e.getAnnotation(SingleMemberByte.class), e);2358}2359static void checkSingleMemberByte(SingleMemberByte a, AnnotatedElement e) {2360numTests++;2361try {2362if (a.value() != 1) fail("SingleMemberByte " + e + " = " + a.value());2363} catch(Throwable t) {2364fail("SingleMemberByte " + e + ": " + t);2365}2366}23672368static void checkSingleMemberShort(AnnotatedElement e) {2369checkSingleMemberShort(e.getAnnotation(SingleMemberShort.class), e);2370}2371static void checkSingleMemberShort(SingleMemberShort a, AnnotatedElement e) {2372numTests++;2373try {2374if (a.value() != 2) fail("SingleMemberShort " + e + " = " + a.value());2375} catch(Throwable t) {2376fail("SingleMemberShort " + e + ": " + t);2377}2378}23792380static void checkSingleMemberInt(AnnotatedElement e) {2381checkSingleMemberInt(e.getAnnotation(SingleMemberInt.class), e);2382}2383static void checkSingleMemberInt(SingleMemberInt a, AnnotatedElement e) {2384numTests++;2385try {2386if (a.value() != 3) fail("SingleMemberInt " + e + " = " + a.value());2387} catch(Throwable t) {2388fail("SingleMemberInt " + e + ": " + t);2389}2390}23912392static void checkSingleMemberLong(AnnotatedElement e) {2393checkSingleMemberLong(e.getAnnotation(SingleMemberLong.class), e);2394}2395static void checkSingleMemberLong(SingleMemberLong a, AnnotatedElement e) {2396numTests++;2397try {2398if (a.value() != 4L) fail("SingleMemberLong " + e + " = " + a.value());2399} catch(Throwable t) {2400fail("SingleMemberLong " + e + ": " + t);2401}2402}24032404static void checkSingleMemberChar(AnnotatedElement e) {2405checkSingleMemberChar(e.getAnnotation(SingleMemberChar.class), e);2406}2407static void checkSingleMemberChar(SingleMemberChar a, AnnotatedElement e) {2408numTests++;2409try {2410if (a.value() != '5') fail("SingleMemberChar " + e + " = " + a.value());2411} catch(Throwable t) {2412fail("SingleMemberChar " + e + ": " + t);2413}2414}24152416static void checkSingleMemberFloat(AnnotatedElement e) {2417checkSingleMemberFloat(e.getAnnotation(SingleMemberFloat.class), e);2418}2419static void checkSingleMemberFloat(SingleMemberFloat a, AnnotatedElement e) {2420numTests++;2421try {2422if (a.value() != 6.0f) fail("SingleMemberFloat " + e + " = " + a.value());2423} catch(Throwable t) {2424fail("SingleMemberFloat " + e + ": " + t);2425}2426}24272428static void checkSingleMemberDouble(AnnotatedElement e) {2429checkSingleMemberDouble(e.getAnnotation(SingleMemberDouble.class), e);2430}2431static void checkSingleMemberDouble(SingleMemberDouble a, AnnotatedElement e) {2432numTests++;2433try {2434if (a.value() != 7.0) fail("SingleMemberDouble " + e + " = " + a.value());2435} catch(Throwable t) {2436fail("SingleMemberDouble " + e + ": " + t);2437}2438}24392440static void checkSingleMemberBoolean(AnnotatedElement e) {2441checkSingleMemberBoolean(e.getAnnotation(SingleMemberBoolean.class), e);2442}2443static void checkSingleMemberBoolean(SingleMemberBoolean a, AnnotatedElement e) {2444numTests++;2445try {2446if (!a.value()) fail("SingleMemberBoolean " + e + " = " + a.value());2447} catch(Throwable t) {2448fail("SingleMemberBoolean " + e + ": " + t);2449}2450}24512452static void checkSingleMemberString(AnnotatedElement e) {2453checkSingleMemberString(e.getAnnotation(SingleMemberString.class), e);2454}2455static void checkSingleMemberString(SingleMemberString a, AnnotatedElement e) {2456numTests++;2457try {2458if (!(a.value().equals("custom"))) fail("SingleMemberString " + e + " = " + a.value());2459} catch(Throwable t) {2460fail("SingleMemberString " + e + ": " + t);2461}2462}24632464static void checkSingleMemberClass(AnnotatedElement e) {2465checkSingleMemberClass(e.getAnnotation(SingleMemberClass.class), e);2466}2467static void checkSingleMemberClass(SingleMemberClass a, AnnotatedElement e) {2468numTests++;2469try {2470if (a.value() != Map.class) fail("SingleMemberClass " + e + " = " + a.value());2471} catch(Throwable t) {2472fail("SingleMemberClass " + e + ": " + t);2473}2474}24752476static void checkSingleMemberEnum(AnnotatedElement e) {2477checkSingleMemberEnum(e.getAnnotation(SingleMemberEnum.class), e);2478}2479static void checkSingleMemberEnum(SingleMemberEnum a, AnnotatedElement e) {2480numTests++;2481try {2482if (a.value() != Stooge.MOE) fail("SingleMemberEnum " + e + " = " + a.value());2483} catch(Throwable t) {2484fail("SingleMemberEnum " + e + ": " + t);2485}2486}24872488// Single-member with default (Override)24892490static void checkSingleMemberByteOvrdDef(AnnotatedElement e) {2491checkSingleMemberByteOvrdDef(e.getAnnotation(SingleMemberByteWithDef.class), e);2492}2493static void checkSingleMemberByteOvrdDef(SingleMemberByteWithDef a, AnnotatedElement e) {2494numTests++;2495try {2496if (a.value() != 1) fail("SingleMemberByteOvrdDef " + e + " = " + a.value());2497} catch(Throwable t) {2498fail("SingleMemberByteOvrdDef " + e + ": " + t);2499}2500}25012502static void checkSingleMemberShortOvrdDef(AnnotatedElement e) {2503checkSingleMemberShortOvrdDef(e.getAnnotation(SingleMemberShortWithDef.class), e);2504}2505static void checkSingleMemberShortOvrdDef(SingleMemberShortWithDef a, AnnotatedElement e) {2506numTests++;2507try {2508if (a.value() != 2) fail("SingleMemberShortOvrdDef " + e + " = " + a.value());2509} catch(Throwable t) {2510fail("SingleMemberShortOvrdDef " + e + ": " + t);2511}2512}25132514static void checkSingleMemberIntOvrdDef(AnnotatedElement e) {2515checkSingleMemberIntOvrdDef(e.getAnnotation(SingleMemberIntWithDef.class), e);2516}2517static void checkSingleMemberIntOvrdDef(SingleMemberIntWithDef a, AnnotatedElement e) {2518numTests++;2519try {2520if (a.value() != 3) fail("SingleMemberIntOvrdDef " + e + " = " + a.value());2521} catch(Throwable t) {2522fail("SingleMemberIntOvrdDef " + e + ": " + t);2523}2524}25252526static void checkSingleMemberLongOvrdDef(AnnotatedElement e) {2527checkSingleMemberLongOvrdDef(e.getAnnotation(SingleMemberLongWithDef.class), e);2528}2529static void checkSingleMemberLongOvrdDef(SingleMemberLongWithDef a, AnnotatedElement e) {2530numTests++;2531try {2532if (a.value() != 4L) fail("SingleMemberLongOvrdDef " + e + " = " + a.value());2533} catch(Throwable t) {2534fail("SingleMemberLongOvrdDef " + e + ": " + t);2535}2536}25372538static void checkSingleMemberCharOvrdDef(AnnotatedElement e) {2539checkSingleMemberCharOvrdDef(e.getAnnotation(SingleMemberCharWithDef.class), e);2540}2541static void checkSingleMemberCharOvrdDef(SingleMemberCharWithDef a, AnnotatedElement e) {2542numTests++;2543try {2544if (a.value() != '5') fail("SingleMemberCharOvrdDef " + e + " = " + a.value());2545} catch(Throwable t) {2546fail("SingleMemberCharOvrdDef " + e + ": " + t);2547}2548}25492550static void checkSingleMemberFloatOvrdDef(AnnotatedElement e) {2551checkSingleMemberFloatOvrdDef(e.getAnnotation(SingleMemberFloatWithDef.class), e);2552}2553static void checkSingleMemberFloatOvrdDef(SingleMemberFloatWithDef a, AnnotatedElement e) {2554numTests++;2555try {2556if (a.value() != 6.0f) fail("SingleMemberFloatOvrdDef " + e + " = " + a.value());2557} catch(Throwable t) {2558fail("SingleMemberFloatOvrdDef " + e + ": " + t);2559}2560}25612562static void checkSingleMemberDoubleOvrdDef(AnnotatedElement e) {2563checkSingleMemberDoubleOvrdDef(e.getAnnotation(SingleMemberDoubleWithDef.class), e);2564}2565static void checkSingleMemberDoubleOvrdDef(SingleMemberDoubleWithDef a, AnnotatedElement e) {2566numTests++;2567try {2568if (a.value() != 7.0) fail("SingleMemberDoubleOvrdDef " + e + " = " + a.value());2569} catch(Throwable t) {2570fail("SingleMemberDoubleOvrdDef " + e + ": " + t);2571}2572}25732574static void checkSingleMemberBooleanOvrdDef(AnnotatedElement e) {2575checkSingleMemberBooleanOvrdDef(e.getAnnotation(SingleMemberBooleanWithDef.class), e);2576}2577static void checkSingleMemberBooleanOvrdDef(SingleMemberBooleanWithDef a, AnnotatedElement e) {2578numTests++;2579try {2580if (!a.value()) fail("SingleMemberBooleanOvrdDef " + e + " = " + a.value());2581} catch(Throwable t) {2582fail("SingleMemberBooleanOvrdDef " + e + ": " + t);2583}2584}25852586static void checkSingleMemberStringOvrdDef(AnnotatedElement e) {2587checkSingleMemberStringOvrdDef(e.getAnnotation(SingleMemberStringWithDef.class), e);2588}2589static void checkSingleMemberStringOvrdDef(SingleMemberStringWithDef a, AnnotatedElement e) {2590numTests++;2591try {2592if (!(a.value().equals("custom"))) fail("SingleMemberStringOvrdDef " + e + " = " + a.value());2593} catch(Throwable t) {2594fail("SingleMemberStringOvrdDef " + e + ": " + t);2595}2596}25972598static void checkSingleMemberClassOvrdDef(AnnotatedElement e) {2599checkSingleMemberClassOvrdDef(e.getAnnotation(SingleMemberClassWithDef.class), e);2600}2601static void checkSingleMemberClassOvrdDef(SingleMemberClassWithDef a, AnnotatedElement e) {2602numTests++;2603try {2604if (a.value() != Map.class) fail("SingleMemberClassOvrdDef " + e + " = " + a.value());2605} catch(Throwable t) {2606fail("SingleMemberClassOvrdDef " + e + ": " + t);2607}2608}26092610static void checkSingleMemberEnumOvrdDef(AnnotatedElement e) {2611checkSingleMemberEnumOvrdDef(e.getAnnotation(SingleMemberEnumWithDef.class), e);2612}2613static void checkSingleMemberEnumOvrdDef(SingleMemberEnumWithDef a, AnnotatedElement e) {2614numTests++;2615try {2616if (a.value() != Stooge.MOE) fail("SingleMemberEnumOvrdDef " + e + " = " + a.value());2617} catch(Throwable t) {2618fail("SingleMemberEnumOvrdDef " + e + ": " + t);2619}2620}26212622// Single-member with default (Accept)26232624static void checkSingleMemberByteAcceptDef(AnnotatedElement e) {2625checkSingleMemberByteAcceptDef(e.getAnnotation(SingleMemberByteWithDef.class), e);2626}2627static void checkSingleMemberByteAcceptDef(SingleMemberByteWithDef a, AnnotatedElement e) {2628numTests++;2629try {2630if (a.value() != 11) fail("SingleMemberByteAcceptDef " + e + " = " + a.value());2631} catch(Throwable t) {2632fail("SingleMemberByteAcceptDef " + e + ": " + t);2633}2634}26352636static void checkSingleMemberShortAcceptDef(AnnotatedElement e) {2637checkSingleMemberShortAcceptDef(e.getAnnotation(SingleMemberShortWithDef.class), e);2638}2639static void checkSingleMemberShortAcceptDef(SingleMemberShortWithDef a, AnnotatedElement e) {2640numTests++;2641try {2642if (a.value() != 12) fail("SingleMemberShortAcceptDef " + e + " = " + a.value());2643} catch(Throwable t) {2644fail("SingleMemberShortAcceptDef " + e + ": " + t);2645}2646}26472648static void checkSingleMemberIntAcceptDef(AnnotatedElement e) {2649checkSingleMemberIntAcceptDef(e.getAnnotation(SingleMemberIntWithDef.class), e);2650}2651static void checkSingleMemberIntAcceptDef(SingleMemberIntWithDef a, AnnotatedElement e) {2652numTests++;2653try {2654if (a.value() != 13) fail("SingleMemberIntAcceptDef " + e + " = " + a.value());2655} catch(Throwable t) {2656fail("SingleMemberIntAcceptDef " + e + ": " + t);2657}2658}26592660static void checkSingleMemberLongAcceptDef(AnnotatedElement e) {2661checkSingleMemberLongAcceptDef(e.getAnnotation(SingleMemberLongWithDef.class), e);2662}2663static void checkSingleMemberLongAcceptDef(SingleMemberLongWithDef a, AnnotatedElement e) {2664numTests++;2665try {2666if (a.value() != 14L) fail("SingleMemberLongAcceptDef " + e + " = " + a.value());2667} catch(Throwable t) {2668fail("SingleMemberLongAcceptDef " + e + ": " + t);2669}2670}26712672static void checkSingleMemberCharAcceptDef(AnnotatedElement e) {2673checkSingleMemberCharAcceptDef(e.getAnnotation(SingleMemberCharWithDef.class), e);2674}2675static void checkSingleMemberCharAcceptDef(SingleMemberCharWithDef a, AnnotatedElement e) {2676numTests++;2677try {2678if (a.value() != 'V') fail("SingleMemberCharAcceptDef " + e + " = " + a.value());2679} catch(Throwable t) {2680fail("SingleMemberCharAcceptDef " + e + ": " + t);2681}2682}26832684static void checkSingleMemberFloatAcceptDef(AnnotatedElement e) {2685checkSingleMemberFloatAcceptDef(e.getAnnotation(SingleMemberFloatWithDef.class), e);2686}2687static void checkSingleMemberFloatAcceptDef(SingleMemberFloatWithDef a, AnnotatedElement e) {2688numTests++;2689try {2690if (a.value() != 16.0f) fail("SingleMemberFloatAcceptDef " + e + " = " + a.value());2691} catch(Throwable t) {2692fail("SingleMemberFloatAcceptDef " + e + ": " + t);2693}2694}26952696static void checkSingleMemberDoubleAcceptDef(AnnotatedElement e) {2697checkSingleMemberDoubleAcceptDef(e.getAnnotation(SingleMemberDoubleWithDef.class), e);2698}2699static void checkSingleMemberDoubleAcceptDef(SingleMemberDoubleWithDef a, AnnotatedElement e) {2700numTests++;2701try {2702if (a.value() != 17.0) fail("SingleMemberDoubleAcceptDef " + e + " = " + a.value());2703} catch(Throwable t) {2704fail("SingleMemberDoubleAcceptDef " + e + ": " + t);2705}2706}27072708static void checkSingleMemberBooleanAcceptDef(AnnotatedElement e) {2709checkSingleMemberBooleanAcceptDef(e.getAnnotation(SingleMemberBooleanWithDef.class), e);2710}2711static void checkSingleMemberBooleanAcceptDef(SingleMemberBooleanWithDef a, AnnotatedElement e) {2712numTests++;2713try {2714if (a.value()) fail("SingleMemberBooleanAcceptDef " + e + " = " + a.value());2715} catch(Throwable t) {2716fail("SingleMemberBooleanAcceptDef " + e + ": " + t);2717}2718}27192720static void checkSingleMemberStringAcceptDef(AnnotatedElement e) {2721checkSingleMemberStringAcceptDef(e.getAnnotation(SingleMemberStringWithDef.class), e);2722}2723static void checkSingleMemberStringAcceptDef(SingleMemberStringWithDef a, AnnotatedElement e) {2724numTests++;2725try {2726if (!(a.value().equals("default"))) fail("SingleMemberStringAcceptDef " + e + " = " + a.value());2727} catch(Throwable t) {2728fail("SingleMemberStringAcceptDef " + e + ": " + t);2729}2730}27312732static void checkSingleMemberClassAcceptDef(AnnotatedElement e) {2733checkSingleMemberClassAcceptDef(e.getAnnotation(SingleMemberClassWithDef.class), e);2734}2735static void checkSingleMemberClassAcceptDef(SingleMemberClassWithDef a, AnnotatedElement e) {2736numTests++;2737try {2738if (a.value() != Class.class) fail("SingleMemberClassAcceptDef " + e + " = " + a.value());2739} catch(Throwable t) {2740fail("SingleMemberClassAcceptDef " + e + ": " + t);2741}2742}27432744static void checkSingleMemberEnumAcceptDef(AnnotatedElement e) {2745checkSingleMemberEnumAcceptDef(e.getAnnotation(SingleMemberEnumWithDef.class), e);2746}2747static void checkSingleMemberEnumAcceptDef(SingleMemberEnumWithDef a, AnnotatedElement e) {2748numTests++;2749try {2750if (a.value() != Stooge.LARRY) fail("SingleMemberEnumAcceptDef " + e + " = " + a.value());2751} catch(Throwable t) {2752fail("SingleMemberEnumAcceptDef " + e + ": " + t);2753}2754}27552756// Single member array (empty array)2757static void checkSingleMemberByteArrEmpty(AnnotatedElement e) {2758checkSingleMemberByteArrEmpty(e.getAnnotation(SingleMemberByteArray.class), e);2759}2760static void checkSingleMemberByteArrEmpty(SingleMemberByteArray a, AnnotatedElement e) {2761numTests++;2762try {2763if (a.value().length != 0) fail("SingleMemberByteArrEmpty " + e + " = " + a.value());2764} catch(Throwable t) {2765fail("SingleMemberByteArrEmpty " + e + ": " + t);2766}2767}27682769static void checkSingleMemberShortArrEmpty(AnnotatedElement e) {2770checkSingleMemberShortArrEmpty(e.getAnnotation(SingleMemberShortArray.class), e);2771}2772static void checkSingleMemberShortArrEmpty(SingleMemberShortArray a, AnnotatedElement e) {2773numTests++;2774try {2775if (a.value().length != 0) fail("SingleMemberShortArrEmpty " + e + " = " + a.value());2776} catch(Throwable t) {2777fail("SingleMemberShortArrEmpty " + e + ": " + t);2778}2779}27802781static void checkSingleMemberIntArrEmpty(AnnotatedElement e) {2782checkSingleMemberIntArrEmpty(e.getAnnotation(SingleMemberIntArray.class), e);2783}2784static void checkSingleMemberIntArrEmpty(SingleMemberIntArray a, AnnotatedElement e) {2785numTests++;2786try {2787if (a.value().length != 0) fail("SingleMemberIntArrEmpty " + e + " = " + a.value());2788} catch(Throwable t) {2789fail("SingleMemberIntArrEmpty " + e + ": " + t);2790}2791}27922793static void checkSingleMemberLongArrEmpty(AnnotatedElement e) {2794checkSingleMemberLongArrEmpty(e.getAnnotation(SingleMemberLongArray.class), e);2795}2796static void checkSingleMemberLongArrEmpty(SingleMemberLongArray a, AnnotatedElement e) {2797numTests++;2798try {2799if (a.value().length != 0) fail("SingleMemberLongArrEmpty " + e + " = " + a.value());2800} catch(Throwable t) {2801fail("SingleMemberLongArrEmpty " + e + ": " + t);2802}2803}28042805static void checkSingleMemberCharArrEmpty(AnnotatedElement e) {2806checkSingleMemberCharArrEmpty(e.getAnnotation(SingleMemberCharArray.class), e);2807}2808static void checkSingleMemberCharArrEmpty(SingleMemberCharArray a, AnnotatedElement e) {2809numTests++;2810try {2811if (a.value().length != 0) fail("SingleMemberCharArrEmpty " + e + " = " + a.value());2812} catch(Throwable t) {2813fail("SingleMemberCharArrEmpty " + e + ": " + t);2814}2815}28162817static void checkSingleMemberFloatArrEmpty(AnnotatedElement e) {2818checkSingleMemberFloatArrEmpty(e.getAnnotation(SingleMemberFloatArray.class), e);2819}2820static void checkSingleMemberFloatArrEmpty(SingleMemberFloatArray a, AnnotatedElement e) {2821numTests++;2822try {2823if (a.value().length != 0) fail("SingleMemberFloatArrEmpty " + e + " = " + a.value());2824} catch(Throwable t) {2825fail("SingleMemberFloatArrEmpty " + e + ": " + t);2826}2827}28282829static void checkSingleMemberDoubleArrEmpty(AnnotatedElement e) {2830checkSingleMemberDoubleArrEmpty(e.getAnnotation(SingleMemberDoubleArray.class), e);2831}2832static void checkSingleMemberDoubleArrEmpty(SingleMemberDoubleArray a, AnnotatedElement e) {2833numTests++;2834try {2835if (a.value().length != 0) fail("SingleMemberDoubleArrEmpty " + e + " = " + a.value());2836} catch(Throwable t) {2837fail("SingleMemberDoubleArrEmpty " + e + ": " + t);2838}2839}28402841static void checkSingleMemberBooleanArrEmpty(AnnotatedElement e) {2842checkSingleMemberBooleanArrEmpty(e.getAnnotation(SingleMemberBooleanArray.class), e);2843}2844static void checkSingleMemberBooleanArrEmpty(SingleMemberBooleanArray a, AnnotatedElement e) {2845numTests++;2846try {2847if (a.value().length != 0) fail("SingleMemberBooleanArrEmpty " + e + " = " + a.value());2848} catch(Throwable t) {2849fail("SingleMemberBooleanArrEmpty " + e + ": " + t);2850}2851}28522853static void checkSingleMemberStringArrEmpty(AnnotatedElement e) {2854checkSingleMemberStringArrEmpty(e.getAnnotation(SingleMemberStringArray.class), e);2855}2856static void checkSingleMemberStringArrEmpty(SingleMemberStringArray a, AnnotatedElement e) {2857numTests++;2858try {2859if (a.value().length != 0) fail("SingleMemberStringArrEmpty " + e + " = " + a.value());2860} catch(Throwable t) {2861fail("SingleMemberStringArrEmpty " + e + ": " + t);2862}2863}28642865static void checkSingleMemberClassArrEmpty(AnnotatedElement e) {2866checkSingleMemberClassArrEmpty(e.getAnnotation(SingleMemberClassArray.class), e);2867}2868static void checkSingleMemberClassArrEmpty(SingleMemberClassArray a, AnnotatedElement e) {2869numTests++;2870try {2871if (a.value().length != 0) fail("SingleMemberClassArrEmpty " + e + " = " + a.value());2872} catch(Throwable t) {2873fail("SingleMemberClassArrEmpty " + e + ": " + t);2874}2875}28762877static void checkSingleMemberEnumArrEmpty(AnnotatedElement e) {2878checkSingleMemberEnumArrEmpty(e.getAnnotation(SingleMemberEnumArray.class), e);2879}2880static void checkSingleMemberEnumArrEmpty(SingleMemberEnumArray a, AnnotatedElement e) {2881numTests++;2882try {2883if (a.value().length != 0) fail("SingleMemberEnumArrEmpty " + e + " = " + a.value());2884} catch(Throwable t) {2885fail("SingleMemberEnumArrEmpty " + e + ": " + t);2886}2887}28882889// Single member array (one element array)2890static void checkSingleMemberByteArrOne(AnnotatedElement e) {2891checkSingleMemberByteArrOne(e.getAnnotation(SingleMemberByteArray.class), e);2892}2893static void checkSingleMemberByteArrOne(SingleMemberByteArray a, AnnotatedElement e) {2894numTests++;2895try {2896if (a.value().length != 1 || a.value()[0] != (byte)1)2897fail("SingleMemberByteArrOne " + e + " = " + a.value());2898} catch(Throwable t) {2899fail("SingleMemberByteArrOne " + e + ": " + t);2900}2901}29022903static void checkSingleMemberShortArrOne(AnnotatedElement e) {2904checkSingleMemberShortArrOne(e.getAnnotation(SingleMemberShortArray.class), e);2905}2906static void checkSingleMemberShortArrOne(SingleMemberShortArray a, AnnotatedElement e) {2907numTests++;2908try {2909if (a.value().length != 1 || a.value()[0] != (short)2)2910fail("SingleMemberShortArrOne " + e + " = " + a.value());2911} catch(Throwable t) {2912fail("SingleMemberShortArrOne " + e + ": " + t);2913}2914}29152916static void checkSingleMemberIntArrOne(AnnotatedElement e) {2917checkSingleMemberIntArrOne(e.getAnnotation(SingleMemberIntArray.class), e);2918}2919static void checkSingleMemberIntArrOne(SingleMemberIntArray a, AnnotatedElement e) {2920numTests++;2921try {2922if (a.value().length != 1 || a.value()[0] != 3)2923fail("SingleMemberIntArrOne " + e + " = " + a.value());2924} catch(Throwable t) {2925fail("SingleMemberIntArrOne " + e + ": " + t);2926}2927}29282929static void checkSingleMemberLongArrOne(AnnotatedElement e) {2930checkSingleMemberLongArrOne(e.getAnnotation(SingleMemberLongArray.class), e);2931}2932static void checkSingleMemberLongArrOne(SingleMemberLongArray a, AnnotatedElement e) {2933numTests++;2934try {2935if (a.value().length != 1 || a.value()[0] != 4L)2936fail("SingleMemberLongArrOne " + e + " = " + a.value());2937} catch(Throwable t) {2938fail("SingleMemberLongArrOne " + e + ": " + t);2939}2940}29412942static void checkSingleMemberCharArrOne(AnnotatedElement e) {2943checkSingleMemberCharArrOne(e.getAnnotation(SingleMemberCharArray.class), e);2944}2945static void checkSingleMemberCharArrOne(SingleMemberCharArray a, AnnotatedElement e) {2946numTests++;2947try {2948if (a.value().length != 1 || a.value()[0] != '5')2949fail("SingleMemberCharArrOne " + e + " = " + a.value());2950} catch(Throwable t) {2951fail("SingleMemberCharArrOne " + e + ": " + t);2952}2953}29542955static void checkSingleMemberFloatArrOne(AnnotatedElement e) {2956checkSingleMemberFloatArrOne(e.getAnnotation(SingleMemberFloatArray.class), e);2957}2958static void checkSingleMemberFloatArrOne(SingleMemberFloatArray a, AnnotatedElement e) {2959numTests++;2960try {2961if (a.value().length != 1 || a.value()[0] != 6.0f)2962fail("SingleMemberFloatArrOne " + e + " = " + a.value());2963} catch(Throwable t) {2964fail("SingleMemberFloatArrOne " + e + ": " + t);2965}2966}29672968static void checkSingleMemberDoubleArrOne(AnnotatedElement e) {2969checkSingleMemberDoubleArrOne(e.getAnnotation(SingleMemberDoubleArray.class), e);2970}2971static void checkSingleMemberDoubleArrOne(SingleMemberDoubleArray a, AnnotatedElement e) {2972numTests++;2973try {2974if (a.value().length != 1 || a.value()[0] != 7.0)2975fail("SingleMemberDoubleArrOne " + e + " = " + a.value());2976} catch(Throwable t) {2977fail("SingleMemberDoubleArrOne " + e + ": " + t);2978}2979}29802981static void checkSingleMemberBooleanArrOne(AnnotatedElement e) {2982checkSingleMemberBooleanArrOne(e.getAnnotation(SingleMemberBooleanArray.class), e);2983}2984static void checkSingleMemberBooleanArrOne(SingleMemberBooleanArray a, AnnotatedElement e) {2985numTests++;2986try {2987if (a.value().length != 1 || !a.value()[0])2988fail("SingleMemberBooleanArrOne " + e + " = " + a.value());2989} catch(Throwable t) {2990fail("SingleMemberBooleanArrOne " + e + ": " + t);2991}2992}29932994static void checkSingleMemberStringArrOne(AnnotatedElement e) {2995checkSingleMemberStringArrOne(e.getAnnotation(SingleMemberStringArray.class), e);2996}2997static void checkSingleMemberStringArrOne(SingleMemberStringArray a, AnnotatedElement e) {2998numTests++;2999try {3000if (a.value().length != 1 || !(a.value()[0].equals("custom")))3001fail("SingleMemberStringArrOne " + e + " = " + a.value());3002} catch(Throwable t) {3003fail("SingleMemberStringArrOne " + e + ": " + t);3004}3005}30063007static void checkSingleMemberClassArrOne(AnnotatedElement e) {3008checkSingleMemberClassArrOne(e.getAnnotation(SingleMemberClassArray.class), e);3009}3010static void checkSingleMemberClassArrOne(SingleMemberClassArray a, AnnotatedElement e) {3011numTests++;3012try {3013if (a.value().length != 1 || a.value()[0] != Map.class)3014fail("SingleMemberClassArrOne " + e + " = " + a.value());3015} catch(Throwable t) {3016fail("SingleMemberClassArrOne " + e + ": " + t);3017}3018}30193020static void checkSingleMemberEnumArrOne(AnnotatedElement e) {3021checkSingleMemberEnumArrOne(e.getAnnotation(SingleMemberEnumArray.class), e);3022}3023static void checkSingleMemberEnumArrOne(SingleMemberEnumArray a, AnnotatedElement e) {3024numTests++;3025try {3026if (a.value().length != 1 || a.value()[0] != Stooge.MOE)3027fail("SingleMemberEnumArrOne " + e + " = " + a.value());3028} catch(Throwable t) {3029fail("SingleMemberEnumArrOne " + e + ": " + t);3030}3031}30323033// Single member array (two element array)3034static void checkSingleMemberByteArrTwo(AnnotatedElement e) {3035checkSingleMemberByteArrTwo(e.getAnnotation(SingleMemberByteArray.class), e);3036}3037static void checkSingleMemberByteArrTwo(SingleMemberByteArray a, AnnotatedElement e) {3038numTests++;3039try {3040if (a.value().length != 2 || a.value()[0] != (byte)1 || a.value()[1] != (byte)2)3041fail("SingleMemberByteArrTwo " + e + " = " + a.value());3042} catch(Throwable t) {3043fail("SingleMemberByteArrTwo " + e + ": " + t);3044}3045}30463047static void checkSingleMemberShortArrTwo(AnnotatedElement e) {3048checkSingleMemberShortArrTwo(e.getAnnotation(SingleMemberShortArray.class), e);3049}3050static void checkSingleMemberShortArrTwo(SingleMemberShortArray a, AnnotatedElement e) {3051numTests++;3052try {3053if (a.value().length != 2 || a.value()[0] != (short)2 || a.value()[1] != (short)3)3054fail("SingleMemberShortArrTwo " + e + " = " + a.value());3055} catch(Throwable t) {3056fail("SingleMemberShortArrTwo " + e + ": " + t);3057}3058}30593060static void checkSingleMemberIntArrTwo(AnnotatedElement e) {3061checkSingleMemberIntArrTwo(e.getAnnotation(SingleMemberIntArray.class), e);3062}3063static void checkSingleMemberIntArrTwo(SingleMemberIntArray a, AnnotatedElement e) {3064numTests++;3065try {3066if (a.value().length != 2 || a.value()[0] != 3 || a.value()[1] != 4)3067fail("SingleMemberIntArrTwo " + e + " = " + a.value());3068} catch(Throwable t) {3069fail("SingleMemberIntArrTwo " + e + ": " + t);3070}3071}30723073static void checkSingleMemberLongArrTwo(AnnotatedElement e) {3074checkSingleMemberLongArrTwo(e.getAnnotation(SingleMemberLongArray.class), e);3075}3076static void checkSingleMemberLongArrTwo(SingleMemberLongArray a, AnnotatedElement e) {3077numTests++;3078try {3079if (a.value().length != 2 || a.value()[0] != 4L || a.value()[1] != 5L)3080fail("SingleMemberLongArrTwo " + e + " = " + a.value());3081} catch(Throwable t) {3082fail("SingleMemberLongArrTwo " + e + ": " + t);3083}3084}30853086static void checkSingleMemberCharArrTwo(AnnotatedElement e) {3087checkSingleMemberCharArrTwo(e.getAnnotation(SingleMemberCharArray.class), e);3088}3089static void checkSingleMemberCharArrTwo(SingleMemberCharArray a, AnnotatedElement e) {3090numTests++;3091try {3092if (a.value().length != 2 || a.value()[0] != '5' || a.value()[1] != '6')3093fail("SingleMemberCharArrTwo " + e + " = " + a.value());3094} catch(Throwable t) {3095fail("SingleMemberCharArrTwo " + e + ": " + t);3096}3097}30983099static void checkSingleMemberFloatArrTwo(AnnotatedElement e) {3100checkSingleMemberFloatArrTwo(e.getAnnotation(SingleMemberFloatArray.class), e);3101}3102static void checkSingleMemberFloatArrTwo(SingleMemberFloatArray a, AnnotatedElement e) {3103numTests++;3104try {3105if (a.value().length != 2 || a.value()[0] != 6.0f || a.value()[1] != 7.0f)3106fail("SingleMemberFloatArrTwo " + e + " = " + a.value());3107} catch(Throwable t) {3108fail("SingleMemberFloatArrTwo " + e + ": " + t);3109}3110}31113112static void checkSingleMemberDoubleArrTwo(AnnotatedElement e) {3113checkSingleMemberDoubleArrTwo(e.getAnnotation(SingleMemberDoubleArray.class), e);3114}3115static void checkSingleMemberDoubleArrTwo(SingleMemberDoubleArray a, AnnotatedElement e) {3116numTests++;3117try {3118if (a.value().length != 2 || a.value()[0] != 7.0 || a.value()[1] != 8.0)3119fail("SingleMemberDoubleArrTwo " + e + " = " + a.value());3120} catch(Throwable t) {3121fail("SingleMemberDoubleArrTwo " + e + ": " + t);3122}3123}31243125static void checkSingleMemberBooleanArrTwo(AnnotatedElement e) {3126checkSingleMemberBooleanArrTwo(e.getAnnotation(SingleMemberBooleanArray.class), e);3127}3128static void checkSingleMemberBooleanArrTwo(SingleMemberBooleanArray a, AnnotatedElement e) {3129numTests++;3130try {3131if (a.value().length != 2 || !a.value()[0] || a.value()[1])3132fail("SingleMemberBooleanArrTwo " + e + " = " + a.value());3133} catch(Throwable t) {3134fail("SingleMemberBooleanArrTwo " + e + ": " + t);3135}3136}31373138static void checkSingleMemberStringArrTwo(AnnotatedElement e) {3139checkSingleMemberStringArrTwo(e.getAnnotation(SingleMemberStringArray.class), e);3140}3141static void checkSingleMemberStringArrTwo(SingleMemberStringArray a, AnnotatedElement e) {3142numTests++;3143try {3144if (a.value().length != 2 || !(a.value()[0].equals("custom")) || !(a.value()[1].equals("paint")))3145fail("SingleMemberStringArrTwo " + e + " = " + a.value());3146} catch(Throwable t) {3147fail("SingleMemberStringArrTwo " + e + ": " + t);3148}3149}31503151static void checkSingleMemberClassArrTwo(AnnotatedElement e) {3152checkSingleMemberClassArrTwo(e.getAnnotation(SingleMemberClassArray.class), e);3153}3154static void checkSingleMemberClassArrTwo(SingleMemberClassArray a, AnnotatedElement e) {3155numTests++;3156try {3157if (a.value().length != 2 || a.value()[0] != Map.class || a.value()[1] != Set.class)3158fail("SingleMemberClassArrTwo " + e + " = " + a.value());3159} catch(Throwable t) {3160fail("SingleMemberClassArrTwo " + e + ": " + t);3161}3162}31633164static void checkSingleMemberEnumArrTwo(AnnotatedElement e) {3165checkSingleMemberEnumArrTwo(e.getAnnotation(SingleMemberEnumArray.class), e);3166}3167static void checkSingleMemberEnumArrTwo(SingleMemberEnumArray a, AnnotatedElement e) {3168numTests++;3169try {3170if (a.value().length != 2 || a.value()[0] != Stooge.MOE || a.value()[1] != Stooge.CURLY)3171fail("SingleMemberEnumArrTwo " + e + " = " + a.value());3172} catch(Throwable t) {3173fail("SingleMemberEnumArrTwo " + e + ": " + t);3174}3175}31763177// Single member array with default (override)3178static void checkSingleMemberByteArrOvrdDef(AnnotatedElement e) {3179checkSingleMemberByteArrOvrdDef(e.getAnnotation(SingleMemberByteArrayDef.class), e);3180}3181static void checkSingleMemberByteArrOvrdDef(SingleMemberByteArrayDef a, AnnotatedElement e) {3182numTests++;3183try {3184if (a.value().length != 1 || a.value()[0] != (byte)1)3185fail("SingleMemberByteArrOvrdDef " + e + " = " + a.value());3186} catch(Throwable t) {3187fail("SingleMemberByteArrOvrdDef " + e + ": " + t);3188}3189}31903191static void checkSingleMemberShortArrOvrdDef(AnnotatedElement e) {3192checkSingleMemberShortArrOvrdDef(e.getAnnotation(SingleMemberShortArrayDef.class), e);3193}3194static void checkSingleMemberShortArrOvrdDef(SingleMemberShortArrayDef a, AnnotatedElement e) {3195numTests++;3196try {3197if (a.value().length != 1 || a.value()[0] != (short)2)3198fail("SingleMemberShortArrOvrdDef " + e + " = " + a.value());3199} catch(Throwable t) {3200fail("SingleMemberShortArrOvrdDef " + e + ": " + t);3201}3202}32033204static void checkSingleMemberIntArrOvrdDef(AnnotatedElement e) {3205checkSingleMemberIntArrOvrdDef(e.getAnnotation(SingleMemberIntArrayDef.class), e);3206}3207static void checkSingleMemberIntArrOvrdDef(SingleMemberIntArrayDef a, AnnotatedElement e) {3208numTests++;3209try {3210if (a.value().length != 1 || a.value()[0] != 3)3211fail("SingleMemberIntArrOvrdDef " + e + " = " + a.value());3212} catch(Throwable t) {3213fail("SingleMemberIntArrOvrdDef " + e + ": " + t);3214}3215}32163217static void checkSingleMemberLongArrOvrdDef(AnnotatedElement e) {3218checkSingleMemberLongArrOvrdDef(e.getAnnotation(SingleMemberLongArrayDef.class), e);3219}3220static void checkSingleMemberLongArrOvrdDef(SingleMemberLongArrayDef a, AnnotatedElement e) {3221numTests++;3222try {3223if (a.value().length != 1 || a.value()[0] != 4L)3224fail("SingleMemberLongArrOvrdDef " + e + " = " + a.value());3225} catch(Throwable t) {3226fail("SingleMemberLongArrOvrdDef " + e + ": " + t);3227}3228}32293230static void checkSingleMemberCharArrOvrdDef(AnnotatedElement e) {3231checkSingleMemberCharArrOvrdDef(e.getAnnotation(SingleMemberCharArrayDef.class), e);3232}3233static void checkSingleMemberCharArrOvrdDef(SingleMemberCharArrayDef a, AnnotatedElement e) {3234numTests++;3235try {3236if (a.value().length != 1 || a.value()[0] != '5')3237fail("SingleMemberCharArrOvrdDef " + e + " = " + a.value());3238} catch(Throwable t) {3239fail("SingleMemberCharArrOvrdDef " + e + ": " + t);3240}3241}32423243static void checkSingleMemberFloatArrOvrdDef(AnnotatedElement e) {3244checkSingleMemberFloatArrOvrdDef(e.getAnnotation(SingleMemberFloatArrayDef.class), e);3245}3246static void checkSingleMemberFloatArrOvrdDef(SingleMemberFloatArrayDef a, AnnotatedElement e) {3247numTests++;3248try {3249if (a.value().length != 1 || a.value()[0] != 6.0f)3250fail("SingleMemberFloatArrOvrdDef " + e + " = " + a.value());3251} catch(Throwable t) {3252fail("SingleMemberFloatArrOvrdDef " + e + ": " + t);3253}3254}32553256static void checkSingleMemberDoubleArrOvrdDef(AnnotatedElement e) {3257checkSingleMemberDoubleArrOvrdDef(e.getAnnotation(SingleMemberDoubleArrayDef.class), e);3258}3259static void checkSingleMemberDoubleArrOvrdDef(SingleMemberDoubleArrayDef a, AnnotatedElement e) {3260numTests++;3261try {3262if (a.value().length != 1 || a.value()[0] != 7.0)3263fail("SingleMemberDoubleArrOvrdDef " + e + " = " + a.value());3264} catch(Throwable t) {3265fail("SingleMemberDoubleArrOvrdDef " + e + ": " + t);3266}3267}32683269static void checkSingleMemberBooleanArrOvrdDef(AnnotatedElement e) {3270checkSingleMemberBooleanArrOvrdDef(e.getAnnotation(SingleMemberBooleanArrayDef.class), e);3271}3272static void checkSingleMemberBooleanArrOvrdDef(SingleMemberBooleanArrayDef a, AnnotatedElement e) {3273numTests++;3274try {3275if (a.value().length != 1 || !a.value()[0])3276fail("SingleMemberBooleanArrOvrdDef " + e + " = " + a.value());3277} catch(Throwable t) {3278fail("SingleMemberBooleanArrOvrdDef " + e + ": " + t);3279}3280}32813282static void checkSingleMemberStringArrOvrdDef(AnnotatedElement e) {3283checkSingleMemberStringArrOvrdDef(e.getAnnotation(SingleMemberStringArrayDef.class), e);3284}3285static void checkSingleMemberStringArrOvrdDef(SingleMemberStringArrayDef a, AnnotatedElement e) {3286numTests++;3287try {3288if (a.value().length != 1 || !(a.value()[0].equals("custom")))3289fail("SingleMemberStringArrOvrdDef " + e + " = " + a.value());3290} catch(Throwable t) {3291fail("SingleMemberStringArrOvrdDef " + e + ": " + t);3292}3293}32943295static void checkSingleMemberClassArrOvrdDef(AnnotatedElement e) {3296checkSingleMemberClassArrOvrdDef(e.getAnnotation(SingleMemberClassArrayDef.class), e);3297}3298static void checkSingleMemberClassArrOvrdDef(SingleMemberClassArrayDef a, AnnotatedElement e) {3299numTests++;3300try {3301if (a.value().length != 1 || a.value()[0] != Map.class)3302fail("SingleMemberClassArrOvrdDef " + e + " = " + a.value());3303} catch(Throwable t) {3304fail("SingleMemberClassArrOvrdDef " + e + ": " + t);3305}3306}33073308static void checkSingleMemberEnumArrOvrdDef(AnnotatedElement e) {3309checkSingleMemberEnumArrOvrdDef(e.getAnnotation(SingleMemberEnumArrayDef.class), e);3310}3311static void checkSingleMemberEnumArrOvrdDef(SingleMemberEnumArrayDef a, AnnotatedElement e) {3312numTests++;3313try {3314if (a.value().length != 1 || a.value()[0] != Stooge.MOE)3315fail("SingleMemberEnumArrOvrdDef " + e + " = " + a.value());3316} catch(Throwable t) {3317fail("SingleMemberEnumArrOvrdDef " + e + ": " + t);3318}3319}33203321// Single member array with default (accept)3322static void checkSingleMemberByteArrAcceptDef(AnnotatedElement e) {3323checkSingleMemberByteArrAcceptDef(e.getAnnotation(SingleMemberByteArrayDef.class), e);3324}3325static void checkSingleMemberByteArrAcceptDef(SingleMemberByteArrayDef a, AnnotatedElement e) {3326numTests++;3327try {3328if (a.value().length != 1 || a.value()[0] != (byte)11)3329fail("SingleMemberByteArrAcceptDef " + e + " = " + a.value());3330} catch(Throwable t) {3331fail("SingleMemberByteArrAcceptDef " + e + ": " + t);3332}3333}33343335static void checkSingleMemberShortArrAcceptDef(AnnotatedElement e) {3336checkSingleMemberShortArrAcceptDef(e.getAnnotation(SingleMemberShortArrayDef.class), e);3337}3338static void checkSingleMemberShortArrAcceptDef(SingleMemberShortArrayDef a, AnnotatedElement e) {3339numTests++;3340try {3341if (a.value().length != 1 || a.value()[0] != (short)12)3342fail("SingleMemberShortArrAcceptDef " + e + " = " + a.value());3343} catch(Throwable t) {3344fail("SingleMemberShortArrAcceptDef " + e + ": " + t);3345}3346}33473348static void checkSingleMemberIntArrAcceptDef(AnnotatedElement e) {3349checkSingleMemberIntArrAcceptDef(e.getAnnotation(SingleMemberIntArrayDef.class), e);3350}3351static void checkSingleMemberIntArrAcceptDef(SingleMemberIntArrayDef a, AnnotatedElement e) {3352numTests++;3353try {3354if (a.value().length != 1 || a.value()[0] != 13)3355fail("SingleMemberIntArrAcceptDef " + e + " = " + a.value());3356} catch(Throwable t) {3357fail("SingleMemberIntArrAcceptDef " + e + ": " + t);3358}3359}33603361static void checkSingleMemberLongArrAcceptDef(AnnotatedElement e) {3362checkSingleMemberLongArrAcceptDef(e.getAnnotation(SingleMemberLongArrayDef.class), e);3363}3364static void checkSingleMemberLongArrAcceptDef(SingleMemberLongArrayDef a, AnnotatedElement e) {3365numTests++;3366try {3367if (a.value().length != 1 || a.value()[0] != 14L)3368fail("SingleMemberLongArrAcceptDef " + e + " = " + a.value());3369} catch(Throwable t) {3370fail("SingleMemberLongArrAcceptDef " + e + ": " + t);3371}3372}33733374static void checkSingleMemberCharArrAcceptDef(AnnotatedElement e) {3375checkSingleMemberCharArrAcceptDef(e.getAnnotation(SingleMemberCharArrayDef.class), e);3376}3377static void checkSingleMemberCharArrAcceptDef(SingleMemberCharArrayDef a, AnnotatedElement e) {3378numTests++;3379try {3380if (a.value().length != 1 || a.value()[0] != 'V')3381fail("SingleMemberCharArrAcceptDef " + e + " = " + a.value());3382} catch(Throwable t) {3383fail("SingleMemberCharArrAcceptDef " + e + ": " + t);3384}3385}33863387static void checkSingleMemberFloatArrAcceptDef(AnnotatedElement e) {3388checkSingleMemberFloatArrAcceptDef(e.getAnnotation(SingleMemberFloatArrayDef.class), e);3389}3390static void checkSingleMemberFloatArrAcceptDef(SingleMemberFloatArrayDef a, AnnotatedElement e) {3391numTests++;3392try {3393if (a.value().length != 1 || a.value()[0] != 16.0f)3394fail("SingleMemberFloatArrAcceptDef " + e + " = " + a.value());3395} catch(Throwable t) {3396fail("SingleMemberFloatArrAcceptDef " + e + ": " + t);3397}3398}33993400static void checkSingleMemberDoubleArrAcceptDef(AnnotatedElement e) {3401checkSingleMemberDoubleArrAcceptDef(e.getAnnotation(SingleMemberDoubleArrayDef.class), e);3402}3403static void checkSingleMemberDoubleArrAcceptDef(SingleMemberDoubleArrayDef a, AnnotatedElement e) {3404numTests++;3405try {3406if (a.value().length != 1 || a.value()[0] != 17.0)3407fail("SingleMemberDoubleArrAcceptDef " + e + " = " + a.value());3408} catch(Throwable t) {3409fail("SingleMemberDoubleArrAcceptDef " + e + ": " + t);3410}3411}34123413static void checkSingleMemberBooleanArrAcceptDef(AnnotatedElement e) {3414checkSingleMemberBooleanArrAcceptDef(e.getAnnotation(SingleMemberBooleanArrayDef.class), e);3415}3416static void checkSingleMemberBooleanArrAcceptDef(SingleMemberBooleanArrayDef a, AnnotatedElement e) {3417numTests++;3418try {3419if (a.value().length != 1 || a.value()[0])3420fail("SingleMemberBooleanArrAcceptDef " + e + " = " + a.value());3421} catch(Throwable t) {3422fail("SingleMemberBooleanArrAcceptDef " + e + ": " + t);3423}3424}34253426static void checkSingleMemberStringArrAcceptDef(AnnotatedElement e) {3427checkSingleMemberStringArrAcceptDef(e.getAnnotation(SingleMemberStringArrayDef.class), e);3428}3429static void checkSingleMemberStringArrAcceptDef(SingleMemberStringArrayDef a, AnnotatedElement e) {3430numTests++;3431try {3432if (a.value().length != 1 || !(a.value()[0].equals("default")))3433fail("SingleMemberStringArrAcceptDef " + e + " = " + a.value());3434} catch(Throwable t) {3435fail("SingleMemberStringArrAcceptDef " + e + ": " + t);3436}3437}34383439static void checkSingleMemberClassArrAcceptDef(AnnotatedElement e) {3440checkSingleMemberClassArrAcceptDef(e.getAnnotation(SingleMemberClassArrayDef.class), e);3441}3442static void checkSingleMemberClassArrAcceptDef(SingleMemberClassArrayDef a, AnnotatedElement e) {3443numTests++;3444try {3445if (a.value().length != 1 || a.value()[0] != Class.class)3446fail("SingleMemberClassArrAcceptDef " + e + " = " + a.value());3447} catch(Throwable t) {3448fail("SingleMemberClassArrAcceptDef " + e + ": " + t);3449}3450}34513452static void checkSingleMemberEnumArrAcceptDef(AnnotatedElement e) {3453checkSingleMemberEnumArrAcceptDef(e.getAnnotation(SingleMemberEnumArrayDef.class), e);3454}3455static void checkSingleMemberEnumArrAcceptDef(SingleMemberEnumArrayDef a, AnnotatedElement e) {3456numTests++;3457try {3458if (a.value().length != 1 || a.value()[0] != Stooge.LARRY)3459fail("SingleMemberEnumArrAcceptDef " + e + " = " + a.value());3460} catch(Throwable t) {3461fail("SingleMemberEnumArrAcceptDef " + e + ": " + t);3462}3463}34643465// Verfification methods for equals/hashCode/serialization34663467static <T extends Annotation> void checkEquals(AnnotatedElement e1, AnnotatedElement e2, Class<T> annoType) {3468numTests++;3469T a1 = e1.getAnnotation(annoType);3470T a2 = e2.getAnnotation(annoType);3471try {3472if (!a1.equals(a2))3473fail(a1 + " != " + a2);3474if (a1.hashCode() != a2.hashCode())3475fail(a1 + ".hashCode() [" + a1.hashCode() + "] != " + a2 + " .hashCode()["+ a2.hashCode()+"]");3476if (!(a1.toString().equals(a2.toString())))3477fail(a1 + ".toString() != " + a2 + ".toString()");3478} catch(Throwable t) {3479fail(a1 + " == " + a2 + ": " + t);3480}3481}34823483static <T extends Annotation> void checkUnequals(AnnotatedElement e1, AnnotatedElement e2, Class<T> annoType) {3484numTests++;3485T a1 = e1.getAnnotation(annoType);3486T a2 = e2.getAnnotation(annoType);3487try {3488if (a1.equals(a2))3489fail(a1 + " == " + a2);3490if (a1.hashCode() == a2.hashCode())3491fail(a1 + ".hashCode() [" + a1.hashCode() + "] == " + a2 + " .hashCode()[" + a2.hashCode() + "]");3492if (a1.toString().equals(a2.toString()))3493fail(a1 + ".toString() == " + a2 + ".toString()");3494} catch(Throwable t) {3495fail(a1 + " != " + a2 + ": " + t);3496}3497}34983499// Verfification method for serialization/deserialization35003501static <T extends Annotation> void checkSerialization(AnnotatedElement e, Class<T> annoType) {3502numTests++;3503T a1 = e.getAnnotation(annoType);3504Object a2 = deepCopy(a1);3505try {3506if (!a1.equals(a2))3507fail("Serialization: " + a1 + " != " + a2);3508if (a1.hashCode() != a2.hashCode())3509fail("Serialization: " + a1 + ".hashCode() [" + a1.hashCode() + "] != " + a2 + " .hashCode()["+a2.hashCode()+"]");3510if (!(a1.toString().equals(a2.toString())))3511fail("Serialization: " + a1 + ".toString() != " + a2 + ".toString()");3512} catch(Throwable t) {3513fail("Serialization: " + a1 + " == " + a2 + ": " + t);3514}3515}35163517private static Object deepCopy(Object original) {3518try {3519ByteArrayOutputStream bos = new ByteArrayOutputStream();3520ObjectOutputStream oos = new ObjectOutputStream(bos);3521oos.writeObject(original);3522oos.flush();3523ByteArrayInputStream bin = new ByteArrayInputStream(3524bos.toByteArray());3525ObjectInputStream ois = new ObjectInputStream(bin);3526return ois.readObject();3527} catch(Exception e) {3528throw new IllegalArgumentException(e);3529}3530}35313532// Verification method for inheritance test3533static void checkInheritence(AnnotatedElement e, boolean shouldHaveFoo, boolean shouldHaveBar) {3534numTests++;3535try {3536boolean hasFoo = e.isAnnotationPresent(Foo.class);3537boolean hasBar = e.isAnnotationPresent(Bar.class);3538if (hasFoo != shouldHaveFoo || hasBar != shouldHaveBar)3539fail("Inheritance(1): " + e +" - Foo: " + hasFoo + ", Bar: " + hasBar);35403541// Now test getAnnotations3542hasFoo = hasBar = false;3543Annotation[] allAnnotations = e.getAnnotations();3544for (Annotation a : allAnnotations) {3545if (a instanceof Foo)3546hasFoo = true;3547else if (a instanceof Bar)3548hasBar = true;3549}3550if (hasFoo != shouldHaveFoo ||hasBar != shouldHaveBar)3551fail("Inheritance(2): " + e +" - Foo: " + hasFoo + ", Bar: " + hasBar);3552} catch(Throwable t) {3553fail("Inheritance: " + e +": " + t);3554}3555}35563557// Verification method for declared annotations test3558static void checkDeclaredAnnotations(AnnotatedElement e, boolean shouldHaveFoo, boolean shouldHaveBar) {3559numTests++;3560try {3561boolean hasFoo = false;3562boolean hasBar = false;3563Annotation[] declaredAnnotations = e.getDeclaredAnnotations();3564for (Annotation a : declaredAnnotations) {3565if (a instanceof Foo)3566hasFoo = true;3567else if (a instanceof Bar)3568hasBar = true;3569}3570if (hasFoo != shouldHaveFoo ||hasBar != shouldHaveBar)3571fail("Declared annotations: " + e +" - Foo: " + hasFoo + ", Bar: " + hasBar);3572} catch(Throwable t) {3573fail("Declared annotations: " + e +": " + t);3574}3575}357635773578// ANNOTATED METHODS35793580@ScalarTypes (3581b = 1,3582s = 2,3583i = 3,3584l = 4L,3585c = '5',3586f = 6.0f,3587d = 7.0,3588bool = true,3589str = "custom",3590cls = Map.class,3591e = Stooge.MOE,3592a = @Point(x = 1, y = 2)3593)3594public void scalarTypesMethod() { }35953596@ScalarTypesWithDefault ( )3597public void scalarTypesAcceptDefaultMethod() { }35983599@ScalarTypesWithDefault (3600b = 1,3601s = 2,3602i = 3,3603l = 4L,3604c = '5',3605f = 6.0f,3606d = 7.0,3607bool = true,3608str = "custom",3609cls = Map.class,3610e = Stooge.MOE3611)3612public void scalarTypesOverrideDefaultMethod() { }36133614@ArrayTypes (3615b = { },3616s = { },3617i = { },3618l = { },3619c = { },3620f = { },3621d = { },3622bool = { },3623str = { },3624cls = { },3625e = { },3626a = { }3627)3628public void emptyArrayTypesMethod() { }36293630@ArrayTypes (3631b = 1,3632s = 2,3633i = 3,3634l = 4L,3635c = '5',3636f = 6.0f,3637d = 7.0,3638bool = true,3639str = "custom",3640cls = Map.class,3641e = Stooge.MOE,3642a = { @Point(x = 1, y = 2) }3643)3644public void singleElementArrayTypesMethod() { }36453646@ArrayTypes (3647b = { 1, 2 },3648s = { 2, 3 },3649i = { 3, 4 },3650l = { 4L, 5L },3651c = { '5', '6' },3652f = { 6.0f, 7.0f },3653d = { 7.0, 8.0 },3654bool = { true, false },3655str = { "custom", "paint" },3656cls = { Map.class, Set.class },3657e = { Stooge.MOE, Stooge.CURLY },3658a = { @Point(x = 1, y = 2), @Point(x = 3, y = 4) }3659)3660public void twoElementArrayTypesMethod() { }36613662@ArrayTypesWithDefault (3663)3664public void arrayTypesAcceptDefaultMethod() { }36653666@ArrayTypesWithDefault (3667b = 1,3668s = 2,3669i = 3,3670l = 4L,3671c = '5',3672f = 6.0f,3673d = 7.0,3674bool = true,3675str = "custom",3676cls = Map.class,3677e = Stooge.MOE,3678a = { @Point(x = 1, y = 2) }3679)3680public void arrayTypesOverrideDefaultMethod() { }36813682// Marker3683@Marker public void markerMethod() { }36843685// Single-member (shorthand)3686@SingleMemberByte(1) public void SingleMemberByte() {}3687@SingleMemberShort(2) public void SingleMemberShort() {}3688@SingleMemberInt(3) public void SingleMemberInt() {}3689@SingleMemberLong(4L) public void SingleMemberLong() {}3690@SingleMemberChar('5') public void SingleMemberChar() {}3691@SingleMemberFloat(6.0f) public void SingleMemberFloat() {}3692@SingleMemberDouble(7.0) public void SingleMemberDouble() {}3693@SingleMemberBoolean(true) public void SingleMemberBoolean() {}3694@SingleMemberString("custom") public void SingleMemberString() {}3695@SingleMemberClass(Map.class) public void SingleMemberClass() {}3696@SingleMemberEnum(Stooge.MOE) public void SingleMemberEnum() {}36973698// Single-member with default (Override)3699@SingleMemberByteWithDef(1) public void SingleMemberByteOvrdDef() {}3700@SingleMemberShortWithDef(2) public void SingleMemberShortOvrdDef() {}3701@SingleMemberIntWithDef(3) public void SingleMemberIntOvrdDef() {}3702@SingleMemberLongWithDef(4L) public void SingleMemberLongOvrdDef() {}3703@SingleMemberCharWithDef('5') public void SingleMemberCharOvrdDef() {}3704@SingleMemberFloatWithDef(6.0f) public void SingleMemberFloatOvrdDef() {}3705@SingleMemberDoubleWithDef(7.0) public void SingleMemberDoubleOvrdDef() {}3706@SingleMemberBooleanWithDef(true) public void SingleMemberBooleanOvrdDef() {}3707@SingleMemberStringWithDef("custom") public void SingleMemberStringOvrdDef() {}3708@SingleMemberClassWithDef(Map.class) public void SingleMemberClassOvrdDef() {}3709@SingleMemberEnumWithDef(Stooge.MOE) public void SingleMemberEnumOvrdDef() {}37103711// Single-member with default (Accept)3712@SingleMemberByteWithDef public void SingleMemberByteAcceptDef() {}3713@SingleMemberShortWithDef public void SingleMemberShortAcceptDef() {}3714@SingleMemberIntWithDef public void SingleMemberIntAcceptDef() {}3715@SingleMemberLongWithDef public void SingleMemberLongAcceptDef() {}3716@SingleMemberCharWithDef public void SingleMemberCharAcceptDef() {}3717@SingleMemberFloatWithDef public void SingleMemberFloatAcceptDef() {}3718@SingleMemberDoubleWithDef public void SingleMemberDoubleAcceptDef() {}3719@SingleMemberBooleanWithDef public void SingleMemberBooleanAcceptDef() {}3720@SingleMemberStringWithDef public void SingleMemberStringAcceptDef() {}3721@SingleMemberClassWithDef public void SingleMemberClassAcceptDef() {}3722@SingleMemberEnumWithDef public void SingleMemberEnumAcceptDef() {}37233724// Single member array (empty array)3725@SingleMemberByteArray({}) public void SingleMemberByteArrEmpty() {}3726@SingleMemberShortArray({}) public void SingleMemberShortArrEmpty() {}3727@SingleMemberIntArray({}) public void SingleMemberIntArrEmpty() {}3728@SingleMemberLongArray({}) public void SingleMemberLongArrEmpty() {}3729@SingleMemberCharArray({}) public void SingleMemberCharArrEmpty() {}3730@SingleMemberFloatArray({}) public void SingleMemberFloatArrEmpty() {}3731@SingleMemberDoubleArray({}) public void SingleMemberDoubleArrEmpty() {}3732@SingleMemberBooleanArray({})public void SingleMemberBooleanArrEmpty() {}3733@SingleMemberStringArray({}) public void SingleMemberStringArrEmpty() {}3734@SingleMemberClassArray({}) public void SingleMemberClassArrEmpty() {}3735@SingleMemberEnumArray({}) public void SingleMemberEnumArrEmpty() {}37363737// Single member array (one-element shorthand)3738@SingleMemberByteArray(1) public void SingleMemberByteArrOne() {}3739@SingleMemberShortArray(2) public void SingleMemberShortArrOne() {}3740@SingleMemberIntArray(3) public void SingleMemberIntArrOne() {}3741@SingleMemberLongArray(4L) public void SingleMemberLongArrOne() {}3742@SingleMemberCharArray('5') public void SingleMemberCharArrOne() {}3743@SingleMemberFloatArray(6.0f) public void SingleMemberFloatArrOne() {}3744@SingleMemberDoubleArray(7.0) public void SingleMemberDoubleArrOne() {}3745@SingleMemberBooleanArray(true) public void SingleMemberBooleanArrOne() {}3746@SingleMemberStringArray("custom") public void SingleMemberStringArrOne() {}3747@SingleMemberClassArray(Map.class) public void SingleMemberClassArrOne() {}3748@SingleMemberEnumArray(Stooge.MOE) public void SingleMemberEnumArrOne() {}37493750// Single member array (two elements)3751@SingleMemberByteArray({1, 2}) public void SingleMemberByteArrTwo() {}3752@SingleMemberShortArray({2, 3}) public void SingleMemberShortArrTwo() {}3753@SingleMemberIntArray({3, 4}) public void SingleMemberIntArrTwo() {}3754@SingleMemberLongArray({4L, 5L}) public void SingleMemberLongArrTwo() {}3755@SingleMemberCharArray({'5', '6'}) public void SingleMemberCharArrTwo() {}3756@SingleMemberFloatArray({6.0f, 7.0f}) public void SingleMemberFloatArrTwo() {}3757@SingleMemberDoubleArray({7.0, 8.0}) public void SingleMemberDoubleArrTwo() {}3758@SingleMemberBooleanArray({true, false}) public void SingleMemberBooleanArrTwo(){}3759@SingleMemberStringArray({"custom", "paint"}) public void SingleMemberStringArrTwo(){}3760@SingleMemberClassArray({Map.class, Set.class}) public void SingleMemberClassArrTwo() {}3761@SingleMemberEnumArray({Stooge.MOE, Stooge.CURLY}) public void SingleMemberEnumArrTwo() {}37623763// Single member array with default (override)3764@SingleMemberByteArrayDef(1) public void SingleMemberByteArrOvrdDef() {}3765@SingleMemberShortArrayDef(2) public void SingleMemberShortArrOvrdDef() {}3766@SingleMemberIntArrayDef(3) public void SingleMemberIntArrOvrdDef() {}3767@SingleMemberLongArrayDef(4L) public void SingleMemberLongArrOvrdDef() {}3768@SingleMemberCharArrayDef('5') public void SingleMemberCharArrOvrdDef() {}3769@SingleMemberFloatArrayDef(6.0f) public void SingleMemberFloatArrOvrdDef() {}3770@SingleMemberDoubleArrayDef(7.0) public void SingleMemberDoubleArrOvrdDef() {}3771@SingleMemberBooleanArrayDef(true) public void SingleMemberBooleanArrOvrdDef(){}3772@SingleMemberStringArrayDef("custom") public void SingleMemberStringArrOvrdDef() {}3773@SingleMemberClassArrayDef(Map.class) public void SingleMemberClassArrOvrdDef() {}3774@SingleMemberEnumArrayDef(Stooge.MOE) public void SingleMemberEnumArrOvrdDef() {}37753776// Single member array with default - accept3777@SingleMemberByteArrayDef public void SingleMemberByteArrAcceptDef() {}3778@SingleMemberShortArrayDef public void SingleMemberShortArrAcceptDef() {}3779@SingleMemberIntArrayDef public void SingleMemberIntArrAcceptDef() {}3780@SingleMemberLongArrayDef public void SingleMemberLongArrAcceptDef() {}3781@SingleMemberCharArrayDef public void SingleMemberCharArrAcceptDef() {}3782@SingleMemberFloatArrayDef public void SingleMemberFloatArrAcceptDef() {}3783@SingleMemberDoubleArrayDef public void SingleMemberDoubleArrAcceptDef() {}3784@SingleMemberBooleanArrayDef public void SingleMemberBooleanArrAcceptDef() {}3785@SingleMemberStringArrayDef public void SingleMemberStringArrAcceptDef() {}3786@SingleMemberClassArrayDef public void SingleMemberClassArrAcceptDef() {}3787@SingleMemberEnumArrayDef public void SingleMemberEnumArrAcceptDef() {}37883789// ANNOTATED FIELDS3790@ScalarTypes (3791b = 1,3792s = 2,3793i = 3,3794l = 4L,3795c = '5',3796f = 6.0f,3797d = 7.0,3798bool = true,3799str = "custom",3800cls = Map.class,3801e = Stooge.MOE,3802a = @Point(x = 1, y = 2)3803)3804public int scalarTypesField;38053806@ScalarTypesWithDefault ( )3807public int scalarTypesAcceptDefaultField;38083809@ScalarTypesWithDefault (3810b = 1,3811s = 2,3812i = 3,3813l = 4L,3814c = '5',3815f = 6.0f,3816d = 7.0,3817bool = true,3818str = "custom",3819cls = Map.class,3820e = Stooge.MOE3821)3822public int scalarTypesOverrideDefaultField;38233824@ArrayTypes (3825b = { },3826s = { },3827i = { },3828l = { },3829c = { },3830f = { },3831d = { },3832bool = { },3833str = { },3834cls = { },3835e = { },3836a = { }3837)3838public int emptyArrayTypesField;38393840@ArrayTypes (3841b = 1,3842s = 2,3843i = 3,3844l = 4L,3845c = '5',3846f = 6.0f,3847d = 7.0,3848bool = true,3849str = "custom",3850cls = Map.class,3851e = Stooge.MOE,3852a = { @Point(x = 1, y = 2) }3853)3854public int singleElementArrayTypesField;38553856@ArrayTypes (3857b = { 1, 2 },3858s = { 2, 3 },3859i = { 3, 4 },3860l = { 4L, 5L },3861c = { '5', '6' },3862f = { 6.0f, 7.0f },3863d = { 7.0, 8.0 },3864bool = { true, false },3865str = { "custom", "paint" },3866cls = { Map.class, Set.class },3867e = { Stooge.MOE, Stooge.CURLY },3868a = { @Point(x = 1, y = 2), @Point(x = 3, y = 4) }3869)3870public int twoElementArrayTypesField;38713872@ArrayTypesWithDefault ( )3873public int arrayTypesAcceptDefaultField;38743875@ArrayTypesWithDefault (3876b = 1,3877s = 2,3878i = 3,3879l = 4L,3880c = '5',3881f = 6.0f,3882d = 7.0,3883bool = true,3884str = "custom",3885cls = Map.class,3886e = Stooge.MOE,3887a = { @Point(x = 1, y = 2) }3888)3889public int arrayTypesOverrideDefaultField;38903891@Marker public int markerField;38923893// Single-member (shorthand)3894@SingleMemberByte(1) public int SingleMemberByteField;3895@SingleMemberShort(2) public int SingleMemberShortField;3896@SingleMemberInt(3) public int SingleMemberIntField;3897@SingleMemberLong(4L) public int SingleMemberLongField;3898@SingleMemberChar('5') public int SingleMemberCharField;3899@SingleMemberFloat(6.0f) public int SingleMemberFloatField;3900@SingleMemberDouble(7.0) public int SingleMemberDoubleField;3901@SingleMemberBoolean(true) public int SingleMemberBooleanField;3902@SingleMemberString("custom") public int SingleMemberStringField;3903@SingleMemberClass(Map.class) public int SingleMemberClassField;3904@SingleMemberEnum(Stooge.MOE) public int SingleMemberEnumField;39053906// Single-member with default (Override)3907@SingleMemberByteWithDef(1) public int SingleMemberByteOvrdDefField;3908@SingleMemberShortWithDef(2) public int SingleMemberShortOvrdDefField;3909@SingleMemberIntWithDef(3) public int SingleMemberIntOvrdDefField;3910@SingleMemberLongWithDef(4L) public int SingleMemberLongOvrdDefField;3911@SingleMemberCharWithDef('5') public int SingleMemberCharOvrdDefField;3912@SingleMemberFloatWithDef(6.0f) public int SingleMemberFloatOvrdDefField;3913@SingleMemberDoubleWithDef(7.0) public int SingleMemberDoubleOvrdDefField;3914@SingleMemberBooleanWithDef(true) public int SingleMemberBooleanOvrdDefField;3915@SingleMemberStringWithDef("custom") public int SingleMemberStringOvrdDefField;3916@SingleMemberClassWithDef(Map.class) public int SingleMemberClassOvrdDefField;3917@SingleMemberEnumWithDef(Stooge.MOE) public int SingleMemberEnumOvrdDefField;39183919// Single-member with default (Accept)3920@SingleMemberByteWithDef public int SingleMemberByteAcceptDefField;3921@SingleMemberShortWithDef public int SingleMemberShortAcceptDefField;3922@SingleMemberIntWithDef public int SingleMemberIntAcceptDefField;3923@SingleMemberLongWithDef public int SingleMemberLongAcceptDefField;3924@SingleMemberCharWithDef public int SingleMemberCharAcceptDefField;3925@SingleMemberFloatWithDef public int SingleMemberFloatAcceptDefField;3926@SingleMemberDoubleWithDef public int SingleMemberDoubleAcceptDefField;3927@SingleMemberBooleanWithDef public int SingleMemberBooleanAcceptDefField;3928@SingleMemberStringWithDef public int SingleMemberStringAcceptDefField;3929@SingleMemberClassWithDef public int SingleMemberClassAcceptDefField;3930@SingleMemberEnumWithDef public int SingleMemberEnumAcceptDefField;39313932// Single member array (empty array)3933@SingleMemberByteArray({}) public int SingleMemberByteArrEmptyField;3934@SingleMemberShortArray({}) public int SingleMemberShortArrEmptyField;3935@SingleMemberIntArray({}) public int SingleMemberIntArrEmptyField;3936@SingleMemberLongArray({}) public int SingleMemberLongArrEmptyField;3937@SingleMemberCharArray({}) public int SingleMemberCharArrEmptyField;3938@SingleMemberFloatArray({}) public int SingleMemberFloatArrEmptyField;3939@SingleMemberDoubleArray({}) public int SingleMemberDoubleArrEmptyField;3940@SingleMemberBooleanArray({})public int SingleMemberBooleanArrEmptyField;3941@SingleMemberStringArray({}) public int SingleMemberStringArrEmptyField;3942@SingleMemberClassArray({}) public int SingleMemberClassArrEmptyField;3943@SingleMemberEnumArray({}) public int SingleMemberEnumArrEmptyField;39443945// Single member array (one-element shorthand)3946@SingleMemberByteArray(1) public int SingleMemberByteArrOneField;3947@SingleMemberShortArray(2) public int SingleMemberShortArrOneField;3948@SingleMemberIntArray(3) public int SingleMemberIntArrOneField;3949@SingleMemberLongArray(4L) public int SingleMemberLongArrOneField;3950@SingleMemberCharArray('5') public int SingleMemberCharArrOneField;3951@SingleMemberFloatArray(6.0f) public int SingleMemberFloatArrOneField;3952@SingleMemberDoubleArray(7.0) public int SingleMemberDoubleArrOneField;3953@SingleMemberBooleanArray(true) public int SingleMemberBooleanArrOneField;3954@SingleMemberStringArray("custom") public int SingleMemberStringArrOneField;3955@SingleMemberClassArray(Map.class) public int SingleMemberClassArrOneField;3956@SingleMemberEnumArray(Stooge.MOE) public int SingleMemberEnumArrOneField;39573958// Single member array (two elements)3959@SingleMemberByteArray({1, 2}) public int SingleMemberByteArrTwoField;3960@SingleMemberShortArray({2, 3}) public int SingleMemberShortArrTwoField;3961@SingleMemberIntArray({3, 4}) public int SingleMemberIntArrTwoField;3962@SingleMemberLongArray({4L, 5L}) public int SingleMemberLongArrTwoField;3963@SingleMemberCharArray({'5', '6'}) public int SingleMemberCharArrTwoField;3964@SingleMemberFloatArray({6.0f, 7.0f}) public int SingleMemberFloatArrTwoField;3965@SingleMemberDoubleArray({7.0, 8.0}) public int SingleMemberDoubleArrTwoField;3966@SingleMemberBooleanArray({true,false}) public int SingleMemberBooleanArrTwoField;3967@SingleMemberStringArray({"custom", "paint"}) public int SingleMemberStringArrTwoField;3968@SingleMemberClassArray({Map.class, Set.class}) public int SingleMemberClassArrTwoField;3969@SingleMemberEnumArray({Stooge.MOE, Stooge.CURLY}) public int SingleMemberEnumArrTwoField;39703971// Single member array with default (override)3972@SingleMemberByteArrayDef(1) public int SingleMemberByteArrOvrdDefField;3973@SingleMemberShortArrayDef(2) public int SingleMemberShortArrOvrdDefField;3974@SingleMemberIntArrayDef(3) public int SingleMemberIntArrOvrdDefField;3975@SingleMemberLongArrayDef(4L) public int SingleMemberLongArrOvrdDefField;3976@SingleMemberCharArrayDef('5') public int SingleMemberCharArrOvrdDefField;3977@SingleMemberFloatArrayDef(6.0f) public int SingleMemberFloatArrOvrdDefField;3978@SingleMemberDoubleArrayDef(7.0) public int SingleMemberDoubleArrOvrdDefField;3979@SingleMemberBooleanArrayDef(true) public int SingleMemberBooleanArrOvrdDefField;3980@SingleMemberStringArrayDef("custom") public int SingleMemberStringArrOvrdDefField;3981@SingleMemberClassArrayDef(Map.class) public int SingleMemberClassArrOvrdDefField;3982@SingleMemberEnumArrayDef(Stooge.MOE) public int SingleMemberEnumArrOvrdDefField;39833984// Single member array with default - accept3985@SingleMemberByteArrayDef public int SingleMemberByteArrAcceptDefField;3986@SingleMemberShortArrayDef public int SingleMemberShortArrAcceptDefField;3987@SingleMemberIntArrayDef public int SingleMemberIntArrAcceptDefField;3988@SingleMemberLongArrayDef public int SingleMemberLongArrAcceptDefField;3989@SingleMemberCharArrayDef public int SingleMemberCharArrAcceptDefField;3990@SingleMemberFloatArrayDef public int SingleMemberFloatArrAcceptDefField;3991@SingleMemberDoubleArrayDef public int SingleMemberDoubleArrAcceptDefField;3992@SingleMemberBooleanArrayDef public int SingleMemberBooleanArrAcceptDefField;3993@SingleMemberStringArrayDef public int SingleMemberStringArrAcceptDefField;3994@SingleMemberClassArrayDef public int SingleMemberClassArrAcceptDefField;3995@SingleMemberEnumArrayDef public int SingleMemberEnumArrAcceptDefField;39963997// ANNOTATED ENUM CONSTANTS3998enum TestType {3999@ScalarTypes (4000b = 1,4001s = 2,4002i = 3,4003l = 4L,4004c = '5',4005f = 6.0f,4006d = 7.0,4007bool = true,4008str = "custom",4009cls = Map.class,4010e = Stooge.MOE,4011a = @Point(x = 1, y = 2)4012)4013scalarTypesField,40144015@ScalarTypesWithDefault ( )4016scalarTypesAcceptDefaultField,40174018@ScalarTypesWithDefault (4019b = 1,4020s = 2,4021i = 3,4022l = 4L,4023c = '5',4024f = 6.0f,4025d = 7.0,4026bool = true,4027str = "custom",4028cls = Map.class,4029e = Stooge.MOE4030)4031scalarTypesOverrideDefaultField,40324033@ArrayTypes (4034b = { },4035s = { },4036i = { },4037l = { },4038c = { },4039f = { },4040d = { },4041bool = { },4042str = { },4043cls = { },4044e = { },4045a = { }4046)4047emptyArrayTypesField,40484049@ArrayTypes (4050b = 1,4051s = 2,4052i = 3,4053l = 4L,4054c = '5',4055f = 6.0f,4056d = 7.0,4057bool = true,4058str = "custom",4059cls = Map.class,4060e = Stooge.MOE,4061a = @Point(x = 1, y = 2)4062)4063singleElementArrayTypesField,40644065@ArrayTypes (4066b = { 1, 2 },4067s = { 2, 3 },4068i = { 3, 4 },4069l = { 4L, 5L },4070c = { '5', '6' },4071f = { 6.0f, 7.0f },4072d = { 7.0, 8.0 },4073bool = { true, false },4074str = { "custom", "paint" },4075cls = { Map.class, Set.class },4076e = { Stooge.MOE, Stooge.CURLY },4077a = { @Point(x = 1, y = 2), @Point(x = 3, y = 4) }4078)4079twoElementArrayTypesField,40804081@ArrayTypesWithDefault ( )4082arrayTypesAcceptDefaultField,40834084@ArrayTypesWithDefault (4085b = 1,4086s = 2,4087i = 3,4088l = 4L,4089c = '5',4090f = 6.0f,4091d = 7.0,4092bool = true,4093str = "custom",4094cls = Map.class,4095e = Stooge.MOE,4096a = { @Point(x = 1, y = 2) }4097)4098arrayTypesOverrideDefaultField,40994100// marker4101@Marker marker,41024103// Single-member (shorthand)4104@SingleMemberByte(1) SingleMemberByte,4105@SingleMemberShort(2) SingleMemberShort,4106@SingleMemberInt(3) SingleMemberInt,4107@SingleMemberLong(4L) SingleMemberLong,4108@SingleMemberChar('5') SingleMemberChar,4109@SingleMemberFloat(6.0f) SingleMemberFloat,4110@SingleMemberDouble(7.0) SingleMemberDouble,4111@SingleMemberBoolean(true) SingleMemberBoolean,4112@SingleMemberString("custom") SingleMemberString,4113@SingleMemberClass(Map.class) SingleMemberClass,4114@SingleMemberEnum(Stooge.MOE) SingleMemberEnum,41154116// Single-member with default (Override)4117@SingleMemberByteWithDef(1) SingleMemberByteOvrdDef,4118@SingleMemberShortWithDef(2) SingleMemberShortOvrdDef,4119@SingleMemberIntWithDef(3) SingleMemberIntOvrdDef,4120@SingleMemberLongWithDef(4L) SingleMemberLongOvrdDef,4121@SingleMemberCharWithDef('5') SingleMemberCharOvrdDef,4122@SingleMemberFloatWithDef(6.0f) SingleMemberFloatOvrdDef,4123@SingleMemberDoubleWithDef(7.0) SingleMemberDoubleOvrdDef,4124@SingleMemberBooleanWithDef(true) SingleMemberBooleanOvrdDef,4125@SingleMemberStringWithDef("custom") SingleMemberStringOvrdDef,4126@SingleMemberClassWithDef(Map.class) SingleMemberClassOvrdDef,4127@SingleMemberEnumWithDef(Stooge.MOE) SingleMemberEnumOvrdDef,41284129// Single-member with default (Accept)4130@SingleMemberByteWithDef SingleMemberByteAcceptDef,4131@SingleMemberShortWithDef SingleMemberShortAcceptDef,4132@SingleMemberIntWithDef SingleMemberIntAcceptDef,4133@SingleMemberLongWithDef SingleMemberLongAcceptDef,4134@SingleMemberCharWithDef SingleMemberCharAcceptDef,4135@SingleMemberFloatWithDef SingleMemberFloatAcceptDef,4136@SingleMemberDoubleWithDef SingleMemberDoubleAcceptDef,4137@SingleMemberBooleanWithDef SingleMemberBooleanAcceptDef,4138@SingleMemberStringWithDef SingleMemberStringAcceptDef,4139@SingleMemberClassWithDef SingleMemberClassAcceptDef,4140@SingleMemberEnumWithDef SingleMemberEnumAcceptDef,41414142// Single member array (empty array)4143@SingleMemberByteArray({}) SingleMemberByteArrEmpty,4144@SingleMemberShortArray({}) SingleMemberShortArrEmpty,4145@SingleMemberIntArray({}) SingleMemberIntArrEmpty,4146@SingleMemberLongArray({}) SingleMemberLongArrEmpty,4147@SingleMemberCharArray({}) SingleMemberCharArrEmpty,4148@SingleMemberFloatArray({}) SingleMemberFloatArrEmpty,4149@SingleMemberDoubleArray({}) SingleMemberDoubleArrEmpty,4150@SingleMemberBooleanArray({})SingleMemberBooleanArrEmpty,4151@SingleMemberStringArray({}) SingleMemberStringArrEmpty,4152@SingleMemberClassArray({}) SingleMemberClassArrEmpty,4153@SingleMemberEnumArray({}) SingleMemberEnumArrEmpty,41544155// Single member array (one-element shorthand)4156@SingleMemberByteArray(1) SingleMemberByteArrOne,4157@SingleMemberShortArray(2) SingleMemberShortArrOne,4158@SingleMemberIntArray(3) SingleMemberIntArrOne,4159@SingleMemberLongArray(4L) SingleMemberLongArrOne,4160@SingleMemberCharArray('5') SingleMemberCharArrOne,4161@SingleMemberFloatArray(6.0f) SingleMemberFloatArrOne,4162@SingleMemberDoubleArray(7.0) SingleMemberDoubleArrOne,4163@SingleMemberBooleanArray(true) SingleMemberBooleanArrOne,4164@SingleMemberStringArray("custom") SingleMemberStringArrOne,4165@SingleMemberClassArray(Map.class) SingleMemberClassArrOne,4166@SingleMemberEnumArray(Stooge.MOE) SingleMemberEnumArrOne,41674168// Single member array (two elements)4169@SingleMemberByteArray({1, 2}) SingleMemberByteArrTwo,4170@SingleMemberShortArray({2, 3}) SingleMemberShortArrTwo,4171@SingleMemberIntArray({3, 4}) SingleMemberIntArrTwo,4172@SingleMemberLongArray({4L, 5L}) SingleMemberLongArrTwo,4173@SingleMemberCharArray({'5', '6'}) SingleMemberCharArrTwo,4174@SingleMemberFloatArray({6.0f, 7.0f}) SingleMemberFloatArrTwo,4175@SingleMemberDoubleArray({7.0, 8.0}) SingleMemberDoubleArrTwo,4176@SingleMemberBooleanArray({true,false}) SingleMemberBooleanArrTwo,4177@SingleMemberStringArray({"custom", "paint"}) SingleMemberStringArrTwo,4178@SingleMemberClassArray({Map.class, Set.class}) SingleMemberClassArrTwo,4179@SingleMemberEnumArray({Stooge.MOE, Stooge.CURLY}) SingleMemberEnumArrTwo,41804181// Single member array with default (override)4182@SingleMemberByteArrayDef(1) SingleMemberByteArrOvrdDef,4183@SingleMemberShortArrayDef(2) SingleMemberShortArrOvrdDef,4184@SingleMemberIntArrayDef(3) SingleMemberIntArrOvrdDef,4185@SingleMemberLongArrayDef(4L) SingleMemberLongArrOvrdDef,4186@SingleMemberCharArrayDef('5') SingleMemberCharArrOvrdDef,4187@SingleMemberFloatArrayDef(6.0f) SingleMemberFloatArrOvrdDef,4188@SingleMemberDoubleArrayDef(7.0) SingleMemberDoubleArrOvrdDef,4189@SingleMemberBooleanArrayDef(true) SingleMemberBooleanArrOvrdDef,4190@SingleMemberStringArrayDef("custom") SingleMemberStringArrOvrdDef,4191@SingleMemberClassArrayDef(Map.class) SingleMemberClassArrOvrdDef,4192@SingleMemberEnumArrayDef(Stooge.MOE) SingleMemberEnumArrOvrdDef,41934194// Single member array with default - accept4195@SingleMemberByteArrayDef SingleMemberByteArrAcceptDef,4196@SingleMemberShortArrayDef SingleMemberShortArrAcceptDef,4197@SingleMemberIntArrayDef SingleMemberIntArrAcceptDef,4198@SingleMemberLongArrayDef SingleMemberLongArrAcceptDef,4199@SingleMemberCharArrayDef SingleMemberCharArrAcceptDef,4200@SingleMemberFloatArrayDef SingleMemberFloatArrAcceptDef,4201@SingleMemberDoubleArrayDef SingleMemberDoubleArrAcceptDef,4202@SingleMemberBooleanArrayDef SingleMemberBooleanArrAcceptDef,4203@SingleMemberStringArrayDef SingleMemberStringArrAcceptDef,4204@SingleMemberClassArrayDef SingleMemberClassArrAcceptDef,4205@SingleMemberEnumArrayDef SingleMemberEnumArrAcceptDef,4206}42074208// ANNOTATED CONSTRUCTORS42094210@ScalarTypes (4211b = 1,4212s = 2,4213i = 3,4214l = 4L,4215c = '5',4216f = 6.0f,4217d = 7.0,4218bool = true,4219str = "custom",4220cls = Map.class,4221e = Stooge.MOE,4222a = @Point(x = 1, y = 2)4223)4224public UnitTest(Iterator it) { } // scalar types42254226@ScalarTypesWithDefault ( )4227public UnitTest(Set s) { } // scalarTypesAcceptDefault42284229@ScalarTypesWithDefault (4230b = 1,4231s = 2,4232i = 3,4233l = 4L,4234c = '5',4235f = 6.0f,4236d = 7.0,4237bool = true,4238str = "custom",4239cls = Map.class,4240e = Stooge.MOE4241)4242public UnitTest(Map s) { } // scalarTypesOverrideDefault42434244@ArrayTypes (4245b = { },4246s = { },4247i = { },4248l = { },4249c = { },4250f = { },4251d = { },4252bool = { },4253str = { },4254cls = { },4255e = { },4256a = { }4257)4258public UnitTest(List l){ } // emptyArrayTypes42594260@ArrayTypes (4261b = 1,4262s = 2,4263i = 3,4264l = 4L,4265c = '5',4266f = 6.0f,4267d = 7.0,4268bool = true,4269str = "custom",4270cls = Map.class,4271e = Stooge.MOE,4272a = @Point(x = 1, y = 2)4273)4274public UnitTest(Collection c) { } // singleElementArrayTypes42754276@ArrayTypes (4277b = { 1, 2 },4278s = { 2, 3 },4279i = { 3, 4 },4280l = { 4L, 5L },4281c = { '5', '6' },4282f = { 6.0f, 7.0f },4283d = { 7.0, 8.0 },4284bool = { true, false },4285str = { "custom", "paint" },4286cls = { Map.class, Set.class },4287e = { Stooge.MOE, Stooge.CURLY },4288a = { @Point(x = 1, y = 2), @Point(x = 3, y = 4) }4289)4290public UnitTest(SortedSet ss) { } // twoElementArrayTypes42914292@ArrayTypesWithDefault ( )4293public UnitTest(SortedMap sm) { } // arrayTypesAcceptDefault42944295@ArrayTypesWithDefault (4296b = 1,4297s = 2,4298i = 3,4299l = 4L,4300c = '5',4301f = 6.0f,4302d = 7.0,4303bool = true,4304str = "custom",4305cls = Map.class,4306e = Stooge.MOE,4307a = { @Point(x = 1, y = 2) }4308)4309public UnitTest(RandomAccess r) { } // arrayTypesOverrideDefault43104311// Marker4312@Marker public UnitTest() { } // marker43134314// Single-member (shorthand)4315@SingleMemberByte(1) public UnitTest(byte b) { }4316@SingleMemberShort(2) public UnitTest(short s) { }4317@SingleMemberInt(3) public UnitTest(int i) { }4318@SingleMemberLong(4L) public UnitTest(long l) { }4319@SingleMemberChar('5') public UnitTest(char c) { }4320@SingleMemberFloat(6.0f) public UnitTest(float f) { }4321@SingleMemberDouble(7.0) public UnitTest(double d) { }4322@SingleMemberBoolean(true) public UnitTest(boolean b) { }4323@SingleMemberString("custom") public UnitTest(String s) { }4324@SingleMemberClass(Map.class) public UnitTest(Class c) { }4325@SingleMemberEnum(Stooge.MOE) public UnitTest(Enum e) { }43264327// Single-member with default (Override)4328@SingleMemberByteWithDef(1) public UnitTest(byte b, Set s) { }4329@SingleMemberShortWithDef(2) public UnitTest(short s, Set x) { }4330@SingleMemberIntWithDef(3) public UnitTest(int i, Set s) { }4331@SingleMemberLongWithDef(4L) public UnitTest(long l, Set s) { }4332@SingleMemberCharWithDef('5') public UnitTest(char c, Set s) { }4333@SingleMemberFloatWithDef(6.0f) public UnitTest(float f, Set s) { }4334@SingleMemberDoubleWithDef(7.0) public UnitTest(double d, Set s) { }4335@SingleMemberBooleanWithDef(true) public UnitTest(boolean b, Set s) { }4336@SingleMemberStringWithDef("custom") public UnitTest(String s, Set x) { }4337@SingleMemberClassWithDef(Map.class) public UnitTest(Class c, Set s) { }4338@SingleMemberEnumWithDef(Stooge.MOE) public UnitTest(Enum e, Set s) { }43394340// Single-member with default (Accept)4341@SingleMemberByteWithDef public UnitTest(byte b, Map m) { }4342@SingleMemberShortWithDef public UnitTest(short s, Map m) { }4343@SingleMemberIntWithDef public UnitTest(int i, Map m) { }4344@SingleMemberLongWithDef public UnitTest(long l, Map m) { }4345@SingleMemberCharWithDef public UnitTest(char c, Map m) { }4346@SingleMemberFloatWithDef public UnitTest(float f, Map m) { }4347@SingleMemberDoubleWithDef public UnitTest(double d, Map m) { }4348@SingleMemberBooleanWithDef public UnitTest(boolean b, Map m) { }4349@SingleMemberStringWithDef public UnitTest(String s, Map m) { }4350@SingleMemberClassWithDef public UnitTest(Class c, Map m) { }4351@SingleMemberEnumWithDef public UnitTest(Enum e, Map m) { }43524353// Single member array (empty array)4354@SingleMemberByteArray({}) public UnitTest(byte[] b) { }4355@SingleMemberShortArray({}) public UnitTest(short[] s) { }4356@SingleMemberIntArray({}) public UnitTest(int[] i) { }4357@SingleMemberLongArray({}) public UnitTest(long[] l) { }4358@SingleMemberCharArray({}) public UnitTest(char[] c) { }4359@SingleMemberFloatArray({}) public UnitTest(float[] f) { }4360@SingleMemberDoubleArray({}) public UnitTest(double[] d) { }4361@SingleMemberBooleanArray({})public UnitTest(boolean[] b) { }4362@SingleMemberStringArray({}) public UnitTest(String[] s) { }4363@SingleMemberClassArray({}) public UnitTest(Class[] c) { }4364@SingleMemberEnumArray({}) public UnitTest(Enum[] e) { }43654366// Single member array (one-element shorthand)4367@SingleMemberByteArray(1) public UnitTest(byte[] b, Set s) { }4368@SingleMemberShortArray(2) public UnitTest(short[] s, Set x) { }4369@SingleMemberIntArray(3) public UnitTest(int[] i, Set s) { }4370@SingleMemberLongArray(4L) public UnitTest(long[] l, Set s) { }4371@SingleMemberCharArray('5') public UnitTest(char[] c, Set s) { }4372@SingleMemberFloatArray(6.0f) public UnitTest(float[] f, Set s) { }4373@SingleMemberDoubleArray(7.0) public UnitTest(double[] d, Set s) { }4374@SingleMemberBooleanArray(true) public UnitTest(boolean[] b, Set s) { }4375@SingleMemberStringArray("custom") public UnitTest(String[] s, Set x) { }4376@SingleMemberClassArray(Map.class) public UnitTest(Class[] c, Set s) { }4377@SingleMemberEnumArray(Stooge.MOE) public UnitTest(Enum[] e, Set s) { }43784379// Single member array (two elements)4380@SingleMemberByteArray({1, 2}) public UnitTest(byte[] b, Map m) { }4381@SingleMemberShortArray({2, 3}) public UnitTest(short[] s, Map m) { }4382@SingleMemberIntArray({3, 4}) public UnitTest(int[] i, Map m) { }4383@SingleMemberLongArray({4L, 5L}) public UnitTest(long[] l, Map m) { }4384@SingleMemberCharArray({'5', '6'}) public UnitTest(char[] c, Map m) { }4385@SingleMemberFloatArray({6.0f, 7.0f}) public UnitTest(float[] f, Map m) { }4386@SingleMemberDoubleArray({7.0, 8.0}) public UnitTest(double[] d, Map m) { }4387@SingleMemberBooleanArray({true, false}) public UnitTest(boolean[] b, Map m) { }4388@SingleMemberStringArray({"custom", "paint"}) public UnitTest(String[] s, Map m) { }4389@SingleMemberClassArray({Map.class,Set.class}) public UnitTest(Class[] c, Map m) { }4390@SingleMemberEnumArray({Stooge.MOE, Stooge.CURLY}) public UnitTest(Enum[] e, Map m) { }439143924393// Single member array with default (override)4394@SingleMemberByteArrayDef(1) public UnitTest(byte[] b, List l) { }4395@SingleMemberShortArrayDef(2) public UnitTest(short[] s, List l) { }4396@SingleMemberIntArrayDef(3) public UnitTest(int[] i, List l) { }4397@SingleMemberLongArrayDef(4L) public UnitTest(long[] l, List x) { }4398@SingleMemberCharArrayDef('5') public UnitTest(char[] c, List l) { }4399@SingleMemberFloatArrayDef(6.0f) public UnitTest(float[] f, List l) { }4400@SingleMemberDoubleArrayDef(7.0) public UnitTest(double[] d, List l) { }4401@SingleMemberBooleanArrayDef(true) public UnitTest(boolean[] b, List l) { }4402@SingleMemberStringArrayDef("custom") public UnitTest(String[] s, List l) { }4403@SingleMemberClassArrayDef(Map.class) public UnitTest(Class[] c, List l) { }4404@SingleMemberEnumArrayDef(Stooge.MOE) public UnitTest(Enum[] e, List l) { }44054406// Single member array with default - accept4407@SingleMemberByteArrayDef public UnitTest(byte[] b, Collection c) { }4408@SingleMemberShortArrayDef public UnitTest(short[] s, Collection c) { }4409@SingleMemberIntArrayDef public UnitTest(int[] i, Collection c) { }4410@SingleMemberLongArrayDef public UnitTest(long[] l, Collection c) { }4411@SingleMemberCharArrayDef public UnitTest(char[] c, Collection x) { }4412@SingleMemberFloatArrayDef public UnitTest(float[] f, Collection c) { }4413@SingleMemberDoubleArrayDef public UnitTest(double[] d, Collection c) { }4414@SingleMemberBooleanArrayDef public UnitTest(boolean[] b, Collection c) { }4415@SingleMemberStringArrayDef public UnitTest(String[] s, Collection c) { }4416@SingleMemberClassArrayDef public UnitTest(Class[] c, Collection x) { }4417@SingleMemberEnumArrayDef public UnitTest(Enum[] e, Collection c) { }44184419// ANNOTATED PARAMETERS44204421public void scalarTypesParam(4422@ScalarTypes (4423b = 1,4424s = 2,4425i = 3,4426l = 4L,4427c = '5',4428f = 6.0f,4429d = 7.0,4430bool = true,4431str = "custom",4432cls = Map.class,4433e = Stooge.MOE,4434a = @Point(x = 1, y = 2)4435)4436int x) { }443744384439public void scalarTypesAcceptDefaultParam(4440@ScalarTypesWithDefault int x) { }44414442public void scalarTypesOverrideDefaultParam(4443@ScalarTypesWithDefault (4444b = 1,4445s = 2,4446i = 3,4447l = 4L,4448c = '5',4449f = 6.0f,4450d = 7.0,4451bool = true,4452str = "custom",4453cls = Map.class,4454e = Stooge.MOE4455)4456int x) { }44574458public void emptyArrayTypesParam(4459@ArrayTypes (4460b = { },4461s = { },4462i = { },4463l = { },4464c = { },4465f = { },4466d = { },4467bool = { },4468str = { },4469cls = { },4470e = { },4471a = { }4472)4473int x) { }44744475public void singleElementArrayTypesParam(4476@ArrayTypes (4477b = 1,4478s = 2,4479i = 3,4480l = 4L,4481c = '5',4482f = 6.0f,4483d = 7.0,4484bool = true,4485str = "custom",4486cls = Map.class,4487e = Stooge.MOE,4488a = @Point(x = 1, y = 2)4489)4490int x) { }44914492public void twoElementArrayTypesParam(4493@ArrayTypes (4494b = { 1, 2 },4495s = { 2, 3 },4496i = { 3, 4 },4497l = { 4L, 5L },4498c = { '5', '6' },4499f = { 6.0f, 7.0f },4500d = { 7.0, 8.0 },4501bool = { true, false },4502str = { "custom", "paint" },4503cls = { Map.class, Set.class },4504e = { Stooge.MOE, Stooge.CURLY },4505a = { @Point(x = 1, y = 2), @Point(x = 3, y = 4) }4506)4507int x) { }45084509public void arrayTypesAcceptDefaultParam(4510@ArrayTypesWithDefault4511int x) { }45124513public void arrayTypesOverrideDefaultParam(4514@ArrayTypesWithDefault (4515b = 1,4516s = 2,4517i = 3,4518l = 4L,4519c = '5',4520f = 6.0f,4521d = 7.0,4522bool = true,4523str = "custom",4524cls = Map.class,4525e = Stooge.MOE,4526a = { @Point(x = 1, y = 2) }4527)4528int x) { }45294530// Marker4531public void markerParam(@Marker int x) { }45324533// Single-member (shorthand)4534public void SingleMemberByteParam(@SingleMemberByte(1) int x) {}4535public void SingleMemberShortParam(@SingleMemberShort(2) int x) {}4536public void SingleMemberIntParam(@SingleMemberInt(3) int x) {}4537public void SingleMemberLongParam(@SingleMemberLong(4L) int x) {}4538public void SingleMemberCharParam(@SingleMemberChar('5') int x) {}4539public void SingleMemberFloatParam(@SingleMemberFloat(6.0f) int x) {}4540public void SingleMemberDoubleParam(@SingleMemberDouble(7.0) int x) {}4541public void SingleMemberBooleanParam(@SingleMemberBoolean(true) int x) {}4542public void SingleMemberStringParam(@SingleMemberString("custom") int x) {}4543public void SingleMemberClassParam(@SingleMemberClass(Map.class) int x) {}4544public void SingleMemberEnumParam(@SingleMemberEnum(Stooge.MOE) int x) {}45454546// Single-member with default (Override)4547public void SingleMemberByteOvrdDefParam(@SingleMemberByteWithDef(1) int x) {}4548public void SingleMemberShortOvrdDefParam(@SingleMemberShortWithDef(2) int x) {}4549public void SingleMemberIntOvrdDefParam(@SingleMemberIntWithDef(3) int x) {}4550public void SingleMemberLongOvrdDefParam(@SingleMemberLongWithDef(4L) int x) {}4551public void SingleMemberCharOvrdDefParam(@SingleMemberCharWithDef('5') int x) {}4552public void SingleMemberFloatOvrdDefParam(@SingleMemberFloatWithDef(6.0f) int x) {}4553public void SingleMemberDoubleOvrdDefParam(@SingleMemberDoubleWithDef(7.0) int x) {}4554public void SingleMemberBooleanOvrdDefParam(@SingleMemberBooleanWithDef(true) int x) {}4555public void SingleMemberStringOvrdDefParam(@SingleMemberStringWithDef("custom") int x) {}4556public void SingleMemberClassOvrdDefParam(@SingleMemberClassWithDef(Map.class) int x) {}4557public void SingleMemberEnumOvrdDefParam(@SingleMemberEnumWithDef(Stooge.MOE) int x) {}45584559// Single-member with default (Accept)4560public void SingleMemberByteAcceptDefParam(@SingleMemberByteWithDef int x) {}4561public void SingleMemberShortAcceptDefParam(@SingleMemberShortWithDef int x) {}4562public void SingleMemberIntAcceptDefParam(@SingleMemberIntWithDef int x) {}4563public void SingleMemberLongAcceptDefParam(@SingleMemberLongWithDef int x) {}4564public void SingleMemberCharAcceptDefParam(@SingleMemberCharWithDef int x) {}4565public void SingleMemberFloatAcceptDefParam(@SingleMemberFloatWithDef int x) {}4566public void SingleMemberDoubleAcceptDefParam(@SingleMemberDoubleWithDef int x) {}4567public void SingleMemberBooleanAcceptDefParam(@SingleMemberBooleanWithDef int x){}4568public void SingleMemberStringAcceptDefParam(@SingleMemberStringWithDef int x) {}4569public void SingleMemberClassAcceptDefParam(@SingleMemberClassWithDef int x) {}4570public void SingleMemberEnumAcceptDefParam(@SingleMemberEnumWithDef int x) {}45714572// Single member array (empty array)4573public void SingleMemberByteArrEmptyParam(@SingleMemberByteArray({}) int x) {}4574public void SingleMemberShortArrEmptyParam(@SingleMemberShortArray({}) int x) {}4575public void SingleMemberIntArrEmptyParam(@SingleMemberIntArray({}) int x) {}4576public void SingleMemberLongArrEmptyParam(@SingleMemberLongArray({}) int x) {}4577public void SingleMemberCharArrEmptyParam(@SingleMemberCharArray({}) int x) {}4578public void SingleMemberFloatArrEmptyParam(@SingleMemberFloatArray({}) int x) {}4579public void SingleMemberDoubleArrEmptyParam(@SingleMemberDoubleArray({}) int x) {}4580public void SingleMemberBooleanArrEmptyParam(@SingleMemberBooleanArray({}) int x) {}4581public void SingleMemberStringArrEmptyParam(@SingleMemberStringArray({}) int x) {}4582public void SingleMemberClassArrEmptyParam(@SingleMemberClassArray({}) int x) {}4583public void SingleMemberEnumArrEmptyParam(@SingleMemberEnumArray({}) int x) {}45844585// Single member array (one-element shorthand)4586public void SingleMemberByteArrOneParam(@SingleMemberByteArray(1) int x) {}4587public void SingleMemberShortArrOneParam(@SingleMemberShortArray(2) int x) {}4588public void SingleMemberIntArrOneParam(@SingleMemberIntArray(3) int x) {}4589public void SingleMemberLongArrOneParam(@SingleMemberLongArray(4L) int x) {}4590public void SingleMemberCharArrOneParam(@SingleMemberCharArray('5') int x) {}4591public void SingleMemberFloatArrOneParam(@SingleMemberFloatArray(6.0f) int x) {}4592public void SingleMemberDoubleArrOneParam(@SingleMemberDoubleArray(7.0) int x) {}4593public void SingleMemberBooleanArrOneParam(@SingleMemberBooleanArray(true) int x) {}4594public void SingleMemberStringArrOneParam(@SingleMemberStringArray("custom") int x) {}4595public void SingleMemberClassArrOneParam(@SingleMemberClassArray(Map.class) int x) {}4596public void SingleMemberEnumArrOneParam(@SingleMemberEnumArray(Stooge.MOE) int x) {}45974598// Single member array (two elements)4599public void SingleMemberByteArrTwoParam(@SingleMemberByteArray({1, 2}) int x) {}4600public void SingleMemberShortArrTwoParam(@SingleMemberShortArray({2, 3}) int x) {}4601public void SingleMemberIntArrTwoParam(@SingleMemberIntArray({3, 4}) int x) {}4602public void SingleMemberLongArrTwoParam(@SingleMemberLongArray({4L, 5L}) int x) {}4603public void SingleMemberCharArrTwoParam(@SingleMemberCharArray({'5', '6'}) int x) {}4604public void SingleMemberFloatArrTwoParam(@SingleMemberFloatArray({6.0f, 7.0f}) int x) {}4605public void SingleMemberDoubleArrTwoParam(@SingleMemberDoubleArray({7.0, 8.0}) int x) {}4606public void SingleMemberBooleanArrTwoParam(@SingleMemberBooleanArray({true, false}) int x){}4607public void SingleMemberStringArrTwoParam(@SingleMemberStringArray({"custom", "paint"}) int x) {}4608public void SingleMemberClassArrTwoParam(@SingleMemberClassArray({Map.class, Set.class}) int x) {}4609public void SingleMemberEnumArrTwoParam(@SingleMemberEnumArray({Stooge.MOE, Stooge.CURLY}) int x) {}46104611// Single member array with default (override)4612public void SingleMemberByteArrOvrdDefParam(@SingleMemberByteArrayDef(1) int x) {}4613public void SingleMemberShortArrOvrdDefParam(@SingleMemberShortArrayDef(2) int x) {}4614public void SingleMemberIntArrOvrdDefParam(@SingleMemberIntArrayDef(3) int x) {}4615public void SingleMemberLongArrOvrdDefParam(@SingleMemberLongArrayDef(4L) int x) {}4616public void SingleMemberCharArrOvrdDefParam(@SingleMemberCharArrayDef('5') int x) {}4617public void SingleMemberFloatArrOvrdDefParam(@SingleMemberFloatArrayDef(6.0f) int x) {}4618public void SingleMemberDoubleArrOvrdDefParam(@SingleMemberDoubleArrayDef(7.0) int x) {}4619public void SingleMemberBooleanArrOvrdDefParam(@SingleMemberBooleanArrayDef(true) int x){}4620public void SingleMemberStringArrOvrdDefParam(@SingleMemberStringArrayDef("custom") int x) {}4621public void SingleMemberClassArrOvrdDefParam(@SingleMemberClassArrayDef(Map.class) int x) {}4622public void SingleMemberEnumArrOvrdDefParam(@SingleMemberEnumArrayDef(Stooge.MOE) int x) {}46234624// Single member array with default - accept4625public void SingleMemberByteArrAcceptDefParam(@SingleMemberByteArrayDef int x) {}4626public void SingleMemberShortArrAcceptDefParam(@SingleMemberShortArrayDef int x) {}4627public void SingleMemberIntArrAcceptDefParam(@SingleMemberIntArrayDef int x) {}4628public void SingleMemberLongArrAcceptDefParam(@SingleMemberLongArrayDef int x) {}4629public void SingleMemberCharArrAcceptDefParam(@SingleMemberCharArrayDef int x) {}4630public void SingleMemberFloatArrAcceptDefParam(@SingleMemberFloatArrayDef int x) {}4631public void SingleMemberDoubleArrAcceptDefParam(@SingleMemberDoubleArrayDef int x) {}4632public void SingleMemberBooleanArrAcceptDefParam(@SingleMemberBooleanArrayDef int x){}4633public void SingleMemberStringArrAcceptDefParam(@SingleMemberStringArrayDef int x) {}4634public void SingleMemberClassArrAcceptDefParam(@SingleMemberClassArrayDef int x) {}4635public void SingleMemberEnumArrAcceptDefParam(@SingleMemberEnumArrayDef int x) {}4636}46374638// Helper types46394640enum Stooge { LARRY, MOE, CURLY }46414642@Target({}) @interface Point { int x(); int y(); }46434644// ANNOTATION TYPES46454646@Retention(RUNTIME) @interface ScalarTypes {4647byte b();4648short s();4649int i();4650long l();4651char c();4652float f();4653double d();4654boolean bool();4655String str();4656Class cls();4657Stooge e();4658Point a();4659}46604661@Retention(RUNTIME) @interface ScalarTypesWithDefault {4662byte b() default 11;4663short s() default 12;4664int i() default 13;4665long l() default 14;4666char c() default 'V';4667float f() default 16.0f;4668double d() default 17.0;4669boolean bool() default false;4670String str() default "default";4671Class cls() default Class.class;4672Stooge e() default Stooge.LARRY;4673Point a() default @Point(x = 11, y = 12);4674}46754676@Retention(RUNTIME) @interface ArrayTypes {4677byte[] b();4678short[] s();4679int[] i();4680long[] l();4681char[] c();4682float[] f();4683double[] d();4684boolean[] bool();4685String[] str();4686Class[] cls();4687Stooge[] e();4688Point[] a();4689}46904691@Retention(RUNTIME) @interface ArrayTypesWithDefault {4692byte[] b() default { 11 };4693short[] s() default { 12 };4694int[] i() default { 13 };4695long[] l() default { 14L };4696char[] c() default { 'V' };4697float[] f() default { 16.0f };4698double[] d() default { 17.0 };4699boolean[] bool() default { false };4700String[] str() default { "default" };4701Class[] cls() default { Class.class };4702Stooge[] e() default { Stooge.LARRY };4703Point[] a() default { @Point(x = 11, y = 12) };4704}47054706@Retention(RUNTIME) @interface Marker { }47074708@Retention(RUNTIME) @interface SingleMemberByte { byte value(); }4709@Retention(RUNTIME) @interface SingleMemberShort { short value(); }4710@Retention(RUNTIME) @interface SingleMemberInt { int value(); }4711@Retention(RUNTIME) @interface SingleMemberLong { long value(); }4712@Retention(RUNTIME) @interface SingleMemberChar { char value(); }4713@Retention(RUNTIME) @interface SingleMemberFloat { float value(); }4714@Retention(RUNTIME) @interface SingleMemberDouble { double value(); }4715@Retention(RUNTIME) @interface SingleMemberBoolean { boolean value(); }4716@Retention(RUNTIME) @interface SingleMemberString { String value(); }4717@Retention(RUNTIME) @interface SingleMemberClass { Class value(); }4718@Retention(RUNTIME) @interface SingleMemberEnum { Stooge value(); }47194720@Retention(RUNTIME) @interface SingleMemberByteWithDef { byte value() default 11; }4721@Retention(RUNTIME) @interface SingleMemberShortWithDef { short value() default 12; }4722@Retention(RUNTIME) @interface SingleMemberIntWithDef { int value() default 13; }4723@Retention(RUNTIME) @interface SingleMemberLongWithDef { long value() default 14; }4724@Retention(RUNTIME) @interface SingleMemberCharWithDef { char value() default 'V'; }4725@Retention(RUNTIME) @interface SingleMemberFloatWithDef { float value() default 16.0f; }4726@Retention(RUNTIME) @interface SingleMemberDoubleWithDef { double value() default 17.0; }4727@Retention(RUNTIME) @interface SingleMemberBooleanWithDef { boolean value() default false; }4728@Retention(RUNTIME) @interface SingleMemberStringWithDef { String value() default "default"; }4729@Retention(RUNTIME) @interface SingleMemberClassWithDef { Class value() default Class.class; }4730@Retention(RUNTIME) @interface SingleMemberEnumWithDef { Stooge value() default Stooge.LARRY; }47314732@Retention(RUNTIME) @interface SingleMemberByteArray { byte[] value(); }4733@Retention(RUNTIME) @interface SingleMemberShortArray { short[] value(); }4734@Retention(RUNTIME) @interface SingleMemberIntArray { int[] value(); }4735@Retention(RUNTIME) @interface SingleMemberLongArray { long[] value(); }4736@Retention(RUNTIME) @interface SingleMemberCharArray { char[] value(); }4737@Retention(RUNTIME) @interface SingleMemberFloatArray { float[] value(); }4738@Retention(RUNTIME) @interface SingleMemberDoubleArray { double[] value(); }4739@Retention(RUNTIME) @interface SingleMemberBooleanArray { boolean[] value(); }4740@Retention(RUNTIME) @interface SingleMemberStringArray { String[] value(); }4741@Retention(RUNTIME) @interface SingleMemberClassArray { Class[] value(); }4742@Retention(RUNTIME) @interface SingleMemberEnumArray { Stooge[] value(); }47434744@Retention(RUNTIME) @interface SingleMemberByteArrayDef { byte[] value() default { 11 }; }4745@Retention(RUNTIME) @interface SingleMemberShortArrayDef { short[] value() default { 12 }; }4746@Retention(RUNTIME) @interface SingleMemberIntArrayDef { int[] value() default { 13 }; }4747@Retention(RUNTIME) @interface SingleMemberLongArrayDef { long[] value() default { 14 }; }4748@Retention(RUNTIME) @interface SingleMemberCharArrayDef { char[] value() default { 'V' }; }4749@Retention(RUNTIME) @interface SingleMemberFloatArrayDef { float[] value() default { 16.0f };}4750@Retention(RUNTIME) @interface SingleMemberDoubleArrayDef { double[] value() default { 17.0 }; }4751@Retention(RUNTIME) @interface SingleMemberBooleanArrayDef { boolean[] value() default { false };}4752@Retention(RUNTIME) @interface SingleMemberStringArrayDef {4753String[] value() default {"default"};4754}4755@Retention(RUNTIME) @interface SingleMemberClassArrayDef {4756Class[] value() default {Class.class};4757}4758@Retention(RUNTIME) @interface SingleMemberEnumArrayDef {4759Stooge[] value() default {Stooge.LARRY};4760}47614762// Annotation types for inheritance and declared-annotations tests4763@Inherited @Retention(RUNTIME) @interface Foo { }4764@Retention(RUNTIME) @interface Bar { }476547664767// ANNOTATED CLASSES47684769@ScalarTypes (4770b = 1,4771s = 2,4772i = 3,4773l = 4L,4774c = '5',4775f = 6.0f,4776d = 7.0,4777bool = true,4778str = "custom",4779cls = Map.class,4780e = Stooge.MOE,4781a = @Point(x = 1, y = 2)4782)4783class scalarTypesClass { }47844785@ScalarTypesWithDefault ( )4786class scalarTypesAcceptDefaultClass { }47874788@ScalarTypesWithDefault (4789b = 1,4790s = 2,4791i = 3,4792l = 4L,4793c = '5',4794f = 6.0f,4795d = 7.0,4796bool = true,4797str = "custom",4798cls = Map.class,4799e = Stooge.MOE4800)4801class scalarTypesOverrideDefaultClass { }48024803@ArrayTypes (4804b = { },4805s = { },4806i = { },4807l = { },4808c = { },4809f = { },4810d = { },4811bool = { },4812str = { },4813cls = { },4814e = { },4815a = { }4816)4817class emptyArrayTypesClass { }48184819@ArrayTypes (4820b = 1,4821s = 2,4822i = 3,4823l = 4L,4824c = '5',4825f = 6.0f,4826d = 7.0,4827bool = true,4828str = "custom",4829cls = Map.class,4830e = Stooge.MOE,4831a = @Point(x = 1, y = 2)4832)4833class singleElementArrayTypesClass { }48344835@ArrayTypes (4836b = { 1, 2 },4837s = { 2, 3 },4838i = { 3, 4 },4839l = { 4L, 5L },4840c = { '5', '6' },4841f = { 6.0f, 7.0f },4842d = { 7.0, 8.0 },4843bool = { true, false },4844str = { "custom", "paint" },4845cls = { Map.class, Set.class },4846e = { Stooge.MOE, Stooge.CURLY },4847a = { @Point(x = 1, y = 2), @Point(x = 3, y = 4) }4848)4849class twoElementArrayTypesClass { }48504851@ArrayTypesWithDefault (4852)4853class arrayTypesAcceptDefaultClass { }48544855@ArrayTypesWithDefault (4856b = 1,4857s = 2,4858i = 3,4859l = 4L,4860c = '5',4861f = 6.0f,4862d = 7.0,4863bool = true,4864str = "custom",4865cls = Map.class,4866e = Stooge.MOE,4867a = { @Point(x = 1, y = 2) }4868)4869class arrayTypesOverrideDefaultClass { }48704871@Marker class markerClass { }48724873// Single-member (shorthand)4874@SingleMemberByte(1) class SingleMemberByteClass { }4875@SingleMemberShort(2) class SingleMemberShortClass { }4876@SingleMemberInt(3) class SingleMemberIntClass { }4877@SingleMemberLong(4L) class SingleMemberLongClass { }4878@SingleMemberChar('5') class SingleMemberCharClass { }4879@SingleMemberFloat(6.0f) class SingleMemberFloatClass { }4880@SingleMemberDouble(7.0) class SingleMemberDoubleClass { }4881@SingleMemberBoolean(true) class SingleMemberBooleanClass { }4882@SingleMemberString("custom") class SingleMemberStringClass { }4883@SingleMemberClass(Map.class) class SingleMemberClassClass { }4884@SingleMemberEnum(Stooge.MOE) class SingleMemberEnumClass { }48854886// Single-member with default (Override)4887@SingleMemberByteWithDef(1) class SingleMemberByteOvrdDefClass { }4888@SingleMemberShortWithDef(2) class SingleMemberShortOvrdDefClass { }4889@SingleMemberIntWithDef(3) class SingleMemberIntOvrdDefClass { }4890@SingleMemberLongWithDef(4L) class SingleMemberLongOvrdDefClass { }4891@SingleMemberCharWithDef('5') class SingleMemberCharOvrdDefClass { }4892@SingleMemberFloatWithDef(6.0f) class SingleMemberFloatOvrdDefClass { }4893@SingleMemberDoubleWithDef(7.0) class SingleMemberDoubleOvrdDefClass { }4894@SingleMemberBooleanWithDef(true) class SingleMemberBooleanOvrdDefClass { }4895@SingleMemberStringWithDef("custom") class SingleMemberStringOvrdDefClass { }4896@SingleMemberClassWithDef(Map.class) class SingleMemberClassOvrdDefClass { }4897@SingleMemberEnumWithDef(Stooge.MOE) class SingleMemberEnumOvrdDefClass { }48984899// Single-member with default (Accept)4900@SingleMemberByteWithDef class SingleMemberByteAcceptDefClass { }4901@SingleMemberShortWithDef class SingleMemberShortAcceptDefClass { }4902@SingleMemberIntWithDef class SingleMemberIntAcceptDefClass { }4903@SingleMemberLongWithDef class SingleMemberLongAcceptDefClass { }4904@SingleMemberCharWithDef class SingleMemberCharAcceptDefClass { }4905@SingleMemberFloatWithDef class SingleMemberFloatAcceptDefClass { }4906@SingleMemberDoubleWithDef class SingleMemberDoubleAcceptDefClass { }4907@SingleMemberBooleanWithDef class SingleMemberBooleanAcceptDefClass { }4908@SingleMemberStringWithDef class SingleMemberStringAcceptDefClass { }4909@SingleMemberClassWithDef class SingleMemberClassAcceptDefClass { }4910@SingleMemberEnumWithDef class SingleMemberEnumAcceptDefClass { }49114912// Single member array (empty array)4913@SingleMemberByteArray({}) class SingleMemberByteArrEmptyClass { }4914@SingleMemberShortArray({}) class SingleMemberShortArrEmptyClass { }4915@SingleMemberIntArray({}) class SingleMemberIntArrEmptyClass { }4916@SingleMemberLongArray({}) class SingleMemberLongArrEmptyClass { }4917@SingleMemberCharArray({}) class SingleMemberCharArrEmptyClass { }4918@SingleMemberFloatArray({}) class SingleMemberFloatArrEmptyClass { }4919@SingleMemberDoubleArray({}) class SingleMemberDoubleArrEmptyClass { }4920@SingleMemberBooleanArray({})class SingleMemberBooleanArrEmptyClass { }4921@SingleMemberStringArray({}) class SingleMemberStringArrEmptyClass { }4922@SingleMemberClassArray({}) class SingleMemberClassArrEmptyClass { }4923@SingleMemberEnumArray({}) class SingleMemberEnumArrEmptyClass { }49244925// Single member array (one-element shorthand)4926@SingleMemberByteArray(1) class SingleMemberByteArrOneClass { }4927@SingleMemberShortArray(2) class SingleMemberShortArrOneClass { }4928@SingleMemberIntArray(3) class SingleMemberIntArrOneClass { }4929@SingleMemberLongArray(4L) class SingleMemberLongArrOneClass { }4930@SingleMemberCharArray('5') class SingleMemberCharArrOneClass { }4931@SingleMemberFloatArray(6.0f) class SingleMemberFloatArrOneClass { }4932@SingleMemberDoubleArray(7.0) class SingleMemberDoubleArrOneClass { }4933@SingleMemberBooleanArray(true) class SingleMemberBooleanArrOneClass { }4934@SingleMemberStringArray("custom") class SingleMemberStringArrOneClass { }4935@SingleMemberClassArray(Map.class) class SingleMemberClassArrOneClass { }4936@SingleMemberEnumArray(Stooge.MOE) class SingleMemberEnumArrOneClass { }49374938// Single member array (two elements)4939@SingleMemberByteArray({1, 2}) class SingleMemberByteArrTwoClass { }4940@SingleMemberShortArray({2, 3}) class SingleMemberShortArrTwoClass { }4941@SingleMemberIntArray({3, 4}) class SingleMemberIntArrTwoClass { }4942@SingleMemberLongArray({4L, 5L}) class SingleMemberLongArrTwoClass { }4943@SingleMemberCharArray({'5', '6'}) class SingleMemberCharArrTwoClass { }4944@SingleMemberFloatArray({6.0f, 7.0f}) class SingleMemberFloatArrTwoClass { }4945@SingleMemberDoubleArray({7.0, 8.0}) class SingleMemberDoubleArrTwoClass { }4946@SingleMemberBooleanArray({true,false}) class SingleMemberBooleanArrTwoClass { }4947@SingleMemberStringArray({"custom", "paint"}) class SingleMemberStringArrTwoClass { }4948@SingleMemberClassArray({Map.class, Set.class}) class SingleMemberClassArrTwoClass { }4949@SingleMemberEnumArray({Stooge.MOE, Stooge.CURLY}) class SingleMemberEnumArrTwoClass { }49504951// Single member array with default (override)4952@SingleMemberByteArrayDef(1) class SingleMemberByteArrOvrdDefClass { }4953@SingleMemberShortArrayDef(2) class SingleMemberShortArrOvrdDefClass { }4954@SingleMemberIntArrayDef(3) class SingleMemberIntArrOvrdDefClass { }4955@SingleMemberLongArrayDef(4L) class SingleMemberLongArrOvrdDefClass { }4956@SingleMemberCharArrayDef('5') class SingleMemberCharArrOvrdDefClass { }4957@SingleMemberFloatArrayDef(6.0f) class SingleMemberFloatArrOvrdDefClass { }4958@SingleMemberDoubleArrayDef(7.0) class SingleMemberDoubleArrOvrdDefClass { }4959@SingleMemberBooleanArrayDef(true) class SingleMemberBooleanArrOvrdDefClass { }4960@SingleMemberStringArrayDef("custom") class SingleMemberStringArrOvrdDefClass { }4961@SingleMemberClassArrayDef(Map.class) class SingleMemberClassArrOvrdDefClass { }4962@SingleMemberEnumArrayDef(Stooge.MOE) class SingleMemberEnumArrOvrdDefClass { }49634964// Single member array with default - accept4965@SingleMemberByteArrayDef class SingleMemberByteArrAcceptDefClass { }4966@SingleMemberShortArrayDef class SingleMemberShortArrAcceptDefClass { }4967@SingleMemberIntArrayDef class SingleMemberIntArrAcceptDefClass { }4968@SingleMemberLongArrayDef class SingleMemberLongArrAcceptDefClass { }4969@SingleMemberCharArrayDef class SingleMemberCharArrAcceptDefClass { }4970@SingleMemberFloatArrayDef class SingleMemberFloatArrAcceptDefClass { }4971@SingleMemberDoubleArrayDef class SingleMemberDoubleArrAcceptDefClass { }4972@SingleMemberBooleanArrayDef class SingleMemberBooleanArrAcceptDefClass { }4973@SingleMemberStringArrayDef class SingleMemberStringArrAcceptDefClass { }4974@SingleMemberClassArrayDef class SingleMemberClassArrAcceptDefClass { }4975@SingleMemberEnumArrayDef class SingleMemberEnumArrAcceptDefClass { }49764977// Annotated classes for inheritance and declared-annotations tests4978@Foo @Bar class Grandpa { }4979class Dad extends Grandpa { }4980@Bar class Son extends Dad { }498149824983