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