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 18ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamathpackage org.apache.harmony.tests.java.lang.reflect; 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.lang.reflect.Array; 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class ArrayTest extends junit.framework.TestCase { 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 25229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#get(java.lang.Object, int) 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getLjava_lang_ObjectI() { 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.Object 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.get(java.lang.Object, int) 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] x = { 1 }; 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Object ret = null; 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.get(x, 0); 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, ((Integer) ret).intValue()); 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.get(new Object(), 0); 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.get(x, 4); 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 60f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //same test with non primitive component type 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Integer[] y = new Integer[]{ 1 }; 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = null; 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.get(y, 0); 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, ((Integer) ret).intValue()); 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.get(new Object(), 0); 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.get(y, 4); 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 94229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#getBoolean(java.lang.Object, int) 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getBooleanLjava_lang_ObjectI() { 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method boolean 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.getBoolean(java.lang.Object, int) 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean[] x = { true }; 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean ret = false; 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getBoolean(x, 0); 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Get returned incorrect value", ret); 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getBoolean(new Object(), 0); 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getBoolean(x, 4); 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getBoolean(null, 0); 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 140229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#getByte(java.lang.Object, int) 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getByteLjava_lang_ObjectI() { 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method byte 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.getByte(java.lang.Object, int) 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project byte[] x = { 1 }; 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project byte ret = 0; 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getByte(x, 0); 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, ret); 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getByte(new Object(), 0); 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getByte(x, 4); 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getByte(null, 0); 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 186229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#getChar(java.lang.Object, int) 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getCharLjava_lang_ObjectI() { 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method char 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.getChar(java.lang.Object, int) 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project char[] x = { 1 }; 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project char ret = 0; 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getChar(x, 0); 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, ret); 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getChar(new Object(), 0); 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getChar(x, 4); 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getChar(null, 0); 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 232229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#getDouble(java.lang.Object, int) 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getDoubleLjava_lang_ObjectI() { 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method double 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.getDouble(java.lang.Object, int) 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project double[] x = { 1 }; 238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project double ret = 0; 239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getDouble(x, 0); 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, ret, 0.0); 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getDouble(new Object(), 0); 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 252f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getDouble(x, 4); 259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getDouble(null, 0); 269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 279229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#getFloat(java.lang.Object, int) 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getFloatLjava_lang_ObjectI() { 282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method float 283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.getFloat(java.lang.Object, int) 284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project float[] x = { 1 }; 285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project float ret = 0; 286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 288adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getFloat(x, 0); 289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 290adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 292adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, ret, 0.0); 293adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getFloat(new Object(), 0); 295adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException 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("Passing non-array 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.getFloat(x, 4); 305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException 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("Invalid index failed to throw exception"); 311adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 312adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 313adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 314adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getFloat(null, 0); 315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 318adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 319adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 321adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 322adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 323adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 324adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 325229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#getInt(java.lang.Object, int) 326adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 327adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getIntLjava_lang_ObjectI() { 328adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method int java.lang.reflect.Array.getInt(java.lang.Object, 329adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // int) 330adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] x = { 1 }; 331adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int ret = 0; 332adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 334adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getInt(x, 0); 335adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 336adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 337adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 338adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, ret); 339adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 340adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getInt(new Object(), 0); 341adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 342adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 343adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 344adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 345adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 346adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 347adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 348adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 349adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 350adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getInt(x, 4); 351adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 352adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 353adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 354adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 355adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 356adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 357adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 358adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 359adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 360adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getInt(null, 0); 361adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 362adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 363adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 364adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 365adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 366adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 367adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 368adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 369adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 370adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 371229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#getLength(java.lang.Object) 372adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 373adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getLengthLjava_lang_Object() { 374adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method int 375adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.getLength(java.lang.Object) 376adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project long[] x = { 1 }; 377adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 378adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Returned incorrect length", 1, Array.getLength(x)); 379adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Returned incorrect length", 10000, Array 380adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getLength(new Object[10000])); 381adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 382adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.getLength(new Object()); 383adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 384adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct 385adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return; 386adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 387adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Failed to throw exception when passed non-array"); 388adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 389adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 390adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 391229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#getLong(java.lang.Object, int) 392adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 393adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getLongLjava_lang_ObjectI() { 394adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method long 395adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.getLong(java.lang.Object, int) 396adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project long[] x = { 1 }; 397adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project long ret = 0; 398adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 399adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 400adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getLong(x, 0); 401adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 402adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 403adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 404adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, ret); 405adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 406adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getLong(new Object(), 0); 407adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 408adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 409adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 410adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 411adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 412adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 413adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 414adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 415adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 416adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getLong(x, 4); 417adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 418adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 419adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 420adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 421adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 422adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 423adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 424adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 425adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 426adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getLong(null, 0); 427adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 428adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 429adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 430adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 431adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 432adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 433adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 434adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 435adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 436adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 437229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#getShort(java.lang.Object, int) 438adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 439adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getShortLjava_lang_ObjectI() { 440adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method short 441adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.getShort(java.lang.Object, int) 442adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project short[] x = { 1 }; 443adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project short ret = 0; 444adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 445adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 446adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getShort(x, 0); 447adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 448adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 449adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 450adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, ret); 451adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 452adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getShort(new Object(), 0); 453adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 454adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 455adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 456adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 457adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 458adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 459adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 460adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 461adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 462adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getShort(x, 4); 463adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 464adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 465adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 466adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 467adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 468adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 469adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 470adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 471adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 472adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ret = Array.getShort(null, 0); 473adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 474adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 475adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 476adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 477adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 478adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 479adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 480adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 481adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 482adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 483229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#newInstance(java.lang.Class, int[]) 484adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 485adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_newInstanceLjava_lang_Class$I() { 486adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.Object 487adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.newInstance(java.lang.Class, int []) 488adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[][] x; 489adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] y = { 2 }; 490adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 491adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project x = (int[][]) Array.newInstance(int[].class, y); 492adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Failed to instantiate array properly", 2, x.length); 493f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 494adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 495adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 496adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project x = (int[][]) Array.newInstance(null, y); 497adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 498adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 499adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 500adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 501adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 502adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 503adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 504f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 505adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 506adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 507adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.newInstance(int[].class, new int[]{1,-1}); 508adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NegativeArraySizeException e) { 509adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 510adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 511adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 512adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 513adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Negative array size failed to throw NegativeArraySizeException"); 514adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 515f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 516adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 517adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 518adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.newInstance(int[].class, new int[]{}); 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("Zero array size failed to throw IllegalArgumentException"); 525adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 526adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 527adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 528adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 529229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#newInstance(java.lang.Class, int) 530adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 531adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_newInstanceLjava_lang_ClassI() { 532adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.Object 533adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.newInstance(java.lang.Class, int) 534adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] x; 535adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 536adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project x = (int[]) Array.newInstance(int.class, 100); 537adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Failed to instantiate array properly", 100, x.length); 538f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 539adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 540adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 541adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.newInstance(null, 100); 542adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 543adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 544adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 545adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 546adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 547adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 548adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 549f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 550adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 551adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 552adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.newInstance(int[].class, -1); 553adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NegativeArraySizeException e) { 554adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 555adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 556adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 557adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 558adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Negative array size failed to throw NegativeArraySizeException"); 559adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 560adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 561adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 562adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 563229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#set(java.lang.Object, int, 564adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * java.lang.Object) 565adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 566adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setLjava_lang_ObjectILjava_lang_Object() { 567adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void java.lang.reflect.Array.set(java.lang.Object, 568adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // int, java.lang.Object) 569adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] x = { 0 }; 570adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 571adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 572adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.set(x, 0, new Integer(1)); 573adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 574adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 575adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 576adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, ((Integer) Array.get(x, 0)) 577adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .intValue()); 578adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 579adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.set(new Object(), 0, new Object()); 580adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException 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("Passing non-array failed to throw exception"); 586adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 587adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 588adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 589adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.set(x, 4, new Integer(1)); 590adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 591adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 592adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 593adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 594adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 595adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 596adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 597adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 598adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // trying to put null in a primitive array causes 599adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // a IllegalArgumentException in 5.0 600adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean exception = false; 601adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 602adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.set(new int[1], 0, null); 603adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 604adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project exception = true; 605adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 606adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("expected exception not thrown", exception); 607f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 608adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 609adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 610adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.set(null, 0, 2); 611adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 612adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 613adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 614adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 615adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 616adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 617adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 618adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 619adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 620adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 621229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#setBoolean(java.lang.Object, int, boolean) 622adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 623adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setBooleanLjava_lang_ObjectIZ() { 624adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void 625adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.setBoolean(java.lang.Object, int, boolean) 626adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean[] x = { false }; 627adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 628adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 629adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setBoolean(x, 0, true); 630adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 631adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 632adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 633adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Failed to set correct value", Array.getBoolean(x, 0)); 634adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 635adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setBoolean(new Object(), 0, false); 636adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 637adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 638adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 639adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 640adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown){ 641adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 642adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 643adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 644adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 645adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setBoolean(x, 4, false); 646adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 647adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 648adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 649adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 650adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 651adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 652adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 653f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 654adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 655adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 656adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setBoolean(null, 0, true); 657adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 658adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 659adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 660adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 661adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 662adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 663adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 664adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 665adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 666adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 667229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#setByte(java.lang.Object, int, byte) 668adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 669adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setByteLjava_lang_ObjectIB() { 670adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void 671adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.setByte(java.lang.Object, int, byte) 672adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project byte[] x = { 0 }; 673adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 674adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 675adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setByte(x, 0, (byte) 1); 676adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 677adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 678adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 679adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, Array.getByte(x, 0)); 680adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 681adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setByte(new Object(), 0, (byte) 9); 682adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 683adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 684adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 685adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 686adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 687adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 688adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 689adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 690adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 691adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setByte(x, 4, (byte) 9); 692adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 693adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 694adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 695adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 696adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 697adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 698adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 699f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 700adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 701adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 702adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setByte(null, 0, (byte)0); 703adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 704adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 705adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 706adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 707adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 708adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 709adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 710adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 711adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 712adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 713229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#setChar(java.lang.Object, int, char) 714adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 715adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setCharLjava_lang_ObjectIC() { 716adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void 717adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.setChar(java.lang.Object, int, char) 718adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project char[] x = { 0 }; 719adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 720adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 721adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setChar(x, 0, (char) 1); 722adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 723adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 724adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 725adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, Array.getChar(x, 0)); 726adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 727adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setChar(new Object(), 0, (char) 9); 728adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 729adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 730adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 731adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 732adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 733adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 734adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 735adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 736adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 737adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setChar(x, 4, (char) 9); 738adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 739adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 740adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 741adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 742adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 743adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 744adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 745f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 746adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 747adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 748adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setChar(null, 0, (char)0); 749adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 750adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 751adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 752adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 753adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 754adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 755adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 756adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 757adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 758adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 759229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#setDouble(java.lang.Object, int, double) 760adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 761adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setDoubleLjava_lang_ObjectID() { 762adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void 763adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.setDouble(java.lang.Object, int, double) 764adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project double[] x = { 0 }; 765adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 766adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 767adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setDouble(x, 0, 1); 768adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 769adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 770adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 771adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, Array.getDouble(x, 0), 0.0); 772adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 773adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setDouble(new Object(), 0, 9); 774adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 775adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 776adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 777adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 778adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 779adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 780adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 781adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 782adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 783adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setDouble(x, 4, 9); 784adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 785adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 786adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 787adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 788adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 789adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 790adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 791f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 792adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 793adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 794adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setDouble(null, 0, 0); 795adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 796adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 797adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 798adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 799adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 800adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 801adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 802adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 803adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 804adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 805229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#setFloat(java.lang.Object, int, float) 806adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 807adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setFloatLjava_lang_ObjectIF() { 808adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void 809adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.setFloat(java.lang.Object, int, float) 810adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project float[] x = { 0.0f }; 811adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 812adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 813adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setFloat(x, 0, (float) 1); 814adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 815adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 816adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 817adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, Array.getFloat(x, 0), 0.0); 818adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 819adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setFloat(new Object(), 0, (float) 9); 820adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 821adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 822adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 823adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 824adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 825adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 826adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 827adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 828adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 829adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setFloat(x, 4, (float) 9); 830adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException 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("Invalid index failed to throw exception"); 836adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 837f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 838adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 839adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 840adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setFloat(null, 0, 0); 841adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 842adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 843adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 844adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 845adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 846adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 847adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 848adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 849adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 850adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 851229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#setInt(java.lang.Object, int, int) 852adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 853adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setIntLjava_lang_ObjectII() { 854adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void java.lang.reflect.Array.setInt(java.lang.Object, 855adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // int, int) 856adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] x = { 0 }; 857adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 858adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 859adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setInt(x, 0, (int) 1); 860adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 861adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 862adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 863adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, Array.getInt(x, 0)); 864adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 865adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setInt(new Object(), 0, (int) 9); 866adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 867adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 868adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 869adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 870adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 871adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 872adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 873adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 874adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 875adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setInt(x, 4, (int) 9); 876adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 877adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 878adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 879adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 880adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 881adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 882adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 883f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 884adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 885adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 886adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setInt(null, 0, 0); 887adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 888adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 889adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 890adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 891adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 892adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 893adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 894adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 895adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 896adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 897229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#setLong(java.lang.Object, int, long) 898adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 899adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setLongLjava_lang_ObjectIJ() { 900adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void 901adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.setLong(java.lang.Object, int, long) 902adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project long[] x = { 0 }; 903adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 904adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 905adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setLong(x, 0, 1); 906adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 907adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 908adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 909adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, Array.getLong(x, 0)); 910adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 911adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setLong(new Object(), 0, 9); 912adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 913adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 914adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 915adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 916adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 917adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 918adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 919adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 920adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 921adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setLong(x, 4, 9); 922adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 923adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 924adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 925adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 926adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 927adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 928adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 929f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 930adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 931adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 932adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setLong(null, 0, 0); 933adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 934adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 935adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 936adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 937adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 938adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 939adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 940adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 941adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 942adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 943229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.lang.reflect.Array#setShort(java.lang.Object, int, short) 944adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 945adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setShortLjava_lang_ObjectIS() { 946adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void 947adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.reflect.Array.setShort(java.lang.Object, int, short) 948adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project short[] x = { 0 }; 949adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean thrown = false; 950adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 951adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setShort(x, 0, (short) 1); 952adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 953adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during get test : " + e.getMessage()); 954adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 955adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Get returned incorrect value", 1, Array.getShort(x, 0)); 956adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 957adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setShort(new Object(), 0, (short) 9); 958adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 959adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 960adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 961adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 962adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 963adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Passing non-array failed to throw exception"); 964adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 965adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 966adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 967adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setShort(x, 4, (short) 9); 968adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 969adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 970adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 971adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 972adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 973adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Invalid index failed to throw exception"); 974adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 975f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 976adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = false; 977adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 978adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Array.setShort(null, 0, (short)0); 979adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 980adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Correct behaviour 981adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project thrown = true; 982adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 983adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!thrown) { 984adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Null argument failed to throw NPE"); 985adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 986adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 987adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 988adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 989adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Sets up the fixture, for example, open a network connection. This method 990adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * is called before a test is executed. 991adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 992adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void setUp() { 993adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 994adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 995adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 996adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Tears down the fixture, for example, close a network connection. This 997adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * method is called after a test is executed. 998adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 999adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void tearDown() { 1000adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1001adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 1002