1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/*
2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  Licensed to the Apache Software Foundation (ASF) under one or more
3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  contributor license agreements.  See the NOTICE file distributed with
4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  this work for additional information regarding copyright ownership.
5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  The ASF licenses this file to You under the Apache License, Version 2.0
6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  (the "License"); you may not use this file except in compliance with
7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  the License.  You may obtain a copy of the License at
8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *     http://www.apache.org/licenses/LICENSE-2.0
10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  Unless required by applicable law or agreed to in writing, software
12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  distributed under the License is distributed on an "AS IS" BASIS,
13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  See the License for the specific language governing permissions and
15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  limitations under the License.
16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */
17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.luni.tests.java.lang.reflect;
19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.lang.reflect.Array;
21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class ArrayTest extends junit.framework.TestCase {
23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#get(java.lang.Object, int)
26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getLjava_lang_ObjectI() {
28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.Object
29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.get(java.lang.Object, int)
30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		int[] x = { 1 };
32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object ret = null;
33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		ret = Array.get(x, 0);
35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Get returned incorrect value",
37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				1, ((Integer) ret).intValue());
38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.get(new Object(), 0);
40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.get(x, 4);
50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#getBoolean(java.lang.Object, int)
61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getBooleanLjava_lang_ObjectI() {
63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method boolean
64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.getBoolean(java.lang.Object, int)
65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean[] x = { true };
66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean ret = false;
67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		ret = Array.getBoolean(x, 0);
69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertTrue("Get returned incorrect value", ret);
71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.getBoolean(new Object(), 0);
73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.getBoolean(x, 4);
83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#getByte(java.lang.Object, int)
94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getByteLjava_lang_ObjectI() {
96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method byte
97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.getByte(java.lang.Object, int)
98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		byte[] x = { 1 };
99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		byte ret = 0;
100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		ret = Array.getByte(x, 0);
102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Get returned incorrect value", 1, ret);
104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.getByte(new Object(), 0);
106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.getByte(x, 4);
116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#getChar(java.lang.Object, int)
127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getCharLjava_lang_ObjectI() {
129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method char
130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.getChar(java.lang.Object, int)
131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		char[] x = { 1 };
132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		char ret = 0;
133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		ret = Array.getChar(x, 0);
135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Get returned incorrect value", 1, ret);
137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.getChar(new Object(), 0);
139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.getChar(x, 4);
149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#getDouble(java.lang.Object, int)
160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getDoubleLjava_lang_ObjectI() {
162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method double
163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.getDouble(java.lang.Object, int)
164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		double[] x = { 1 };
165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		double ret = 0;
166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		ret = Array.getDouble(x, 0);
168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Get returned incorrect value", 1, ret, 0.0);
170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.getDouble(new Object(), 0);
172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.getDouble(x, 4);
183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#getFloat(java.lang.Object, int)
194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getFloatLjava_lang_ObjectI() {
196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method float
197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.getFloat(java.lang.Object, int)
198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		float[] x = { 1 };
199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		float ret = 0;
200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		ret = Array.getFloat(x, 0);
202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Get returned incorrect value", 1, ret, 0.0);
204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.getFloat(new Object(), 0);
206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.getFloat(x, 4);
216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#getInt(java.lang.Object, int)
227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getIntLjava_lang_ObjectI() {
229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method int java.lang.reflect.Array.getInt(java.lang.Object,
230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// int)
231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		int[] x = { 1 };
232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		int ret = 0;
233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		ret = Array.getInt(x, 0);
235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Get returned incorrect value", 1, ret);
237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.getInt(new Object(), 0);
239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.getInt(x, 4);
249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#getLength(java.lang.Object)
260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getLengthLjava_lang_Object() {
262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method int
263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.getLength(java.lang.Object)
264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		long[] x = { 1 };
265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Returned incorrect length", 1, Array.getLength(x));
267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Returned incorrect length", 10000, Array
268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				.getLength(new Object[10000]));
269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.getLength(new Object());
271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct
273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			return;
274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		fail("Failed to throw exception when passed non-array");
276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#getLong(java.lang.Object, int)
280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getLongLjava_lang_ObjectI() {
282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method long
283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.getLong(java.lang.Object, int)
284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		long[] x = { 1 };
285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		long ret = 0;
286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		ret = Array.getLong(x, 0);
288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Get returned incorrect value", 1, ret);
290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.getLong(new Object(), 0);
292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.getLong(x, 4);
302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#getShort(java.lang.Object, int)
313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getShortLjava_lang_ObjectI() {
315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method short
316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.getShort(java.lang.Object, int)
317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		short[] x = { 1 };
318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		short ret = 0;
319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		ret = Array.getShort(x, 0);
321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Get returned incorrect value", 1, ret);
323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.getShort(new Object(), 0);
325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			ret = Array.getShort(x, 4);
335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#newInstance(java.lang.Class, int[])
346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_newInstanceLjava_lang_Class$I() {
348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.Object
349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.newInstance(java.lang.Class, int [])
350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		int[][] x;
351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		int[] y = { 2 };
352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		x = (int[][]) Array.newInstance(int[].class, y);
354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Failed to instantiate array properly", 2, x.length);
355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#newInstance(java.lang.Class, int)
360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_newInstanceLjava_lang_ClassI() {
362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.Object
363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.newInstance(java.lang.Class, int)
364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		int[] x;
365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		x = (int[]) Array.newInstance(int.class, 100);
367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Failed to instantiate array properly", 100, x.length);
368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#set(java.lang.Object, int,
372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 *        java.lang.Object)
373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_setLjava_lang_ObjectILjava_lang_Object() {
375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void java.lang.reflect.Array.set(java.lang.Object,
376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// int, java.lang.Object)
377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		int[] x = { 0 };
378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Array.set(x, 0, new Integer(1));
380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Get returned incorrect value", 1, ((Integer) Array.get(x, 0))
382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				.intValue());
383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.set(new Object(), 0, new Object());
385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.set(x, 4, new Integer(1));
395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// trying to put null in a primitive array causes
404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// a IllegalArgumentException in 5.0
405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean exception = false;
406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.set(new int[1], 0, null);
408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			exception = true;
410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("expected exception not thrown", exception);
412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#setBoolean(java.lang.Object, int, boolean)
416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_setBooleanLjava_lang_ObjectIZ() {
418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.setBoolean(java.lang.Object, int, boolean)
420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean[] x = { false };
421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Array.setBoolean(x, 0, true);
423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertTrue("Failed to set correct value", Array.getBoolean(x, 0));
425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.setBoolean(new Object(), 0, false);
427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown){
432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.setBoolean(x, 4, false);
437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#setByte(java.lang.Object, int, byte)
448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_setByteLjava_lang_ObjectIB() {
450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.setByte(java.lang.Object, int, byte)
452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		byte[] x = { 0 };
453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Array.setByte(x, 0, (byte) 1);
455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Get returned incorrect value", 1, Array.getByte(x, 0));
457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.setByte(new Object(), 0, (byte) 9);
459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.setByte(x, 4, (byte) 9);
469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#setChar(java.lang.Object, int, char)
480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_setCharLjava_lang_ObjectIC() {
482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.setChar(java.lang.Object, int, char)
484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		char[] x = { 0 };
485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Array.setChar(x, 0, (char) 1);
487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Get returned incorrect value", 1, Array.getChar(x, 0));
489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.setChar(new Object(), 0, (char) 9);
491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
497561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
498561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
499561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
500561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.setChar(x, 4, (char) 9);
501561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
502561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
503561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
504561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
505561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
506561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
507561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
508561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
509561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
510561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
511561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#setDouble(java.lang.Object, int, double)
512561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
513561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_setDoubleLjava_lang_ObjectID() {
514561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
515561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.setDouble(java.lang.Object, int, double)
516561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		double[] x = { 0 };
517561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
518561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Array.setDouble(x, 0, (double) 1);
519561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
520561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Get returned incorrect value", 1, Array.getDouble(x, 0), 0.0);
521561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
522561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.setDouble(new Object(), 0, (double) 9);
523561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
524561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
525561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
526561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
527561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
528561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
529561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
530561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
531561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
532561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.setDouble(x, 4, (double) 9);
533561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
534561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
535561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
536561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
537561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
538561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
539561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
540561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
541561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
542561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
543561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#setFloat(java.lang.Object, int, float)
544561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
545561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_setFloatLjava_lang_ObjectIF() {
546561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
547561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.setFloat(java.lang.Object, int, float)
548561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		float[] x = { 0.0f };
549561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
550561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Array.setFloat(x, 0, (float) 1);
551561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
552561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Get returned incorrect value", 1, Array.getFloat(x, 0), 0.0);
553561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
554561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.setFloat(new Object(), 0, (float) 9);
555561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
556561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
557561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
558561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
559561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
560561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
561561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
562561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
563561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
564561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.setFloat(x, 4, (float) 9);
565561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
566561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
567561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
568561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
569561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
570561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
571561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
572561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
573561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
574561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
575561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#setInt(java.lang.Object, int, int)
576561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
577561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_setIntLjava_lang_ObjectII() {
578561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void java.lang.reflect.Array.setInt(java.lang.Object,
579561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// int, int)
580561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		int[] x = { 0 };
581561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
582561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Array.setInt(x, 0, (int) 1);
583561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
584561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Get returned incorrect value", 1, Array.getInt(x, 0));
585561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
586561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.setInt(new Object(), 0, (int) 9);
587561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
588561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
589561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
590561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
591561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
592561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
593561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
594561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
595561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
596561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.setInt(x, 4, (int) 9);
597561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
598561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
599561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
600561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
601561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
602561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
603561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
604561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
605561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
606561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
607561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#setLong(java.lang.Object, int, long)
608561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
609561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_setLongLjava_lang_ObjectIJ() {
610561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
611561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.setLong(java.lang.Object, int, long)
612561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		long[] x = { 0 };
613561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
614561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Array.setLong(x, 0, (long) 1);
615561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
616561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Get returned incorrect value", 1, Array.getLong(x, 0));
617561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
618561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.setLong(new Object(), 0, (long) 9);
619561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
620561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
621561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
622561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
623561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
624561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
625561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
626561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
627561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
628561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.setLong(x, 4, (long) 9);
629561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
630561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
631561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
632561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
633561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
634561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
635561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
636561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
637561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
638561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
639561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.lang.reflect.Array#setShort(java.lang.Object, int, short)
640561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
641561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_setShortLjava_lang_ObjectIS() {
642561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
643561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.reflect.Array.setShort(java.lang.Object, int, short)
644561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		short[] x = { 0 };
645561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean thrown = false;
646561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Array.setShort(x, 0, (short) 1);
647561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
648561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Get returned incorrect value", 1, Array.getShort(x, 0));
649561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
650561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.setShort(new Object(), 0, (short) 9);
651561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalArgumentException e) {
652561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
653561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
654561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
655561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
656561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Passing non-array failed to throw exception");
657561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
658561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		thrown = false;
659561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
660561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Array.setShort(x, 4, (short) 9);
661561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ArrayIndexOutOfBoundsException e) {
662561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Correct behaviour
663561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			thrown = true;
664561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
665561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		if (!thrown) {
666561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Invalid index failed to throw exception");
667561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
668561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
669561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
670561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
671561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * Sets up the fixture, for example, open a network connection. This method
672561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * is called before a test is executed.
673561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
674561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	protected void setUp() {
675561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
676561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
677561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
678561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * Tears down the fixture, for example, close a network connection. This
679561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * method is called after a test is executed.
680561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
681561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	protected void tearDown() {
682561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
683561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes}
684