ArrayTest.java revision f33eae7e84eb6d3b0f4e86b59605bb3de73009f3
1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this work for additional information regarding copyright ownership. 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (the "License"); you may not use this file except in compliance with 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the License. You may obtain a copy of the License at 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License. 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.api.java.lang.reflect; 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestTargets; 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestLevel; 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestTargetNew; 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestTargetClass; 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.lang.reflect.Array; 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 27f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes@TestTargetClass(Array.class) 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class ArrayTest extends junit.framework.TestCase { 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#get(java.lang.Object, int) 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "get", 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class} 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getLjava_lang_ObjectI() { 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.Object 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.get(java.lang.Object, int) 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] x = { 1 }; 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Object ret = null; 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.get(x, 0); 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, ((Integer) ret).intValue()); 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.get(new Object(), 0); 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.get(x, 4); 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 72f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //same test with non primitive component type 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Integer[] y = new Integer[]{ 1 }; 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = null; 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.get(y, 0); 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, ((Integer) ret).intValue()); 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.get(new Object(), 0); 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.get(y, 4); 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#getBoolean(java.lang.Object, int) 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "getBoolean", 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class} 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getBooleanLjava_lang_ObjectI() { 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method boolean 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.getBoolean(java.lang.Object, int) 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean[] x = { true }; 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean ret = false; 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getBoolean(x, 0); 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Get returned incorrect value", ret); 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getBoolean(new Object(), 0); 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getBoolean(x, 4); 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getBoolean(null, 0); 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#getByte(java.lang.Object, int) 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "getByte", 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class} 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getByteLjava_lang_ObjectI() { 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method byte 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.getByte(java.lang.Object, int) 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project byte[] x = { 1 }; 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project byte ret = 0; 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getByte(x, 0); 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, ret); 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getByte(new Object(), 0); 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getByte(x, 4); 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getByte(null, 0); 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#getChar(java.lang.Object, int) 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "getChar", 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class} 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getCharLjava_lang_ObjectI() { 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method char 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.getChar(java.lang.Object, int) 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project char[] x = { 1 }; 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project char ret = 0; 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getChar(x, 0); 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, ret); 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getChar(new Object(), 0); 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getChar(x, 4); 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getChar(null, 0); 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#getDouble(java.lang.Object, int) 263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "getDouble", 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class} 269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getDoubleLjava_lang_ObjectI() { 271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method double 272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.getDouble(java.lang.Object, int) 273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project double[] x = { 1 }; 274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project double ret = 0; 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getDouble(x, 0); 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, ret, 0.0); 282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getDouble(new Object(), 0); 284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 288f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 290adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 292adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 293adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getDouble(x, 4); 295adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 296adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 297adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 298adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 299adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 300adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 301adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 302adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 304adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getDouble(null, 0); 305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 306adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 307adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 308adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 309adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 310adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 311adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 312adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 313adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 314adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#getFloat(java.lang.Object, int) 316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 318adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 319adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "getFloat", 321adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class} 322adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 323adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getFloatLjava_lang_ObjectI() { 324adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method float 325adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.getFloat(java.lang.Object, int) 326adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project float[] x = { 1 }; 327adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project float ret = 0; 328adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 329adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 330adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getFloat(x, 0); 331adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 332adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 334adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, ret, 0.0); 335adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 336adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getFloat(new Object(), 0); 337adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 338adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 339adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 340adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 341adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 342adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 343adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 344adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 345adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 346adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getFloat(x, 4); 347adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 348adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 349adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 350adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 351adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 352adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 353adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 354adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 355adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 356adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getFloat(null, 0); 357adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 358adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 359adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 360adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 361adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 362adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 363adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 364adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 365adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 366adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 367adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#getInt(java.lang.Object, int) 368adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 369adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 370adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 371adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 372adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "getInt", 373adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class} 374adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 375adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getIntLjava_lang_ObjectI() { 376adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method int java.lang.reflect.Array.getInt(java.lang.Object, 377adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // int) 378adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] x = { 1 }; 379adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int ret = 0; 380adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 381adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 382adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getInt(x, 0); 383adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 384adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 385adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 386adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, ret); 387adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 388adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getInt(new Object(), 0); 389adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 390adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 391adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 392adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 393adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 394adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 395adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 396adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 397adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 398adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getInt(x, 4); 399adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 400adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 401adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 402adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 403adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 404adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 405adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 406adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 407adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 408adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getInt(null, 0); 409adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 410adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 411adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 412adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 413adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 414adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 415adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 416adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 417adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 418adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 419adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#getLength(java.lang.Object) 420adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 421adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 422adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 423adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 424adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "getLength", 425adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class} 426adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 427adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getLengthLjava_lang_Object() { 428adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method int 429adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.getLength(java.lang.Object) 430adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project long[] x = { 1 }; 431adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 432adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Returned incorrect length", 1, Array.getLength(x)); 433adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Returned incorrect length", 10000, Array 434adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getLength(new Object[10000])); 435adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 436adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.getLength(new Object()); 437adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 438adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct 439adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return; 440adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 441adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Failed to throw exception when passed non-array"); 442adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 443adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 444adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 445adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#getLong(java.lang.Object, int) 446adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 447adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 448adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 449adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 450adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "getLong", 451adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class} 452adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 453adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getLongLjava_lang_ObjectI() { 454adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method long 455adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.getLong(java.lang.Object, int) 456adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project long[] x = { 1 }; 457adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project long ret = 0; 458adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 459adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 460adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getLong(x, 0); 461adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 462adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 463adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 464adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, ret); 465adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 466adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getLong(new Object(), 0); 467adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 468adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 469adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 470adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 471adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 472adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 473adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 474adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 475adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 476adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getLong(x, 4); 477adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 478adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 479adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 480adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 481adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 482adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 483adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 484adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 485adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 486adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getLong(null, 0); 487adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 488adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 489adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 490adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 491adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 492adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 493adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 494adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 495adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 496adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 497adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#getShort(java.lang.Object, int) 498adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 499adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 500adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 501adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 502adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "getShort", 503adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class} 504adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 505adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getShortLjava_lang_ObjectI() { 506adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method short 507adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.getShort(java.lang.Object, int) 508adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project short[] x = { 1 }; 509adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project short ret = 0; 510adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 511adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 512adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getShort(x, 0); 513adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 514adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 515adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 516adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, ret); 517adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 518adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getShort(new Object(), 0); 519adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 520adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 521adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 522adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 523adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 524adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 525adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 526adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 527adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 528adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getShort(x, 4); 529adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 530adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 531adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 532adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 533adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 534adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 535adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 536adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 537adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 538adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getShort(null, 0); 539adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 540adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 541adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 542adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 543adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 544adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 545adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 546adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 547adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 548adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 549adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#newInstance(java.lang.Class, int[]) 550adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 551adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 552adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 553adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 554adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "newInstance", 555adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Class.class, int[].class} 556adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 557adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_newInstanceLjava_lang_Class$I() { 558adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.Object 559adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.newInstance(java.lang.Class, int []) 560adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[][] x; 561adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] y = { 2 }; 562adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 563adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project x = (int[][]) Array.newInstance(int[].class, y); 564adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Failed to instantiate array properly", 2, x.length); 565f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 566adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 567adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 568adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project x = (int[][]) Array.newInstance(null, y); 569adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 570adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 571adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 572adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 573adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 574adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 575adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 576f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 577adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 578adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 579adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.newInstance(int[].class, new int[]{1,-1}); 580adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NegativeArraySizeException e) { 581adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 582adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 583adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 584adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 585adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Negative array size failed to throw NegativeArraySizeException"); 586adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 587f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 588adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 589adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 590adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.newInstance(int[].class, new int[]{}); 591adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 592adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 593adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 594adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 595adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 596adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Zero array size failed to throw IllegalArgumentException"); 597adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 598adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 599adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 600adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 601adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#newInstance(java.lang.Class, int) 602adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 603adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 604adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 605adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 606adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "newInstance", 607adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Class.class, int.class} 608adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 609adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_newInstanceLjava_lang_ClassI() { 610adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.Object 611adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.newInstance(java.lang.Class, int) 612adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] x; 613adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 614adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project x = (int[]) Array.newInstance(int.class, 100); 615adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Failed to instantiate array properly", 100, x.length); 616f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 617adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 618adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 619adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.newInstance(null, 100); 620adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 621adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 622adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 623adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 624adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 625adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 626adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 627f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 628adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 629adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 630adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.newInstance(int[].class, -1); 631adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NegativeArraySizeException e) { 632adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 633adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 634adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 635adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 636adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Negative array size failed to throw NegativeArraySizeException"); 637adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 638adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 639adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 640adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 641adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#set(java.lang.Object, int, 642adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * java.lang.Object) 643adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 644adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 645adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 646adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 647adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "set", 648adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class, java.lang.Object.class} 649adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 650adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setLjava_lang_ObjectILjava_lang_Object() { 651adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void java.lang.reflect.Array.set(java.lang.Object, 652adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // int, java.lang.Object) 653adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] x = { 0 }; 654adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 655adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 656adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.set(x, 0, new Integer(1)); 657adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 658adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 659adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 660adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, ((Integer) Array.get(x, 0)) 661adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .intValue()); 662adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 663adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.set(new Object(), 0, new Object()); 664adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 665adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 666adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 667adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 668adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 669adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 670adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 671adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 672adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 673adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.set(x, 4, new Integer(1)); 674adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 675adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 676adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 677adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 678adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 679adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 680adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 681adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 682adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // trying to put null in a primitive array causes 683adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // a IllegalArgumentException in 5.0 684adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean exception = false; 685adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 686adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.set(new int[1], 0, null); 687adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 688adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project exception = true; 689adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 690adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("expected exception not thrown", exception); 691f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 692adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 693adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 694adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.set(null, 0, 2); 695adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 696adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 697adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 698adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 699adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 700adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 701adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 702adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 703adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 704adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 705adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#setBoolean(java.lang.Object, int, boolean) 706adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 707adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 708adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 709adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 710adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "setBoolean", 711adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class, boolean.class} 712adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 713adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setBooleanLjava_lang_ObjectIZ() { 714adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void 715adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.setBoolean(java.lang.Object, int, boolean) 716adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean[] x = { false }; 717adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 718adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 719adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setBoolean(x, 0, true); 720adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 721adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 722adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 723adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Failed to set correct value", Array.getBoolean(x, 0)); 724adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 725adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setBoolean(new Object(), 0, false); 726adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 727adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 728adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 729adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 730adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown){ 731adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 732adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 733adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 734adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 735adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setBoolean(x, 4, false); 736adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 737adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 738adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 739adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 740adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 741adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 742adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 743f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 744adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 745adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 746adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setBoolean(null, 0, true); 747adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 748adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 749adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 750adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 751adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 752adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 753adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 754adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 755adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 756adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 757adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#setByte(java.lang.Object, int, byte) 758adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 759adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 760adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 761adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 762adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "setByte", 763adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class, byte.class} 764adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 765adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setByteLjava_lang_ObjectIB() { 766adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void 767adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.setByte(java.lang.Object, int, byte) 768adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project byte[] x = { 0 }; 769adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 770adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 771adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setByte(x, 0, (byte) 1); 772adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 773adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 774adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 775adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, Array.getByte(x, 0)); 776adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 777adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setByte(new Object(), 0, (byte) 9); 778adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 779adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 780adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 781adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 782adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 783adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 784adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 785adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 786adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 787adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setByte(x, 4, (byte) 9); 788adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 789adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 790adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 791adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 792adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 793adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 794adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 795f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 796adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 797adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 798adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setByte(null, 0, (byte)0); 799adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 800adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 801adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 802adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 803adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 804adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 805adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 806adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 807adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 808adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 809adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#setChar(java.lang.Object, int, char) 810adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 811adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 812adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 813adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 814adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "setChar", 815adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class, char.class} 816adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 817adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setCharLjava_lang_ObjectIC() { 818adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void 819adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.setChar(java.lang.Object, int, char) 820adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project char[] x = { 0 }; 821adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 822adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 823adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setChar(x, 0, (char) 1); 824adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 825adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 826adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 827adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, Array.getChar(x, 0)); 828adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 829adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setChar(new Object(), 0, (char) 9); 830adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 831adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 832adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 833adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 834adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 835adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 836adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 837adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 838adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 839adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setChar(x, 4, (char) 9); 840adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 841adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 842adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 843adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 844adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 845adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 846adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 847f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 848adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 849adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 850adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setChar(null, 0, (char)0); 851adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 852adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 853adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 854adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 855adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 856adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 857adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 858adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 859adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 860adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 861adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#setDouble(java.lang.Object, int, double) 862adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 863adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 864adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 865adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 866adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "setDouble", 867adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class, double.class} 868adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 869adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setDoubleLjava_lang_ObjectID() { 870adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void 871adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.setDouble(java.lang.Object, int, double) 872adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project double[] x = { 0 }; 873adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 874adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 875adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setDouble(x, 0, 1); 876adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 877adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 878adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 879adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, Array.getDouble(x, 0), 0.0); 880adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 881adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setDouble(new Object(), 0, 9); 882adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 883adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 884adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 885adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 886adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 887adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 888adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 889adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 890adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 891adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setDouble(x, 4, 9); 892adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 893adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 894adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 895adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 896adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 897adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 898adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 899f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 900adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 901adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 902adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setDouble(null, 0, 0); 903adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 904adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 905adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 906adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 907adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 908adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 909adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 910adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 911adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 912adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 913adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#setFloat(java.lang.Object, int, float) 914adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 915adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 916adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 917adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 918adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "setFloat", 919adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class, float.class} 920adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 921adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setFloatLjava_lang_ObjectIF() { 922adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void 923adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.setFloat(java.lang.Object, int, float) 924adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project float[] x = { 0.0f }; 925adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 926adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 927adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setFloat(x, 0, (float) 1); 928adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 929adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 930adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 931adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, Array.getFloat(x, 0), 0.0); 932adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 933adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setFloat(new Object(), 0, (float) 9); 934adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 935adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 936adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 937adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 938adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 939adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 940adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 941adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 942adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 943adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setFloat(x, 4, (float) 9); 944adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 945adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 946adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 947adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 948adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 949adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 950adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 951f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 952adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 953adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 954adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setFloat(null, 0, 0); 955adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 956adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 957adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 958adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 959adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 960adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 961adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 962adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 963adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 964adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 965adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#setInt(java.lang.Object, int, int) 966adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 967adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 968adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 969adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 970adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "setInt", 971adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class, int.class} 972adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 973adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setIntLjava_lang_ObjectII() { 974adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void java.lang.reflect.Array.setInt(java.lang.Object, 975adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // int, int) 976adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] x = { 0 }; 977adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 978adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 979adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setInt(x, 0, (int) 1); 980adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 981adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 982adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 983adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, Array.getInt(x, 0)); 984adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 985adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setInt(new Object(), 0, (int) 9); 986adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 987adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 988adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 989adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 990adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 991adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 992adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 993adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 994adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 995adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setInt(x, 4, (int) 9); 996adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 997adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 998adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 999adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1000adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 1001adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 1002adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1003f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 1004adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 1005adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 1006adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setInt(null, 0, 0); 1007adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 1008adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 1009adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 1010adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1011adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 1012adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 1013adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1014adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1015adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1016adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 1017adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#setLong(java.lang.Object, int, long) 1018adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 1019adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 1020adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 1021adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 1022adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "setLong", 1023adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class, long.class} 1024adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 1025adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setLongLjava_lang_ObjectIJ() { 1026adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void 1027adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.setLong(java.lang.Object, int, long) 1028adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project long[] x = { 0 }; 1029adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 1030adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 1031adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setLong(x, 0, 1); 1032adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 1033adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 1034adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1035adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, Array.getLong(x, 0)); 1036adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 1037adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setLong(new Object(), 0, 9); 1038adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 1039adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 1040adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 1041adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1042adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 1043adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 1044adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1045adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 1046adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 1047adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setLong(x, 4, 9); 1048adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 1049adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 1050adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 1051adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1052adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 1053adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 1054adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1055f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 1056adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 1057adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 1058adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setLong(null, 0, 0); 1059adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 1060adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 1061adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 1062adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1063adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 1064adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 1065adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1066adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1067adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1068adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 1069adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.lang.reflect.Array#setShort(java.lang.Object, int, short) 1070adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 1071adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 1072adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 1073adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 1074adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "setShort", 1075adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class, int.class, short.class} 1076adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 1077adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setShortLjava_lang_ObjectIS() { 1078adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void 1079adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.setShort(java.lang.Object, int, short) 1080adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project short[] x = { 0 }; 1081adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 1082adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 1083adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setShort(x, 0, (short) 1); 1084adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 1085adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 1086adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1087adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, Array.getShort(x, 0)); 1088adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 1089adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setShort(new Object(), 0, (short) 9); 1090adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 1091adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 1092adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 1093adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1094adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 1095adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 1096adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1097adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 1098adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 1099adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setShort(x, 4, (short) 9); 1100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 1101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 1102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 1103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 1105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 1106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1107f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 1108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 1109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 1110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setShort(null, 0, (short)0); 1111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 1112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 1113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 1114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 1116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 1117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 1121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Sets up the fixture, for example, open a network connection. This method 1122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * is called before a test is executed. 1123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 1124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void setUp() { 1125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 1128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Tears down the fixture, for example, close a network connection. This 1129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * method is called after a test is executed. 1130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 1131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void tearDown() { 1132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 1134