1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/* 2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more 3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * contributor license agreements. See the NOTICE file distributed with 4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * this work for additional information regarding copyright ownership. 5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0 6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * (the "License"); you may not use this file except in compliance with 7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * the License. You may obtain a copy of the License at 8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Unless required by applicable law or agreed to in writing, software 12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * See the License for the specific language governing permissions and 15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * limitations under the License. 16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.luni.tests.java.util; 18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.lang.reflect.Method; 20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Arrays; 21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Comparator; 22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Date; 23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.LinkedList; 24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.List; 25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport tests.support.Support_UnmodifiableCollectionTest; 27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class ArraysTest extends junit.framework.TestCase { 29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public static class ReversedIntegerComparator implements Comparator { 31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public int compare(Object o1, Object o2) { 32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return -(((Integer) o1).compareTo((Integer) o2)); 33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public boolean equals(Object o1, Object o2) { 36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return ((Integer) o1).compareTo((Integer) o2) == 0; 37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes static class MockComparable implements Comparable{ 41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public int compareTo(Object o) { 42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return 0; 43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes final static int arraySize = 100; 47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes static Object[] objArray; 49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes static boolean[] booleanArray; 51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes static byte[] byteArray; 53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes static char[] charArray; 55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes static double[] doubleArray; 57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes static float[] floatArray; 59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes static int[] intArray; 61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes static long[] longArray; 63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes static Object[] objectArray; 65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes static short[] shortArray; 67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes { 68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes objArray = new Object[arraySize]; 69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < objArray.length; i++) 70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes objArray[i] = new Integer(i); 71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#asList(java.lang.Object[]) 75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_asList$Ljava_lang_Object() { 77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.util.List 78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.util.Arrays.asList(java.lang.Object []) 79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List convertedList = Arrays.asList(objectArray); 80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Array and List converted from array do not contain identical elements", 83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes convertedList.get(counter) == objectArray[counter]); 84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes convertedList.set(50, new Integer(1000)); 86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("set/get did not work on coverted list", convertedList.get( 87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 50).equals(new Integer(1000))); 88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes convertedList.set(50, new Integer(50)); 89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new Support_UnmodifiableCollectionTest("", convertedList).runTest(); 90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] myArray = (Object[]) (objectArray.clone()); 92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes myArray[30] = null; 93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes myArray[60] = null; 94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes convertedList = Arrays.asList(myArray); 95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Array and List converted from array do not contain identical elements", 98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes convertedList.get(counter) == myArray[counter]); 99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.asList((Object[])null); 103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("asList with null arg didn't throw NPE"); 104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(byte[], byte) 111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$BB() { 113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.util.Arrays.binarySearch(byte [], byte) 114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (byte counter = 0; counter < arraySize; counter++) 115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Binary search on byte[] answered incorrect position", 116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(byteArray, counter) == counter); 117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Binary search succeeded for value not present in array 1", 118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -1, Arrays.binarySearch(intArray, (byte) -1)); 119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 2", 121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(intArray, (byte) arraySize) == -(arraySize + 1)); 122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (byte counter = 0; counter < arraySize; counter++) 123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byteArray[counter] -= 50; 124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (byte counter = 0; counter < arraySize; counter++) 125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on byte[] involving negative numbers answered incorrect position", 127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(byteArray, (byte) (counter - 50)) == counter); 128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(char[], char) 132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$CC() { 134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.util.Arrays.binarySearch(char [], char) 135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (char counter = 0; counter < arraySize; counter++) 136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on char[] answered incorrect position", 138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(charArray, (char) (counter + 1)) == counter); 139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Binary search succeeded for value not present in array 1", 140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -1, Arrays.binarySearch(charArray, '\u0000')); 141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 2", 143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(charArray, (char) (arraySize + 1)) == -(arraySize + 1)); 144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(double[], double) 148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$DD() { 150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.util.Arrays.binarySearch(double [], double) 151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on double[] answered incorrect position", 154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(doubleArray, (double) counter) == (double) counter); 155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Binary search succeeded for value not present in array 1", 156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -1, Arrays.binarySearch(doubleArray, (double) -1)); 157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 2", 159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(doubleArray, (double) arraySize) == -(arraySize + 1)); 160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes doubleArray[counter] -= (double) 50; 162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on double[] involving negative numbers answered incorrect position", 165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(doubleArray, (double) (counter - 50)) == (double) counter); 166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double[] specials = new double[] { Double.NEGATIVE_INFINITY, 168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -Double.MAX_VALUE, -2d, -Double.MIN_VALUE, -0d, 0d, 169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Double.MIN_VALUE, 2d, Double.MAX_VALUE, 170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Double.POSITIVE_INFINITY, Double.NaN }; 171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < specials.length; i++) { 172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int result = Arrays.binarySearch(specials, specials[i]); 173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(specials[i] + " invalid: " + result, result == i); 174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("-1d", -4, Arrays.binarySearch(specials, -1d)); 176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("1d", -8, Arrays.binarySearch(specials, 1d)); 177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(float[], float) 182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$FF() { 184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.util.Arrays.binarySearch(float [], float) 185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on float[] answered incorrect position", 188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(floatArray, (float) counter) == (float) counter); 189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Binary search succeeded for value not present in array 1", 190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -1, Arrays.binarySearch(floatArray, (float) -1)); 191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 2", 193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(floatArray, (float) arraySize) == -(arraySize + 1)); 194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes floatArray[counter] -= (float) 50; 196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on float[] involving negative numbers answered incorrect position", 199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(floatArray, (float) counter - 50) == (float) counter); 200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float[] specials = new float[] { Float.NEGATIVE_INFINITY, 202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -Float.MAX_VALUE, -2f, -Float.MIN_VALUE, -0f, 0f, 203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Float.MIN_VALUE, 2f, Float.MAX_VALUE, Float.POSITIVE_INFINITY, 204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Float.NaN }; 205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < specials.length; i++) { 206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int result = Arrays.binarySearch(specials, specials[i]); 207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(specials[i] + " invalid: " + result, result == i); 208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("-1f", -4, Arrays.binarySearch(specials, -1f)); 210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("1f", -8, Arrays.binarySearch(specials, 1f)); 211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(int[], int) 215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$II() { 217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.util.Arrays.binarySearch(int [], int) 218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Binary search on int[] answered incorrect position", 220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(intArray, counter) == counter); 221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Binary search succeeded for value not present in array 1", 222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -1, Arrays.binarySearch(intArray, -1)); 223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Binary search succeeded for value not present in array 2", 224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(intArray, arraySize) == -(arraySize + 1)); 225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes intArray[counter] -= 50; 227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on int[] involving negative numbers answered incorrect position", 230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(intArray, counter - 50) == counter); 231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(long[], long) 235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$JJ() { 237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.util.Arrays.binarySearch(long [], long) 238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (long counter = 0; counter < arraySize; counter++) 239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Binary search on long[] answered incorrect position", 240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(longArray, counter) == counter); 241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Binary search succeeded for value not present in array 1", 242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -1, Arrays.binarySearch(longArray, (long) -1)); 243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 2", 245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(longArray, (long) arraySize) == -(arraySize + 1)); 246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (long counter = 0; counter < arraySize; counter++) 247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes longArray[(int) counter] -= (long) 50; 248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (long counter = 0; counter < arraySize; counter++) 249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on long[] involving negative numbers answered incorrect position", 251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(longArray, counter - (long) 50) == counter); 252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(java.lang.Object[], 256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * java.lang.Object) 257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$Ljava_lang_ObjectLjava_lang_Object() { 259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.util.Arrays.binarySearch(java.lang.Object 260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // [], java.lang.Object) 261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals( 262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for non-comparable value in empty array", 263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -1, Arrays.binarySearch(new Object[] {}, new Object())); 264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals( 265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for comparable value in empty array", 266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -1, Arrays.binarySearch(new Object[] {}, new Integer(-1))); 267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on Object[] answered incorrect position", 270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, objArray[counter]) == counter); 271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Binary search succeeded for value not present in array 1", 272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -1, Arrays.binarySearch(objectArray, new Integer(-1))); 273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 2", 275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, new Integer(arraySize)) == -(arraySize + 1)); 276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object object = new Object(); 278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] objects = new MockComparable[] { new MockComparable() }; 279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Should always return 0", 0, Arrays.binarySearch(objects, object)); 280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] string_objects = new String[] { "one" }; 282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(string_objects, object); 284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("No expected ClassCastException"); 285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ClassCastException e) { 286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(java.lang.Object[], 292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * java.lang.Object, java.util.Comparator) 293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$Ljava_lang_ObjectLjava_lang_ObjectLjava_util_Comparator() { 295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.util.Arrays.binarySearch(java.lang.Object 296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // [], java.lang.Object, java.util.Comparator) 297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Comparator comp = new ReversedIntegerComparator(); 298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes objectArray[counter] = objArray[arraySize - counter - 1]; 300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 1", 302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, new Integer(-1), comp) == -(arraySize + 1)); 303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Binary search succeeded for value not present in array 2", 304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -1, Arrays.binarySearch(objectArray, new Integer(arraySize), comp)); 305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on Object[] with custom comparator answered incorrect position", 308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, objArray[counter], comp) == arraySize 309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes - counter - 1); 310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(short[], short) 314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$SS() { 316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.util.Arrays.binarySearch(short [], short) 317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (short counter = 0; counter < arraySize; counter++) 318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Binary search on short[] answered incorrect position", 319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(shortArray, counter) == counter); 320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Binary search succeeded for value not present in array 1", 321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -1, Arrays.binarySearch(intArray, (short) -1)); 322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 2", 324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(intArray, (short) arraySize) == -(arraySize + 1)); 325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (short counter = 0; counter < arraySize; counter++) 326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes shortArray[counter] -= 50; 327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (short counter = 0; counter < arraySize; counter++) 328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on short[] involving negative numbers answered incorrect position", 330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(shortArray, (short) (counter - 50)) == counter); 331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Arrays_binaraySearch_byte() { 334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays.binarySearch(new byte[] { '0' }, 0, 0, 335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (byte) '1')); 336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new byte[] { '0' }, 1, 1, 337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (byte) '1')); 338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new byte[] { '0', '1' }, 1, 1, 339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (byte) '2')); 340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-3, Arrays.binarySearch(new byte[] { '0', '1' }, 2, 2, 341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (byte) '2')); 342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Arrays_binaraySearch_char() { 345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays.binarySearch(new char[] { '0' }, 0, 0, '1')); 346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new char[] { '0' }, 1, 1, '1')); 347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays 348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .binarySearch(new char[] { '0', '1' }, 1, 1, '2')); 349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-3, Arrays 350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .binarySearch(new char[] { '0', '1' }, 2, 2, '2')); 351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Arrays_binaraySearch_float() { 354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays.binarySearch(new float[] { -1.0f }, 0, 0, 0.0f)); 355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new float[] { -1.0f }, 1, 1, 0.0f)); 356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new float[] { -1.0f, 0f }, 1, 1, 357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1f)); 358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-3, Arrays.binarySearch(new float[] { -1.0f, 0f }, 2, 2, 359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1f)); 360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Arrays_binaraySearch_double() { 363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays.binarySearch(new double[] { -1.0 }, 0, 0, 0.0)); 364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new double[] { -1.0 }, 1, 1, 0.0)); 365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new double[] { -1.0, 0 }, 1, 1, 1)); 366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-3, Arrays.binarySearch(new double[] { -1.0, 0 }, 2, 2, 1)); 367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Arrays_binaraySearch_int() { 370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays.binarySearch(new int[] { -1 }, 0, 0, 0)); 371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new int[] { -1 }, 1, 1, 0)); 372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new int[] { -1, 0 }, 1, 1, 1)); 373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-3, Arrays.binarySearch(new int[] { -1, 0 }, 2, 2, 1)); 374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Arrays_binaraySearch_long() { 377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays.binarySearch(new long[] { -1l }, 0, 0, 0l)); 378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new long[] { -1l }, 1, 1, 0l)); 379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new long[] { -1l, 0l }, 1, 1, 1l)); 380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-3, Arrays.binarySearch(new long[] { -1l, 0l }, 2, 2, 1l)); 381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Arrays_binaraySearch_short() { 384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays.binarySearch(new short[] { (short) -1 }, 0, 0, 385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (short) 0)); 386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new short[] { (short) -1 }, 1, 1, 387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (short) 0)); 388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new short[] { (short) -1, 389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (short) 0 }, 1, 1, (short) 1)); 390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-3, Arrays.binarySearch(new short[] { (short) -1, 391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (short) 0 }, 2, 2, (short) 1)); 392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Arrays_binaraySearch_Object() { 395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays.binarySearch(new Object[] { new Integer(-1) }, 396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 0, 0, new Integer(0))); 397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new Object[] { new Integer(-1) }, 398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1, 1, new Integer(0))); 399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new Object[] { new Integer(-1), 400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new Integer(0) }, 1, 1, new Integer(1))); 401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-3, Arrays.binarySearch(new Object[] { new Integer(-1), 402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new Integer(0) }, 2, 2, new Integer(1))); 403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Arrays_binaraySearch_T() { 406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ReversedIntegerComparator reversedComparator = new ReversedIntegerComparator(); 407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays.binarySearch(new Integer[] { new Integer(-1) }, 408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 0, 0, new Integer(0), reversedComparator)); 409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new Integer[] { new Integer(-1) }, 410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1, 1, new Integer(0), reversedComparator)); 411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2, Arrays.binarySearch(new Integer[] { new Integer(-1), 412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new Integer(0) }, 1, 1, new Integer(1), reversedComparator)); 413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-3, Arrays.binarySearch(new Integer[] { new Integer(-1), 414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new Integer(0) }, 2, 2, new Integer(1), reversedComparator)); 415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(byte[], byte) 419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$BB() { 421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(byte [], byte) 422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte d[] = new byte[1000]; 424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, Byte.MAX_VALUE); 425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < d.length; i++) 426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill byte array correctly", 427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes d[i] == Byte.MAX_VALUE); 428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(byte[], int, int, byte) 432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$BIIB() { 434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(byte [], int, int, byte) 435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte val = Byte.MAX_VALUE; 436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte d[] = new byte[1000]; 437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, 400, d.length, val); 438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 400; i++) 439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Filled elements not in range", !(d[i] == val)); 440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 400; i < d.length; i++) 441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill byte array correctly", d[i] == val); 442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int result; 444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(new byte[2], 2, 1, (byte) 27); 446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = 0; 447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = 1; 449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = 2; 451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong exception1", 2, result); 453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(new byte[2], -1, 1, (byte) 27); 455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = 0; 456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = 1; 458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = 2; 460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong exception2", 1, result); 462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(new byte[2], 1, 4, (byte) 27); 464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = 0; 465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = 1; 467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = 2; 469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong exception", 1, result); 471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(short[], short) 475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$SS() { 477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(short [], short) 478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes short d[] = new short[1000]; 480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, Short.MAX_VALUE); 481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < d.length; i++) 482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill short array correctly", 483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes d[i] == Short.MAX_VALUE); 484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(short[], int, int, short) 488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$SIIS() { 490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(short [], int, int, short) 491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes short val = Short.MAX_VALUE; 492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes short d[] = new short[1000]; 493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, 400, d.length, val); 494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 400; i++) 495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Filled elements not in range", !(d[i] == val)); 496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 400; i < d.length; i++) 497561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill short array correctly", d[i] == val); 498561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 499561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 500561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 501561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(char[], char) 502561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 503561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$CC() { 504561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(char [], char) 505561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 506561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char d[] = new char[1000]; 507561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, 'V'); 508561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < d.length; i++) 509561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Failed to fill char array correctly", 'V', d[i]); 510561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 511561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 512561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 513561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(char[], int, int, char) 514561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 515561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$CIIC() { 516561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(char [], int, int, char) 517561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char val = 'T'; 518561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char d[] = new char[1000]; 519561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, 400, d.length, val); 520561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 400; i++) 521561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Filled elements not in range", !(d[i] == val)); 522561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 400; i < d.length; i++) 523561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill char array correctly", d[i] == val); 524561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 525561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 526561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 527561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(int[], int) 528561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 529561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$II() { 530561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(int [], int) 531561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 532561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int d[] = new int[1000]; 533561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, Integer.MAX_VALUE); 534561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < d.length; i++) 535561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill int array correctly", 536561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes d[i] == Integer.MAX_VALUE); 537561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 538561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 539561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 540561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(int[], int, int, int) 541561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 542561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$IIII() { 543561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(int [], int, int, int) 544561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int val = Integer.MAX_VALUE; 545561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int d[] = new int[1000]; 546561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, 400, d.length, val); 547561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 400; i++) 548561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Filled elements not in range", !(d[i] == val)); 549561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 400; i < d.length; i++) 550561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill int array correctly", d[i] == val); 551561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 552561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 553561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 554561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(long[], long) 555561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 556561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$JJ() { 557561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(long [], long) 558561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 559561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes long d[] = new long[1000]; 560561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, Long.MAX_VALUE); 561561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < d.length; i++) 562561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill long array correctly", 563561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes d[i] == Long.MAX_VALUE); 564561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 565561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 566561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 567561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(long[], int, int, long) 568561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 569561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$JIIJ() { 570561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(long [], int, int, long) 571561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes long d[] = new long[1000]; 572561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, 400, d.length, Long.MAX_VALUE); 573561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 400; i++) 574561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Filled elements not in range", !(d[i] == Long.MAX_VALUE)); 575561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 400; i < d.length; i++) 576561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill long array correctly", 577561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes d[i] == Long.MAX_VALUE); 578561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 579561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 580561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 581561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(float[], float) 582561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 583561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$FF() { 584561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(float [], float) 585561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float d[] = new float[1000]; 586561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, Float.MAX_VALUE); 587561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < d.length; i++) 588561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill float array correctly", 589561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes d[i] == Float.MAX_VALUE); 590561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 591561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 592561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 593561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(float[], int, int, float) 594561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 595561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$FIIF() { 596561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(float [], int, int, float) 597561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float val = Float.MAX_VALUE; 598561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float d[] = new float[1000]; 599561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, 400, d.length, val); 600561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 400; i++) 601561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Filled elements not in range", !(d[i] == val)); 602561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 400; i < d.length; i++) 603561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill float array correctly", d[i] == val); 604561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 605561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 606561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 607561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(double[], double) 608561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 609561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$DD() { 610561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(double [], double) 611561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 612561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double d[] = new double[1000]; 613561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, Double.MAX_VALUE); 614561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < d.length; i++) 615561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill double array correctly", 616561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes d[i] == Double.MAX_VALUE); 617561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 618561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 619561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 620561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(double[], int, int, double) 621561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 622561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$DIID() { 623561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(double [], int, int, 624561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // double) 625561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double val = Double.MAX_VALUE; 626561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double d[] = new double[1000]; 627561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, 400, d.length, val); 628561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 400; i++) 629561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Filled elements not in range", !(d[i] == val)); 630561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 400; i < d.length; i++) 631561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill double array correctly", d[i] == val); 632561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 633561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 634561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 635561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(boolean[], boolean) 636561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 637561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$ZZ() { 638561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(boolean [], boolean) 639561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 640561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean d[] = new boolean[1000]; 641561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, true); 642561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < d.length; i++) 643561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill boolean array correctly", d[i]); 644561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 645561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 646561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 647561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(boolean[], int, int, boolean) 648561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 649561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$ZIIZ() { 650561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(boolean [], int, int, 651561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // boolean) 652561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean val = true; 653561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean d[] = new boolean[1000]; 654561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, 400, d.length, val); 655561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 400; i++) 656561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Filled elements not in range", !(d[i] == val)); 657561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 400; i < d.length; i++) 658561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill boolean array correctly", d[i] == val); 659561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 660561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 661561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 662561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(java.lang.Object[], java.lang.Object) 663561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 664561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$Ljava_lang_ObjectLjava_lang_Object() { 665561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(java.lang.Object [], 666561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.Object) 667561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object val = new Object(); 668561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object d[] = new Object[1000]; 669561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, 0, d.length, val); 670561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < d.length; i++) 671561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill Object array correctly", d[i] == val); 672561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 673561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 674561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 675561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#fill(java.lang.Object[], int, int, 676561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * java.lang.Object) 677561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 678561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_fill$Ljava_lang_ObjectIILjava_lang_Object() { 679561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.fill(java.lang.Object [], int, 680561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // int, java.lang.Object) 681561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object val = new Object(); 682561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object d[] = new Object[1000]; 683561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, 400, d.length, val); 684561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 400; i++) 685561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Filled elements not in range", !(d[i] == val)); 686561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 400; i < d.length; i++) 687561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to fill Object array correctly", d[i] == val); 688561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 689561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, 400, d.length, null); 690561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 400; i < d.length; i++) 691561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNull("Failed to fill Object array correctly with nulls", 692561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes d[i]); 693561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 694561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 695561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 696561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#equals(byte[], byte[]) 697561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 698561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_equals$B$B() { 699561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method boolean java.util.Arrays.equals(byte [], byte []) 700561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte d[] = new byte[1000]; 701561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte x[] = new byte[1000]; 702561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, Byte.MAX_VALUE); 703561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, Byte.MIN_VALUE); 704561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Inequal arrays returned true", !Arrays.equals(d, x)); 705561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, Byte.MAX_VALUE); 706561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("equal arrays returned false", Arrays.equals(d, x)); 707561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 708561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 709561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 710561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#equals(short[], short[]) 711561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 712561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_equals$S$S() { 713561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method boolean java.util.Arrays.equals(short [], short []) 714561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes short d[] = new short[1000]; 715561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes short x[] = new short[1000]; 716561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, Short.MAX_VALUE); 717561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, Short.MIN_VALUE); 718561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Inequal arrays returned true", !Arrays.equals(d, x)); 719561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, Short.MAX_VALUE); 720561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("equal arrays returned false", Arrays.equals(d, x)); 721561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 722561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 723561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 724561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#equals(char[], char[]) 725561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 726561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_equals$C$C() { 727561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method boolean java.util.Arrays.equals(char [], char []) 728561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char d[] = new char[1000]; 729561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char x[] = new char[1000]; 730561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char c = 'T'; 731561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, c); 732561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, 'L'); 733561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Inequal arrays returned true", !Arrays.equals(d, x)); 734561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, c); 735561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("equal arrays returned false", Arrays.equals(d, x)); 736561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 737561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 738561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 739561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#equals(int[], int[]) 740561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 741561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_equals$I$I() { 742561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method boolean java.util.Arrays.equals(int [], int []) 743561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int d[] = new int[1000]; 744561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int x[] = new int[1000]; 745561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, Integer.MAX_VALUE); 746561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, Integer.MIN_VALUE); 747561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Inequal arrays returned true", !Arrays.equals(d, x)); 748561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, Integer.MAX_VALUE); 749561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("equal arrays returned false", Arrays.equals(d, x)); 750561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 751561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("wrong result for null array1", !Arrays.equals(new int[2], 752561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes null)); 753561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("wrong result for null array2", !Arrays.equals(null, 754561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new int[2])); 755561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 756561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 757561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 758561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#equals(long[], long[]) 759561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 760561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_equals$J$J() { 761561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method boolean java.util.Arrays.equals(long [], long []) 762561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes long d[] = new long[1000]; 763561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes long x[] = new long[1000]; 764561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, Long.MAX_VALUE); 765561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, Long.MIN_VALUE); 766561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Inequal arrays returned true", !Arrays.equals(d, x)); 767561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, Long.MAX_VALUE); 768561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("equal arrays returned false", Arrays.equals(d, x)); 769561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 770561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("should be false", !Arrays.equals( 771561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new long[] { 0x100000000L }, new long[] { 0x200000000L })); 772561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 773561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 774561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 775561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 776561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#equals(float[], float[]) 777561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 778561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_equals$F$F() { 779561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method boolean java.util.Arrays.equals(float [], float []) 780561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float d[] = new float[1000]; 781561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float x[] = new float[1000]; 782561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, Float.MAX_VALUE); 783561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, Float.MIN_VALUE); 784561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Inequal arrays returned true", !Arrays.equals(d, x)); 785561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, Float.MAX_VALUE); 786561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("equal arrays returned false", Arrays.equals(d, x)); 787561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 788561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("NaN not equals", Arrays.equals(new float[] { Float.NaN }, 789561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new float[] { Float.NaN })); 790561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("0f equals -0f", !Arrays.equals(new float[] { 0f }, 791561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new float[] { -0f })); 792561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 793561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 794561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 795561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#equals(double[], double[]) 796561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 797561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_equals$D$D() { 798561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method boolean java.util.Arrays.equals(double [], double []) 799561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double d[] = new double[1000]; 800561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double x[] = new double[1000]; 801561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, Double.MAX_VALUE); 802561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, Double.MIN_VALUE); 803561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Inequal arrays returned true", !Arrays.equals(d, x)); 804561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, Double.MAX_VALUE); 805561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("equal arrays returned false", Arrays.equals(d, x)); 806561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 807561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("should be false", !Arrays.equals(new double[] { 1.0 }, 808561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new double[] { 2.0 })); 809561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 810561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("NaN not equals", Arrays.equals(new double[] { Double.NaN }, 811561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new double[] { Double.NaN })); 812561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("0d equals -0d", !Arrays.equals(new double[] { 0d }, 813561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new double[] { -0d })); 814561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 815561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 816561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 817561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#equals(boolean[], boolean[]) 818561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 819561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_equals$Z$Z() { 820561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method boolean java.util.Arrays.equals(boolean [], boolean 821561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // []) 822561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean d[] = new boolean[1000]; 823561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean x[] = new boolean[1000]; 824561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, true); 825561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, false); 826561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Inequal arrays returned true", !Arrays.equals(d, x)); 827561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, true); 828561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("equal arrays returned false", Arrays.equals(d, x)); 829561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 830561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 831561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 832561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#equals(java.lang.Object[], java.lang.Object[]) 833561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 834561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_equals$Ljava_lang_Object$Ljava_lang_Object() { 835561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method boolean java.util.Arrays.equals(java.lang.Object [], 836561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.Object []) 837561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object d[] = new Object[1000]; 838561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object x[] = new Object[1000]; 839561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object o = new Object(); 840561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(d, o); 841561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, new Object()); 842561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Inequal arrays returned true", !Arrays.equals(d, x)); 843561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.fill(x, o); 844561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes d[50] = null; 845561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes x[50] = null; 846561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("equal arrays returned false", Arrays.equals(d, x)); 847561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 848561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 849561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 850561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(byte[]) 851561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 852561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$B() { 853561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(byte []) 854561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte[] reversedArray = new byte[arraySize]; 855561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 856561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] = (byte) (arraySize - counter - 1); 857561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray); 858561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 859561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Resulting array not sorted", 860561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == (byte) counter); 861561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 862561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 863561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 864561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(byte[], int, int) 865561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 866561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$BII() { 867561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(byte [], int, int) 868561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int startIndex = arraySize / 4; 869561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int endIndex = 3 * arraySize / 4; 870561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte[] reversedArray = new byte[arraySize]; 871561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte[] originalReversedArray = new byte[arraySize]; 872561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 873561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] = (byte) (arraySize - counter - 1); 874561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes originalReversedArray[counter] = reversedArray[counter]; 875561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 876561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex, endIndex); 877561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < startIndex; counter++) 878561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 879561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == originalReversedArray[counter]); 880561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = startIndex; counter < endIndex - 1; counter++) 881561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array not sorted within bounds", 882561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] <= reversedArray[counter + 1]); 883561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = endIndex; counter < arraySize; counter++) 884561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 885561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == originalReversedArray[counter]); 886561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 887561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //exception testing 888561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 889561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex + 1, startIndex); 890561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException expected"); 891561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException ignore) { 892561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 893561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 894561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 895561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, -1, startIndex); 896561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("ArrayIndexOutOfBoundsException expected (1)"); 897561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException ignore) { 898561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 899561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 900561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 901561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex, reversedArray.length + 1); 902561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("ArrayIndexOutOfBoundsException expected (2)"); 903561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException ignore) { 904561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 905561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 906561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //exception order testing 907561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 908561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(new byte[1], startIndex + 1, startIndex); 909561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException expected"); 910561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException ignore) { 911561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 912561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 913561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 914561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 915561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(char[]) 916561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 917561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$C() { 918561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(char []) 919561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char[] reversedArray = new char[arraySize]; 920561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 921561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] = (char) (arraySize - counter - 1); 922561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray); 923561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 924561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Resulting array not sorted", 925561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == (char) counter); 926561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 927561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 928561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 929561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 930561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(char[], int, int) 931561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 932561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$CII() { 933561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(char [], int, int) 934561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int startIndex = arraySize / 4; 935561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int endIndex = 3 * arraySize / 4; 936561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char[] reversedArray = new char[arraySize]; 937561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char[] originalReversedArray = new char[arraySize]; 938561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 939561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] = (char) (arraySize - counter - 1); 940561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes originalReversedArray[counter] = reversedArray[counter]; 941561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 942561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex, endIndex); 943561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < startIndex; counter++) 944561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 945561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == originalReversedArray[counter]); 946561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = startIndex; counter < endIndex - 1; counter++) 947561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array not sorted within bounds", 948561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] <= reversedArray[counter + 1]); 949561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = endIndex; counter < arraySize; counter++) 950561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 951561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == originalReversedArray[counter]); 952561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 953561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //exception testing 954561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 955561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex + 1, startIndex); 956561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException expected"); 957561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException ignore) { 958561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 959561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 960561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 961561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, -1, startIndex); 962561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("ArrayIndexOutOfBoundsException expected (1)"); 963561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException ignore) { 964561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 965561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 966561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 967561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex, reversedArray.length + 1); 968561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("ArrayIndexOutOfBoundsException expected (2)"); 969561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException ignore) { 970561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 971561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 972561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //exception order testing 973561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 974561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(new char[1], startIndex + 1, startIndex); 975561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException expected"); 976561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException ignore) { 977561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 978561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 979561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 980561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 981561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(double[]) 982561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 983561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$D() { 984561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(double []) 985561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double[] reversedArray = new double[arraySize]; 986561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 987561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] = (double) (arraySize - counter - 1); 988561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray); 989561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 990561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Resulting array not sorted", 991561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == (double) counter); 992561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 993561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double[] specials1 = new double[] { Double.NaN, Double.MAX_VALUE, 994561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Double.MIN_VALUE, 0d, -0d, Double.POSITIVE_INFINITY, 995561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Double.NEGATIVE_INFINITY }; 996561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double[] specials2 = new double[] { 0d, Double.POSITIVE_INFINITY, -0d, 997561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Double.NEGATIVE_INFINITY, Double.MIN_VALUE, Double.NaN, 998561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Double.MAX_VALUE }; 999561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double[] specials3 = new double[] { 0.0, Double.NaN, 1.0, 2.0, Double.NaN, 1000561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Double.NaN, 1.0, 3.0, -0.0}; 1001561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double[] answer = new double[] { Double.NEGATIVE_INFINITY, -0d, 0d, 1002561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Double.MIN_VALUE, Double.MAX_VALUE, Double.POSITIVE_INFINITY, 1003561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Double.NaN }; 1004561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double[] answer3 = new double[] { -0.0, 0.0, 1.0, 1.0, 2.0, 3.0, Double.NaN, 1005561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Double.NaN, Double.NaN }; 1006561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1007561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(specials1); 1008561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] print1 = new Object[specials1.length]; 1009561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < specials1.length; i++) 1010561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes print1[i] = new Double(specials1[i]); 1011561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("specials sort incorrectly 1: " + Arrays.asList(print1), 1012561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.equals(specials1, answer)); 1013561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1014561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(specials2); 1015561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] print2 = new Object[specials2.length]; 1016561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < specials2.length; i++) 1017561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes print2[i] = new Double(specials2[i]); 1018561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("specials sort incorrectly 2: " + Arrays.asList(print2), 1019561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.equals(specials2, answer)); 1020561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1021561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(specials3); 1022561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] print3 = new Object[specials3.length]; 1023561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < specials3.length; i++) 1024561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes print3[i] = new Double(specials3[i]); 1025561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("specials sort incorrectly 3: " + Arrays.asList(print3), 1026561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.equals(specials3, answer3)); 1027561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1028561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1029561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1030561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(double[], int, int) 1031561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1032561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$DII() { 1033561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(double [], int, int) 1034561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int startIndex = arraySize / 4; 1035561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int endIndex = 3 * arraySize / 4; 1036561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double[] reversedArray = new double[arraySize]; 1037561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double[] originalReversedArray = new double[arraySize]; 1038561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 1039561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] = (double) (arraySize - counter - 1); 1040561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes originalReversedArray[counter] = reversedArray[counter]; 1041561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1042561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex, endIndex); 1043561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < startIndex; counter++) 1044561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 1045561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == originalReversedArray[counter]); 1046561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = startIndex; counter < endIndex - 1; counter++) 1047561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array not sorted within bounds", 1048561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] <= reversedArray[counter + 1]); 1049561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = endIndex; counter < arraySize; counter++) 1050561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 1051561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == originalReversedArray[counter]); 1052561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1053561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //exception testing 1054561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1055561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex + 1, startIndex); 1056561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException expected"); 1057561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException ignore) { 1058561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1059561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1060561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1061561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, -1, startIndex); 1062561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("ArrayIndexOutOfBoundsException expected (1)"); 1063561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException ignore) { 1064561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1065561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1066561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1067561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex, reversedArray.length + 1); 1068561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("ArrayIndexOutOfBoundsException expected (2)"); 1069561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException ignore) { 1070561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1071561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1072561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //exception order testing 1073561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1074561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(new double[1], startIndex + 1, startIndex); 1075561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException expected"); 1076561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException ignore) { 1077561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1078561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1079561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1080561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1081561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(float[]) 1082561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1083561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$F() { 1084561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(float []) 1085561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float[] reversedArray = new float[arraySize]; 1086561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 1087561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] = (float) (arraySize - counter - 1); 1088561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray); 1089561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 1090561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Resulting array not sorted", 1091561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == (float) counter); 1092561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1093561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float[] specials1 = new float[] { Float.NaN, Float.MAX_VALUE, 1094561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Float.MIN_VALUE, 0f, -0f, Float.POSITIVE_INFINITY, 1095561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Float.NEGATIVE_INFINITY }; 1096561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float[] specials2 = new float[] { 0f, Float.POSITIVE_INFINITY, -0f, 1097561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Float.NEGATIVE_INFINITY, Float.MIN_VALUE, Float.NaN, 1098561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Float.MAX_VALUE }; 1099561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float[] answer = new float[] { Float.NEGATIVE_INFINITY, -0f, 0f, 1100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Float.MIN_VALUE, Float.MAX_VALUE, Float.POSITIVE_INFINITY, 1101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Float.NaN }; 1102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(specials1); 1104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] print1 = new Object[specials1.length]; 1105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < specials1.length; i++) 1106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes print1[i] = new Float(specials1[i]); 1107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("specials sort incorrectly 1: " + Arrays.asList(print1), 1108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.equals(specials1, answer)); 1109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(specials2); 1111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] print2 = new Object[specials2.length]; 1112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < specials2.length; i++) 1113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes print2[i] = new Float(specials2[i]); 1114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("specials sort incorrectly 2: " + Arrays.asList(print2), 1115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.equals(specials2, answer)); 1116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(float[], int, int) 1120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$FII() { 1122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(float [], int, int) 1123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int startIndex = arraySize / 4; 1124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int endIndex = 3 * arraySize / 4; 1125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float[] reversedArray = new float[arraySize]; 1126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float[] originalReversedArray = new float[arraySize]; 1127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 1128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] = (float) (arraySize - counter - 1); 1129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes originalReversedArray[counter] = reversedArray[counter]; 1130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex, endIndex); 1132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < startIndex; counter++) 1133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 1134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == originalReversedArray[counter]); 1135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = startIndex; counter < endIndex - 1; counter++) 1136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array not sorted within bounds", 1137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] <= reversedArray[counter + 1]); 1138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = endIndex; counter < arraySize; counter++) 1139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 1140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == originalReversedArray[counter]); 1141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //exception testing 1143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex + 1, startIndex); 1145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException expected"); 1146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException ignore) { 1147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, -1, startIndex); 1151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("ArrayIndexOutOfBoundsException expected (1)"); 1152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException ignore) { 1153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex, reversedArray.length + 1); 1157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("ArrayIndexOutOfBoundsException expected (2)"); 1158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException ignore) { 1159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //exception order testing 1162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(new float[1], startIndex + 1, startIndex); 1164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException expected"); 1165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException ignore) { 1166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(int[]) 1171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$I() { 1173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(int []) 1174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int[] reversedArray = new int[arraySize]; 1175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 1176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] = arraySize - counter - 1; 1177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray); 1178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 1179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Resulting array not sorted", 1180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == counter); 1181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(int[], int, int) 1185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$III() { 1187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(int [], int, int) 1188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int startIndex = arraySize / 4; 1189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int endIndex = 3 * arraySize / 4; 1190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int[] reversedArray = new int[arraySize]; 1191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int[] originalReversedArray = new int[arraySize]; 1192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 1193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] = arraySize - counter - 1; 1194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes originalReversedArray[counter] = reversedArray[counter]; 1195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex, endIndex); 1197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < startIndex; counter++) 1198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 1199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == originalReversedArray[counter]); 1200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = startIndex; counter < endIndex - 1; counter++) 1201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array not sorted within bounds", 1202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] <= reversedArray[counter + 1]); 1203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = endIndex; counter < arraySize; counter++) 1204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 1205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == originalReversedArray[counter]); 1206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //exception testing 1208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex + 1, startIndex); 1210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException expected"); 1211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException ignore) { 1212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, -1, startIndex); 1216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("ArrayIndexOutOfBoundsException expected (1)"); 1217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException ignore) { 1218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex, reversedArray.length + 1); 1222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("ArrayIndexOutOfBoundsException expected (2)"); 1223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException ignore) { 1224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //exception order testing 1227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(new int[1], startIndex + 1, startIndex); 1229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException expected"); 1230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException ignore) { 1231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(long[]) 1236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$J() { 1238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(long []) 1239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes long[] reversedArray = new long[arraySize]; 1240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 1241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] = (long) (arraySize - counter - 1); 1242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray); 1243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 1244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Resulting array not sorted", 1245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == (long) counter); 1246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(long[], int, int) 1251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$JII() { 1253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(long [], int, int) 1254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int startIndex = arraySize / 4; 1255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int endIndex = 3 * arraySize / 4; 1256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes long[] reversedArray = new long[arraySize]; 1257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes long[] originalReversedArray = new long[arraySize]; 1258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 1259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] = (long) (arraySize - counter - 1); 1260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes originalReversedArray[counter] = reversedArray[counter]; 1261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex, endIndex); 1263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < startIndex; counter++) 1264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 1265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == originalReversedArray[counter]); 1266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = startIndex; counter < endIndex - 1; counter++) 1267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array not sorted within bounds", 1268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] <= reversedArray[counter + 1]); 1269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = endIndex; counter < arraySize; counter++) 1270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 1271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == originalReversedArray[counter]); 1272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //exception testing 1274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex + 1, startIndex); 1276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException expected"); 1277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException ignore) { 1278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, -1, startIndex); 1282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("ArrayIndexOutOfBoundsException expected (1)"); 1283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException ignore) { 1284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex, reversedArray.length + 1); 1288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("ArrayIndexOutOfBoundsException expected (2)"); 1289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException ignore) { 1290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //exception order testing 1293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(new long[1], startIndex + 1, startIndex); 1295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException expected"); 1296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException ignore) { 1297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(java.lang.Object[]) 1302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$Ljava_lang_Object() { 1304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(java.lang.Object []) 1305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] reversedArray = new Object[arraySize]; 1306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 1307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] = objectArray[arraySize - counter - 1]; 1308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray); 1309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 1310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Resulting array not sorted", 1311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == objectArray[counter]); 1312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(java.lang.Object[], int, int) 1316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$Ljava_lang_ObjectII() { 1318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(java.lang.Object [], int, 1319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // int) 1320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int startIndex = arraySize / 4; 1321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int endIndex = 3 * arraySize / 4; 1322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] reversedArray = new Object[arraySize]; 1323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] originalReversedArray = new Object[arraySize]; 1324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 1325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] = objectArray[arraySize - counter - 1]; 1326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes originalReversedArray[counter] = reversedArray[counter]; 1327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex, endIndex); 1329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < startIndex; counter++) 1330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 1331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == originalReversedArray[counter]); 1332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = startIndex; counter < endIndex - 1; counter++) 1333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array not sorted within bounds", 1334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ((Comparable) reversedArray[counter]) 1335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .compareTo(reversedArray[counter + 1]) <= 0); 1336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = endIndex; counter < arraySize; counter++) 1337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 1338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == originalReversedArray[counter]); 1339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //exception testing 1341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex + 1, startIndex); 1343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException expected"); 1344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException ignore) { 1345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, -1, startIndex); 1349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("ArrayIndexOutOfBoundsException expected (1)"); 1350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException ignore) { 1351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex, reversedArray.length + 1); 1355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("ArrayIndexOutOfBoundsException expected (2)"); 1356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException ignore) { 1357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //exception order testing 1360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(new Object[1], startIndex + 1, startIndex); 1362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException expected"); 1363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException ignore) { 1364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(java.lang.Object[], int, int, 1369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * java.util.Comparator) 1370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$Ljava_lang_ObjectIILjava_util_Comparator() { 1372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(java.lang.Object [], int, 1373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // int, java.util.Comparator) 1374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int startIndex = arraySize / 4; 1375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int endIndex = 3 * arraySize / 4; 1376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ReversedIntegerComparator comp = new ReversedIntegerComparator(); 1377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] originalArray = new Object[arraySize]; 1378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 1379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes originalArray[counter] = objectArray[counter]; 1380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(objectArray, startIndex, endIndex, comp); 1381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < startIndex; counter++) 1382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 1383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes objectArray[counter] == originalArray[counter]); 1384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = startIndex; counter < endIndex - 1; counter++) 1385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array not sorted within bounds", comp.compare( 1386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes objectArray[counter], objectArray[counter + 1]) <= 0); 1387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = endIndex; counter < arraySize; counter++) 1388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 1389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes objectArray[counter] == originalArray[counter]); 1390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(java.lang.Object[], java.util.Comparator) 1394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$Ljava_lang_ObjectLjava_util_Comparator() { 1396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(java.lang.Object [], 1397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.util.Comparator) 1398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ReversedIntegerComparator comp = new ReversedIntegerComparator(); 1399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(objectArray, comp); 1400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize - 1; counter++) 1401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array not sorted correctly with custom comparator", 1402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes comp 1403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .compare(objectArray[counter], 1404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes objectArray[counter + 1]) <= 0); 1405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression HARMONY-6076 1408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$Ljava_lang_ObjectLjava_util_Comparator_stable() { 1409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Element[] array = new Element[11]; 1410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes array[0] = new Element(122); 1411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes array[1] = new Element(146); 1412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes array[2] = new Element(178); 1413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes array[3] = new Element(208); 1414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes array[4] = new Element(117); 1415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes array[5] = new Element(146); 1416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes array[6] = new Element(173); 1417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes array[7] = new Element(203); 1418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes array[8] = new Element(56); 1419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes array[9] = new Element(208); 1420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes array[10] = new Element(96); 1421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Comparator<Element> comparator = new Comparator<Element>() { 1423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public int compare(Element object1, Element object2) { 1424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return object1.value - object2.value; 1425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes }; 1427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(array, comparator); 1429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 1; i < array.length; i++) { 1431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(comparator.compare(array[i - 1], array[i]) <= 0); 1432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (comparator.compare(array[i - 1], array[i]) == 0) { 1433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(array[i - 1].index < array[i].index); 1434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public static class Element { 1439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public int value; 1440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public int index; 1442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private static int count = 0; 1444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public Element(int value) { 1446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes this.value = value; 1447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes index = count++; 1448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(short[]) 1453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$S() { 1455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(short []) 1456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes short[] reversedArray = new short[arraySize]; 1457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 1458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] = (short) (arraySize - counter - 1); 1459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray); 1460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) 1461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Resulting array not sorted", 1462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == (short) counter); 1463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(short[], int, int) 1467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_sort$SII() { 1469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.Arrays.sort(short [], int, int) 1470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int startIndex = arraySize / 4; 1471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int endIndex = 3 * arraySize / 4; 1472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes short[] reversedArray = new short[arraySize]; 1473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes short[] originalReversedArray = new short[arraySize]; 1474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 1475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] = (short) (arraySize - counter - 1); 1476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes originalReversedArray[counter] = reversedArray[counter]; 1477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex, endIndex); 1479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < startIndex; counter++) 1480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 1481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == originalReversedArray[counter]); 1482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = startIndex; counter < endIndex - 1; counter++) 1483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array not sorted within bounds", 1484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] <= reversedArray[counter + 1]); 1485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = endIndex; counter < arraySize; counter++) 1486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array modified outside of bounds", 1487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversedArray[counter] == originalReversedArray[counter]); 1488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //exception testing 1490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex + 1, startIndex); 1492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException expected"); 1493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException ignore) { 1494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1497561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, -1, startIndex); 1498561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("ArrayIndexOutOfBoundsException expected (1)"); 1499561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException ignore) { 1500561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1501561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1502561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1503561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(reversedArray, startIndex, reversedArray.length + 1); 1504561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("ArrayIndexOutOfBoundsException expected (2)"); 1505561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException ignore) { 1506561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1507561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1508561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //exception order testing 1509561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1510561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(new short[1], startIndex + 1, startIndex); 1511561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException expected"); 1512561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException ignore) { 1513561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1514561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1515561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1516561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1517561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(byte[], int, int) 1518561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1519561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_java_util_Arrays_sort_byte_array_NPE() { 1520561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte[] byte_array_null = null; 1521561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1522561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(byte_array_null); 1523561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1524561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1525561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1526561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1527561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1528561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-378 1529561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(byte_array_null, (int) -1, (int) 1); 1530561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1531561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1532561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1533561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1534561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1535561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1536561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1537561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(char[], int, int) 1538561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1539561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_java_util_Arrays_sort_char_array_NPE() { 1540561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char[] char_array_null = null; 1541561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1542561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(char_array_null); 1543561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1544561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1545561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1546561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1547561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1548561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-378 1549561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(char_array_null, (int) -1, (int) 1); 1550561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1551561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1552561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1553561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1554561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1555561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1556561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1557561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(double[], int, int) 1558561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1559561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_java_util_Arrays_sort_double_array_NPE() { 1560561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double[] double_array_null = null; 1561561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1562561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(double_array_null); 1563561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1564561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1565561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1566561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1567561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1568561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-378 1569561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(double_array_null, (int) -1, (int) 1); 1570561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1571561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1572561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1573561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1574561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1575561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1576561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1577561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(float[], int, int) 1578561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1579561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_java_util_Arrays_sort_float_array_NPE() { 1580561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float[] float_array_null = null; 1581561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1582561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(float_array_null); 1583561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1584561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1585561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1586561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1587561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1588561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-378 1589561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(float_array_null, (int) -1, (int) 1); 1590561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1591561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1592561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1593561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1594561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1595561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1596561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1597561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(int[], int, int) 1598561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1599561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_java_util_Arrays_sort_int_array_NPE() { 1600561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int[] int_array_null = null; 1601561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1602561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(int_array_null); 1603561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1604561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1605561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1606561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1607561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1608561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-378 1609561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(int_array_null, (int) -1, (int) 1); 1610561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1611561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1612561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1613561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1614561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1615561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1616561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1617561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(Object[], int, int) 1618561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1619561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_java_util_Arrays_sort_object_array_NPE() { 1620561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] object_array_null = null; 1621561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1622561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(object_array_null); 1623561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1624561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1625561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1626561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1627561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1628561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-378 1629561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(object_array_null, (int) -1, (int) 1); 1630561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1631561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1632561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1633561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1634561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1635561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-378 1636561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(object_array_null, (int) -1, (int) 1, null); 1637561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1638561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1639561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1640561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1641561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1642561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1643561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1644561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(long[], int, int) 1645561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1646561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_java_util_Arrays_sort_long_array_NPE() { 1647561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes long[] long_array_null = null; 1648561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1649561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(long_array_null); 1650561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1651561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1652561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1653561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1654561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1655561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-378 1656561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(long_array_null, (int) -1, (int) 1); 1657561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1658561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1659561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1660561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1661561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1662561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1663561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1664561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#sort(short[], int, int) 1665561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1666561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_java_util_Arrays_sort_short_array_NPE() { 1667561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes short[] short_array_null = null; 1668561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1669561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(short_array_null); 1670561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1671561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1672561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1673561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1674561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1675561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-378 1676561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes java.util.Arrays.sort(short_array_null, (int) -1, (int) 1); 1677561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw java.lang.NullPointerException"); 1678561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1679561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 1680561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1681561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1682561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1683561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1684561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#deepEquals(Object[], Object[]) 1685561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1686561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_deepEquals$Ljava_lang_ObjectLjava_lang_Object() { 1687561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int [] a1 = {1, 2, 3}; 1688561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes short [] a2 = {0, 1}; 1689561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object [] a3 = {new Integer(1), a2}; 1690561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int [] a4 = {6, 5, 4}; 1691561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1692561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int [] b1 = {1, 2, 3}; 1693561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes short [] b2 = {0, 1}; 1694561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object [] b3 = {new Integer(1), b2}; 1695561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1696561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object a [] = {a1, a2, a3}; 1697561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object b [] = {b1, b2, b3}; 1698561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1699561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(Arrays.equals(a, b)); 1700561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(Arrays.deepEquals(a,b)); 1701561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1702561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes a[2] = a4; 1703561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1704561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(Arrays.deepEquals(a, b)); 1705561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1706561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1707561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1708561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#deepHashCode(Object[]) 1709561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1710561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_deepHashCode$Ljava_lang_Object() { 1711561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int [] a1 = {1, 2, 3}; 1712561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes short [] a2 = {0, 1}; 1713561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object [] a3 = {new Integer(1), a2}; 1714561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1715561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int [] b1 = {1, 2, 3}; 1716561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes short [] b2 = {0, 1}; 1717561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object [] b3 = {new Integer(1), b2}; 1718561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1719561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object a [] = {a1, a2, a3}; 1720561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object b [] = {b1, b2, b3}; 1721561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1722561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int deep_hash_a = Arrays.deepHashCode(a); 1723561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int deep_hash_b = Arrays.deepHashCode(b); 1724561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1725561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(deep_hash_a, deep_hash_b); 1726561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1727561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1728561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1729561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#hashCode(boolean[] a) 1730561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1731561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_hashCode$LZ() { 1732561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int listHashCode; 1733561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int arrayHashCode; 1734561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1735561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean [] boolArr = {true, false, false, true, false}; 1736561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List listOfBoolean = new LinkedList(); 1737561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < boolArr.length; i++) { 1738561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listOfBoolean.add(new Boolean(boolArr[i])); 1739561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1740561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listHashCode = listOfBoolean.hashCode(); 1741561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes arrayHashCode = Arrays.hashCode(boolArr); 1742561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(listHashCode, arrayHashCode); 1743561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1744561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1745561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1746561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#hashCode(int[] a) 1747561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1748561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_hashCode$LI() { 1749561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int listHashCode; 1750561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int arrayHashCode; 1751561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1752561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int [] intArr = {10, 5, 134, 7, 19}; 1753561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List listOfInteger = new LinkedList(); 1754561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1755561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < intArr.length; i++) { 1756561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listOfInteger.add(new Integer(intArr[i])); 1757561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1758561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listHashCode = listOfInteger.hashCode(); 1759561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes arrayHashCode = Arrays.hashCode(intArr); 1760561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(listHashCode, arrayHashCode); 1761561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1762561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int [] intArr2 = {10, 5, 134, 7, 19}; 1763561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(Arrays.hashCode(intArr2), Arrays.hashCode(intArr)); 1764561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1765561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1766561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1767561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#hashCode(char[] a) 1768561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1769561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_hashCode$LC() { 1770561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int listHashCode; 1771561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int arrayHashCode; 1772561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1773561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char [] charArr = {'a', 'g', 'x', 'c', 'm'}; 1774561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List listOfCharacter = new LinkedList(); 1775561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < charArr.length; i++) { 1776561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listOfCharacter.add(new Character(charArr[i])); 1777561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1778561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listHashCode = listOfCharacter.hashCode(); 1779561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes arrayHashCode = Arrays.hashCode(charArr); 1780561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(listHashCode, arrayHashCode); 1781561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1782561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1783561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1784561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#hashCode(byte[] a) 1785561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1786561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_hashCode$LB() { 1787561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int listHashCode; 1788561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int arrayHashCode; 1789561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1790561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte [] byteArr = {5, 9, 7, 6, 17}; 1791561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List listOfByte = new LinkedList(); 1792561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < byteArr.length; i++) { 1793561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listOfByte.add(new Byte(byteArr[i])); 1794561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1795561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listHashCode = listOfByte.hashCode(); 1796561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes arrayHashCode = Arrays.hashCode(byteArr); 1797561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(listHashCode, arrayHashCode); 1798561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1799561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1800561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1801561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#hashCode(long[] a) 1802561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1803561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_hashCode$LJ() { 1804561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int listHashCode; 1805561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int arrayHashCode; 1806561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1807561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes long [] longArr = {67890234512l, 97587236923425l, 257421912912l, 1808561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 6754268100l, 5}; 1809561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List listOfLong = new LinkedList(); 1810561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < longArr.length; i++) { 1811561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listOfLong.add(new Long(longArr[i])); 1812561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1813561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listHashCode = listOfLong.hashCode(); 1814561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes arrayHashCode = Arrays.hashCode(longArr); 1815561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(listHashCode, arrayHashCode); 1816561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1817561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1818561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1819561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#hashCode(float[] a) 1820561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1821561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_hashCode$LF() { 1822561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int listHashCode; 1823561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int arrayHashCode; 1824561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1825561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float [] floatArr = {0.13497f, 0.268934f, 12e-5f, -3e+2f, 10e-4f}; 1826561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List listOfFloat = new LinkedList(); 1827561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < floatArr.length; i++) { 1828561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listOfFloat.add(new Float(floatArr[i])); 1829561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1830561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listHashCode = listOfFloat.hashCode(); 1831561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes arrayHashCode = Arrays.hashCode(floatArr); 1832561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(listHashCode, arrayHashCode); 1833561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1834561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float [] floatArr2 = {0.13497f, 0.268934f, 12e-5f, -3e+2f, 10e-4f}; 1835561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(Arrays.hashCode(floatArr2), Arrays.hashCode(floatArr)); 1836561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1837561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1838561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1839561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#hashCode(double[] a) 1840561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1841561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_hashCode$LD() { 1842561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int listHashCode; 1843561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int arrayHashCode; 1844561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1845561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double [] doubleArr = {0.134945657, 0.0038754, 11e-150, -30e-300, 10e-4}; 1846561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List listOfDouble = new LinkedList(); 1847561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < doubleArr.length; i++) { 1848561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listOfDouble.add(new Double(doubleArr[i])); 1849561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1850561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listHashCode = listOfDouble.hashCode(); 1851561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes arrayHashCode = Arrays.hashCode(doubleArr); 1852561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(listHashCode, arrayHashCode); 1853561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1854561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1855561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1856561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#hashCode(short[] a) 1857561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1858561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_hashCode$LS() { 1859561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int listHashCode; 1860561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int arrayHashCode; 1861561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1862561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes short [] shortArr = {35, 13, 45, 2, 91}; 1863561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List listOfShort = new LinkedList(); 1864561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < shortArr.length; i++) { 1865561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listOfShort.add(new Short(shortArr[i])); 1866561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1867561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listHashCode = listOfShort.hashCode(); 1868561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes arrayHashCode = Arrays.hashCode(shortArr); 1869561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(listHashCode, arrayHashCode); 1870561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1871561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1872561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1873561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#hashCode(Object[] a) 1874561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1875561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_hashCode$Ljava_lang_Object() { 1876561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int listHashCode; 1877561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int arrayHashCode; 1878561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1879561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] objectArr = {new Integer(1), new Float(10e-12f), null}; 1880561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List listOfObject= new LinkedList(); 1881561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < objectArr.length; i++) { 1882561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listOfObject.add(objectArr[i]); 1883561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1884561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes listHashCode = listOfObject.hashCode(); 1885561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes arrayHashCode = Arrays.hashCode(objectArr); 1886561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(listHashCode, arrayHashCode); 1887561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1888561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1889561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1890561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Sets up the fixture, for example, open a network connection. This method 1891561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * is called before a test is executed. 1892561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1893561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void setUp() { 1894561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes booleanArray = new boolean[arraySize]; 1895561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byteArray = new byte[arraySize]; 1896561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes charArray = new char[arraySize]; 1897561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes doubleArray = new double[arraySize]; 1898561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes floatArray = new float[arraySize]; 1899561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes intArray = new int[arraySize]; 1900561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes longArray = new long[arraySize]; 1901561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes objectArray = new Object[arraySize]; 1902561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes shortArray = new short[arraySize]; 1903561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1904561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 1905561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byteArray[counter] = (byte) counter; 1906561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes charArray[counter] = (char) (counter + 1); 1907561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes doubleArray[counter] = counter; 1908561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes floatArray[counter] = counter; 1909561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes intArray[counter] = counter; 1910561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes longArray[counter] = counter; 1911561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes objectArray[counter] = objArray[counter]; 1912561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes shortArray[counter] = (short) counter; 1913561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1914561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter += 2) { 1915561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes booleanArray[counter] = false; 1916561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes booleanArray[counter + 1] = true; 1917561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1918561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1919561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1920561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1921561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(byte[],int,int, byte) 1922561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1923561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$BIIB() { 1924561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (byte counter = 0; counter < arraySize; counter++) { 1925561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 1926561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on byte[] answered incorrect position", 1927561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(byteArray, counter, arraySize, counter) == counter); 1928561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1929561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals( 1930561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 1", -1, 1931561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(byteArray, 0, arraySize, (byte) -1)); 1932561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 1933561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 2", 1934561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(byteArray, (byte) arraySize) == -(arraySize + 1)); 1935561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (byte counter = 0; counter < arraySize; counter++) { 1936561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byteArray[counter] -= 50; 1937561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1938561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (byte counter = 0; counter < arraySize; counter++) { 1939561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 1940561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on byte[] involving negative numbers answered incorrect position", 1941561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(byteArray, counter, arraySize, 1942561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (byte) (counter - 50)) == counter); 1943561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1944561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1945561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((byte[])null, 2, 1, (byte) arraySize); 1946561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 1947561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1948561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 1949561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1950561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1951561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((byte[])null, -1, 0, (byte) arraySize); 1952561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 1953561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1954561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 1955561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1956561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1957561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((byte[])null, -1, -2, (byte) arraySize); 1958561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 1959561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 1960561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 1961561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1962561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1963561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(byteArray, 2, 1, (byte) arraySize); 1964561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 1965561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 1966561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 1967561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1968561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays.binarySearch(byteArray, 0, 0, (byte) arraySize)); 1969561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1970561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(byteArray, -1, -2, (byte) arraySize); 1971561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 1972561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 1973561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 1974561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1975561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1976561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(byteArray, arraySize + 2, arraySize + 1, 1977561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (byte) arraySize); 1978561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 1979561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 1980561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 1981561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1982561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1983561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(byteArray, -1, 0, (byte) arraySize); 1984561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 1985561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 1986561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 1987561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1988561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 1989561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(byteArray, 0, arraySize + 1, (byte) arraySize); 1990561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 1991561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 1992561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 1993561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1994561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1995561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1996561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 1997561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(char[], char) 1998561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 1999561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$CIIC() { 2000561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (char counter = 0; counter < arraySize; counter++) { 2001561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Binary search on char[] answered incorrect position", 2002561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(charArray, counter, arraySize, 2003561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (char) (counter + 1)) == counter); 2004561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2005561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals( 2006561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 1", -1, 2007561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(charArray, 0, arraySize, '\u0000')); 2008561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Binary search succeeded for value not present in array 2", 2009561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(charArray, 0, arraySize, 2010561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (char) (arraySize + 1)) == -(arraySize + 1)); 2011561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2012561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(charArray, 2, 1, (char) arraySize); 2013561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2014561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2015561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2016561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2017561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2018561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((char[])null, 2, 1, (char) arraySize); 2019561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2020561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2021561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2022561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2023561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2024561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((char[])null, -1, 0, (char) arraySize); 2025561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2026561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2027561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2028561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2029561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2030561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((char[])null, -1, -2, (char) arraySize); 2031561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2032561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2033561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2034561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2035561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays.binarySearch(charArray, 0, 0, (char) arraySize)); 2036561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2037561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(charArray, -1, -2, (char) arraySize); 2038561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2039561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2040561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2041561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2042561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2043561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(charArray, arraySize + 2, arraySize + 1, 2044561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (char) arraySize); 2045561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2046561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2047561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2048561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2049561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2050561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(charArray, -1, 0, (char) arraySize); 2051561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 2052561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 2053561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2054561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2055561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2056561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(charArray, 0, arraySize + 1, (char) arraySize); 2057561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 2058561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 2059561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2060561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2061561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2062561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2063561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2064561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(double[], double) 2065561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2066561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$DIID() { 2067561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 2068561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Binary search on double[] answered incorrect position", 2069561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(doubleArray, counter, arraySize, 2070561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (double) counter) == (double) counter); 2071561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2072561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals( 2073561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 1", -1, 2074561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(doubleArray, 0, arraySize, (double) -1)); 2075561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Binary search succeeded for value not present in array 2", 2076561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(doubleArray, 0, arraySize, 2077561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (double) arraySize) == -(arraySize + 1)); 2078561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 2079561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes doubleArray[counter] -= (double) 50; 2080561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2081561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 2082561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 2083561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on double[] involving negative numbers answered incorrect position", 2084561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(doubleArray, counter, arraySize,(double) (counter - 50)) == (double) counter); 2085561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2086561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double[] specials = new double[] { Double.NEGATIVE_INFINITY, 2087561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -Double.MAX_VALUE, -2d, -Double.MIN_VALUE, -0d, 0d, 2088561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Double.MIN_VALUE, 2d, Double.MAX_VALUE, 2089561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Double.POSITIVE_INFINITY, Double.NaN }; 2090561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < specials.length; i++) { 2091561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int result = Arrays.binarySearch(specials, i, specials.length,specials[i]); 2092561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(specials[i] + " invalid: " + result, result == i); 2093561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2094561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("-1d", -4, Arrays.binarySearch(specials,0,specials.length, -1d)); 2095561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("1d", -8, Arrays.binarySearch(specials,0,specials.length, 1d)); 2096561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2097561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((double[])null, 2, 1, (double) arraySize); 2098561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2099561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((double[])null, -1, 0, (double) arraySize); 2104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((double[])null, -1, -2, (double) arraySize); 2110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(doubleArray, 2, 1, (char) arraySize); 2116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays.binarySearch(doubleArray, 0, 0, (char) arraySize)); 2121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(doubleArray, -1, -2, (char) arraySize); 2123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(doubleArray, arraySize + 2, arraySize + 1, 2129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (char) arraySize); 2130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(doubleArray, -1, 0, (char) arraySize); 2136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 2137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 2138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(doubleArray, 0, arraySize + 1, (char) arraySize); 2142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 2143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 2144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(float[], float) 2150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$FIIF() { 2152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 2153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Binary search on float[] answered incorrect position", 2154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(floatArray, counter, arraySize, 2155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (float) counter) == (float) counter); 2156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals( 2158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 1", -1, 2159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(floatArray, 0, arraySize, (float) -1)); 2160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Binary search succeeded for value not present in array 2", 2161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays 2162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .binarySearch(floatArray, 0, arraySize, 2163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (float) arraySize) == -(arraySize + 1)); 2164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 2165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes floatArray[counter] -= (float) 50; 2166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 2168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 2169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on float[] involving negative numbers answered incorrect position", 2170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(floatArray, 0, arraySize, 2171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (float) counter - 50) == (float) counter); 2172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float[] specials = new float[] { Float.NEGATIVE_INFINITY, 2174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -Float.MAX_VALUE, -2f, -Float.MIN_VALUE, -0f, 0f, 2175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Float.MIN_VALUE, 2f, Float.MAX_VALUE, Float.POSITIVE_INFINITY, 2176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Float.NaN }; 2177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < specials.length; i++) { 2178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int result = Arrays.binarySearch(specials,i,specials.length,specials[i]); 2179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(specials[i] + " invalid: " + result, result == i); 2180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("-1f", -4, Arrays.binarySearch(specials,0,specials.length, -1f)); 2182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("1f", -8, Arrays.binarySearch(specials,0,specials.length, 1f)); 2183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((float[])null, 2, 1, (float) arraySize); 2185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((float[])null, -1, 0, (float) arraySize); 2191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((float[])null, -1, -2, (float) arraySize); 2197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(floatArray, 2, 1, (char) arraySize); 2203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays.binarySearch(floatArray, 0, 0, 2208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (char) arraySize)); 2209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(floatArray, -1, -2, (char) arraySize); 2211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(floatArray, arraySize + 2, arraySize + 1, 2217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (char) arraySize); 2218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(floatArray, -1, 0, (char) arraySize); 2224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 2225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 2226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays 2230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .binarySearch(floatArray, 0, arraySize + 1, 2231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (char) arraySize); 2232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 2233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 2234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(int[], int) 2240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$IIII() { 2242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 2243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 2244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on int[] answered incorrect position", 2245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(intArray, counter, arraySize, counter) == counter); 2246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals( 2248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 1", -1, 2249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(intArray,0, arraySize, -1)); 2250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Binary search succeeded for value not present in array 2", 2251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(intArray,0, arraySize, arraySize) == -(arraySize + 1)); 2252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 2253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes intArray[counter] -= 50; 2254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 2256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 2257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on int[] involving negative numbers answered incorrect position", 2258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(intArray,0, arraySize, counter - 50) == counter); 2259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((int[])null, 2, 1, (int) arraySize); 2262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((int[])null, -1, 0, (int) arraySize); 2268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((int[])null, -1, -2, (int) arraySize); 2274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(intArray, 2, 1, (char) arraySize); 2280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays 2285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .binarySearch(intArray, 0, 0, (char) arraySize)); 2286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(intArray, -1, -2, (char) arraySize); 2288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(intArray, arraySize + 2, arraySize + 1, 2294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (char) arraySize); 2295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(intArray, -1, 0, (char) arraySize); 2301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 2302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 2303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(intArray, 0, arraySize + 1, (char) arraySize); 2307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 2308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 2309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(long[], long) 2315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$JIIJ() { 2317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (long counter = 0; counter < arraySize; counter++){ 2318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Binary search on long[] answered incorrect position", 2319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(longArray,0,arraySize, counter) == counter); 2320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Binary search succeeded for value not present in array 1", 2322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -1, Arrays.binarySearch(longArray,0,arraySize, (long) -1)); 2323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 2324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 2", 2325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(longArray,0,arraySize, (long) arraySize) == -(arraySize + 1)); 2326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (long counter = 0; counter < arraySize; counter++){ 2327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes longArray[(int) counter] -= (long) 50; 2328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (long counter = 0; counter < arraySize; counter++){ 2330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 2331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on long[] involving negative numbers answered incorrect position", 2332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(longArray,0,arraySize, counter - (long) 50) == counter); 2333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((long[])null, 2, 1, (long) arraySize); 2336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((long[])null, -1, 0, (long) arraySize); 2342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((long[])null, -1, -2, (long) arraySize); 2348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(longArray, 2, 1, (char) arraySize); 2354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays 2359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .binarySearch(longArray, 0, 0, (char) arraySize)); 2360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(longArray, -1, -2, (char) arraySize); 2362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(longArray, arraySize + 2, arraySize + 1, 2368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (char) arraySize); 2369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(longArray, -1, 0, (char) arraySize); 2375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 2376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 2377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(longArray, 0, arraySize + 1, (char) arraySize); 2381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 2382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 2383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(java.lang.Object[], 2389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * java.lang.Object) 2390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$Ljava_lang_ObjectIILjava_lang_Object() { 2392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals( 2393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for non-comparable value in empty array", 2394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -1, Arrays.binarySearch(new Object[] {},0,0, new Object())); 2395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals( 2396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for comparable value in empty array", 2397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -1, Arrays.binarySearch(new Object[] {},0,0, new Integer(-1))); 2398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++){ 2399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 2400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on Object[] answered incorrect position", 2401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray,counter,arraySize, objArray[counter]) == counter); 2402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Binary search succeeded for value not present in array 1", 2404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -1, Arrays.binarySearch(objectArray,0,arraySize, new Integer(-1))); 2405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 2406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 2", 2407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray,0,arraySize, new Integer(arraySize)) == -(arraySize + 1)); 2408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((Object[])null, 2, 1, (byte) arraySize); 2410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((Object[])null, -1, 0, (byte) arraySize); 2416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((Object[])null, -1, -2, (byte) arraySize); 2422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, 2, 1, (char) arraySize); 2428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays 2433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .binarySearch(objectArray, 0, 0, (char) arraySize)); 2434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, -1, -2, (char) arraySize); 2436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, arraySize + 2, arraySize + 1, 2442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (char) arraySize); 2443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, -1, 0, (char) arraySize); 2449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 2450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 2451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, 0, arraySize + 1, (char) arraySize); 2455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 2456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 2457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(java.lang.Object[], 2463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * java.lang.Object, java.util.Comparator) 2464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$Ljava_lang_ObjectIILjava_lang_ObjectLjava_util_Comparator() { 2466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Comparator comp = new ReversedIntegerComparator(); 2467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 2468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes objectArray[counter] = objArray[arraySize - counter - 1]; 2469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Binary search succeeded for value not present in array 1", 2471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, 0, arraySize, new Integer(-1), 2472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes comp) == -(arraySize + 1)); 2473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals( 2474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 2", -1, 2475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, 0, arraySize, new Integer( 2476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes arraySize), comp)); 2477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int counter = 0; counter < arraySize; counter++) { 2478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 2479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on Object[] with custom comparator answered incorrect position", 2480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, objArray[counter], comp) == arraySize 2481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes - counter - 1); 2482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((Object[])null, 2, 1, (byte) arraySize); 2485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((Object[])null, -1, 0, (byte) arraySize); 2491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((Object[])null, -1, -2, (byte) arraySize); 2497561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2498561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2499561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2500561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2501561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2502561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, 2, 1, (char) arraySize, comp); 2503561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2504561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2505561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2506561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2507561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays.binarySearch(objectArray, 0, 0, 2508561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (char) arraySize, comp)); 2509561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2510561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, -1, -2, (char) arraySize, comp); 2511561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2512561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2513561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2514561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2515561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2516561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, arraySize + 2, arraySize + 1, 2517561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (char) arraySize, comp); 2518561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2519561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2520561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2521561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2522561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2523561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, -1, 0, (char) arraySize, comp); 2524561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 2525561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 2526561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2527561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2528561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2529561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, 0, arraySize + 1, 2530561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (char) arraySize, comp); 2531561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 2532561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 2533561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2534561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2535561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2536561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(objectArray, 0, arraySize , 2537561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new LinkedList(), comp); 2538561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ClassCastException"); 2539561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ClassCastException e) { 2540561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2541561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2542561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2543561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2544561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2545561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#binarySearch(short[], short) 2546561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2547561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearch$SIIS() { 2548561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (short counter = 0; counter < arraySize; counter++){ 2549561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Binary search on short[] answered incorrect position", 2550561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(shortArray,counter,arraySize, counter) == counter); 2551561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2552561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Binary search succeeded for value not present in array 1", 2553561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes -1, Arrays.binarySearch(shortArray,0,arraySize, (short) -1)); 2554561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 2555561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search succeeded for value not present in array 2", 2556561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(shortArray,0,arraySize, (short) arraySize) == -(arraySize + 1)); 2557561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (short counter = 0; counter < arraySize; counter++){ 2558561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes shortArray[counter] -= 50; 2559561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2560561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (short counter = 0; counter < arraySize; counter++){ 2561561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue( 2562561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Binary search on short[] involving negative numbers answered incorrect position", 2563561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(shortArray,counter,arraySize, (short) (counter - 50)) == counter); 2564561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2565561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2566561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((String[])null, 2, 1, (byte) arraySize); 2567561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2568561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2569561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2570561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2571561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2572561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((String[])null, -1, 0, (byte) arraySize); 2573561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2574561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2575561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2576561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2577561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2578561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch((String[])null, -1, -2, (byte) arraySize); 2579561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2580561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2581561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2582561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2583561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2584561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(shortArray, 2, 1, (short) arraySize); 2585561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2586561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2587561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2588561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2589561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Arrays 2590561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .binarySearch(shortArray, 0, 0, (short) arraySize)); 2591561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2592561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(shortArray, -1, -2, (short) arraySize); 2593561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2594561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2595561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2596561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2597561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2598561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(shortArray, arraySize + 2, arraySize + 1, 2599561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (short) arraySize); 2600561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 2601561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 2602561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2603561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2604561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2605561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(shortArray, -1, 0, (short) arraySize); 2606561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 2607561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 2608561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2609561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2610561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2611561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.binarySearch(shortArray, 0, arraySize + 1, (short) arraySize); 2612561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 2613561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 2614561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2615561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2616561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] array = {"a" , "b" , "c"}; 2617561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-2,Arrays.binarySearch(array, 1, 2, "a", null)); 2618561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2619561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2620561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2621561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOf(byte[],int) 2622561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2623561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOf_$BI() throws Exception { 2624561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte[] result = Arrays.copyOf(byteArray, arraySize*2); 2625561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 2626561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 2627561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i, result[i]); 2628561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2629561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2630561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result[i]); 2631561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2632561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOf(byteArray, arraySize/2); 2633561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 2634561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2635561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i, result[i]); 2636561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2637561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2638561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((byte[])null, arraySize); 2639561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2640561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2641561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2642561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2643561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2644561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf(byteArray, -1); 2645561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2646561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2647561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2648561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2649561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2650561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((byte[])null, -1); 2651561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2652561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2653561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2654561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2655561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2656561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2657561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2658561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOf(short[],int) 2659561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2660561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOf_$SI() throws Exception { 2661561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes short[] result = Arrays.copyOf(shortArray, arraySize*2); 2662561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 2663561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 2664561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i, result[i]); 2665561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2666561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2667561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result[i]); 2668561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2669561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOf(shortArray, arraySize/2); 2670561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 2671561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2672561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i, result[i]); 2673561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2674561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2675561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((short[])null, arraySize); 2676561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2677561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2678561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2679561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2680561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2681561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf(shortArray, -1); 2682561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2683561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2684561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2685561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2686561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2687561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((short[])null, -1); 2688561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2689561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2690561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2691561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2692561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2693561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2694561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2695561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOf(int[],int) 2696561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2697561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOf_$II() throws Exception { 2698561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int[] result = Arrays.copyOf(intArray, arraySize*2); 2699561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 2700561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 2701561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i, result[i]); 2702561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2703561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2704561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result[i]); 2705561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2706561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOf(intArray, arraySize/2); 2707561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 2708561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2709561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i, result[i]); 2710561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2711561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2712561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((int[])null, arraySize); 2713561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2714561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2715561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2716561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2717561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2718561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf(intArray, -1); 2719561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2720561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2721561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2722561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2723561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2724561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((int[])null, -1); 2725561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2726561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2727561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2728561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2729561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2730561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2731561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2732561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOf(boolean[],int) 2733561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2734561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOf_$ZI() throws Exception { 2735561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean[] result = Arrays.copyOf(booleanArray, arraySize*2); 2736561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 2737561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 2738561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(booleanArray[i], result[i]); 2739561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2740561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2741561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(false, result[i]); 2742561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2743561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOf(booleanArray, arraySize/2); 2744561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 2745561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2746561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(booleanArray[i], result[i]); 2747561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2748561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2749561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((boolean[])null, arraySize); 2750561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2751561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2752561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2753561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2754561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2755561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf(booleanArray, -1); 2756561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2757561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2758561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2759561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2760561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2761561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((boolean[])null, -1); 2762561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2763561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2764561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2765561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2766561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2767561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2768561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2769561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOf(char[],int) 2770561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2771561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOf_$CI() throws Exception { 2772561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char[] result = Arrays.copyOf(charArray, arraySize*2); 2773561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 2774561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 2775561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i+1, result[i]); 2776561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2777561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2778561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result[i]); 2779561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2780561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOf(charArray, arraySize/2); 2781561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 2782561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2783561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i+1, result[i]); 2784561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2785561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2786561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((char[])null, arraySize); 2787561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2788561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2789561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2790561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2791561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2792561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf(charArray, -1); 2793561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2794561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2795561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2796561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2797561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2798561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((char[])null, -1); 2799561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2800561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2801561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2802561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2803561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2804561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2805561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2806561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOf(float[],int) 2807561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2808561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOf_$FI() throws Exception { 2809561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float[] result = Arrays.copyOf(floatArray, arraySize*2); 2810561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 2811561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 2812561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(floatArray[i], result[i]); 2813561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2814561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2815561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0.0f, result[i]); 2816561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2817561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOf(floatArray, arraySize/2); 2818561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 2819561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2820561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(floatArray[i], result[i]); 2821561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2822561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2823561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((float[])null, arraySize); 2824561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2825561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2826561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2827561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2828561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2829561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf(floatArray, -1); 2830561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2831561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2832561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2833561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2834561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2835561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((float[])null, -1); 2836561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2837561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2838561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2839561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2840561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2841561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2842561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2843561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOf(double[],int) 2844561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2845561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOf_$DI() throws Exception { 2846561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double[] result = Arrays.copyOf(doubleArray, arraySize*2); 2847561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 2848561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 2849561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(doubleArray[i], result[i]); 2850561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2851561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2852561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0.0, result[i]); 2853561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2854561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOf(doubleArray, arraySize/2); 2855561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 2856561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2857561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(doubleArray[i], result[i]); 2858561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2859561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2860561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((double[])null, arraySize); 2861561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2862561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2863561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2864561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2865561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2866561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf(doubleArray, -1); 2867561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2868561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2869561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2870561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2871561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2872561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((double[])null, -1); 2873561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2874561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2875561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2876561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2877561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2878561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2879561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2880561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOf(long[],int) 2881561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2882561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOf_$JI() throws Exception { 2883561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes long[] result = Arrays.copyOf(longArray, arraySize*2); 2884561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 2885561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 2886561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(longArray[i], result[i]); 2887561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2888561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2889561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result[i]); 2890561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2891561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOf(longArray, arraySize/2); 2892561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 2893561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2894561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(longArray[i], result[i]); 2895561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2896561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2897561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((long[])null, arraySize); 2898561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2899561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2900561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2901561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2902561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2903561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf(longArray, -1); 2904561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2905561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2906561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2907561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2908561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2909561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((long[])null, -1); 2910561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2911561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2912561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2913561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2914561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2915561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2916561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2917561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOf(T[],int) 2918561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2919561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOf_$TI() throws Exception { 2920561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] result = Arrays.copyOf(objArray, arraySize*2); 2921561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 2922561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 2923561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(objArray[i], result[i]); 2924561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2925561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2926561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNull(result[i]); 2927561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2928561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOf(objArray, arraySize/2); 2929561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 2930561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2931561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(objArray[i], result[i]); 2932561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2933561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2934561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((String[])null, arraySize); 2935561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2936561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2937561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2938561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2939561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2940561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf(objArray, -1); 2941561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 2942561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 2943561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2944561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2945561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2946561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((String[])null, -1); 2947561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2948561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2949561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2950561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2951561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2952561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Date[] component = new Date[0]; 2953561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object object[] = new Date[0]; 2954561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2955561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes object = Arrays.copyOf(component,2); 2956561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(object); 2957561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes component = Arrays.copyOf(component,2); 2958561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(component); 2959561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, component.length); 2960561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2961561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2962561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 2963561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOf(T[],int,Class<? extends Object[]>)) 2964561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 2965561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOf_$TILClass() throws Exception { 2966561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] result = Arrays.copyOf(objArray, arraySize*2,Object[].class); 2967561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 2968561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 2969561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(objArray[i], result[i]); 2970561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2971561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2972561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNull(result[i]); 2973561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2974561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOf(objArray, arraySize/2,Object[].class); 2975561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 2976561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2977561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(objArray[i], result[i]); 2978561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2979561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOf(objArray, arraySize/2,Integer[].class); 2980561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 2981561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 2982561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(objArray[i], result[i]); 2983561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2984561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2985561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((Object[])null, arraySize,LinkedList[].class); 2986561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2987561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 2988561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2989561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2990561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2991561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf(objArray, arraySize,LinkedList[].class); 2992561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayStoreException "); 2993561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayStoreException e) { 2994561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 2995561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2996561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 2997561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((Object[])null, arraySize,Object[].class); 2998561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 2999561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3000561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3001561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3002561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3003561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf(objArray, -1,Object[].class); 3004561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 3005561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 3006561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3007561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3008561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3009561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((Object[])null, -1,Object[].class); 3010561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 3011561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 3012561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3013561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3014561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3015561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((Object[])null, -1,LinkedList[].class); 3016561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NegativeArraySizeException"); 3017561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NegativeArraySizeException e) { 3018561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3019561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3020561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3021561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOf((Object[])null, 0,LinkedList[].class); 3022561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3023561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3024561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3025561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3026561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0,Arrays.copyOf(objArray, 0,LinkedList[].class).length); 3027561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3028561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 3029561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 3030561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOfRange(byte[],int,int) 3031561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 3032561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOfRange_$BII() throws Exception { 3033561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte[] result = Arrays.copyOfRange(byteArray, 0,arraySize*2); 3034561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 3035561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 3036561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i, result[i]); 3037561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3038561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3039561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result[i]); 3040561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3041561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(byteArray,0, arraySize/2); 3042561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 3043561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3044561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i, result[i]); 3045561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3046561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(byteArray,0, 0); 3047561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result.length); 3048561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3049561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((byte[])null, 0,arraySize); 3050561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3051561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3052561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3053561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3054561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3055561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((byte[])null, -1,arraySize); 3056561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3057561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3058561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3059561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3060561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3061561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((byte[])null, 0,-1); 3062561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3063561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3064561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3065561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3066561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3067561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(byteArray, -1,arraySize); 3068561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 3069561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 3070561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3071561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3072561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3073561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(byteArray, 0, -1); 3074561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3075561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3076561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3077561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3078561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(byteArray.length + 1, Arrays.copyOfRange(byteArray, 0, 3079561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byteArray.length + 1).length); 3080561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3081561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 3082561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 3083561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOfRange(short[],int,int) 3084561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 3085561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOfRange_$SII() throws Exception { 3086561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes short[] result = Arrays.copyOfRange(shortArray, 0,arraySize*2); 3087561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 3088561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 3089561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i, result[i]); 3090561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3091561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3092561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result[i]); 3093561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3094561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(shortArray,0, arraySize/2); 3095561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 3096561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3097561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i, result[i]); 3098561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3099561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(shortArray,0, 0); 3100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result.length); 3101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((short[])null, 0,arraySize); 3103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((short[])null, -1,arraySize); 3109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((short[])null, 0,-1); 3115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(shortArray, -1,arraySize); 3121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 3122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 3123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(shortArray, 0,-1); 3127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(shortArray.length + 1, Arrays.copyOfRange(shortArray, 0, 3132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes shortArray.length + 1).length); 3133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 3135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 3136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOfRange(int[],int,int) 3137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 3138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOfRange_$III() throws Exception { 3139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int[] result = Arrays.copyOfRange(intArray, 0,arraySize*2); 3140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 3141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 3142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i, result[i]); 3143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result[i]); 3146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(intArray,0, arraySize/2); 3148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 3149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i, result[i]); 3151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(intArray,0, 0); 3153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result.length); 3154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((int[])null, 0,arraySize); 3156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((int[])null, -1,arraySize); 3162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((int[])null, 0,-1); 3168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(intArray, -1,arraySize); 3174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 3175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 3176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(intArray, 0,-1); 3180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(intArray.length + 1, Arrays.copyOfRange(intArray, 0, 3185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes intArray.length + 1).length); 3186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 3188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 3189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOfRange(long[],int,int) 3190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 3191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOfRange_$JII() throws Exception { 3192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes long[] result = Arrays.copyOfRange(longArray, 0,arraySize*2); 3193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 3194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 3195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i, result[i]); 3196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result[i]); 3199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(longArray,0, arraySize/2); 3201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 3202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i, result[i]); 3204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(longArray,0, 0); 3206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result.length); 3207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((long[])null, 0,arraySize); 3209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((long[])null, -1,arraySize); 3215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((long[])null, 0,-1); 3221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(longArray, -1,arraySize); 3227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 3228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 3229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(longArray, 0,-1); 3233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(longArray.length + 1, Arrays.copyOfRange(longArray, 0, 3238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes longArray.length + 1).length); 3239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 3241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 3242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOfRange(char[],int,int) 3243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 3244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOfRange_$CII() throws Exception { 3245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char[] result = Arrays.copyOfRange(charArray, 0,arraySize*2); 3246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 3247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 3248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i+1, result[i]); 3249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result[i]); 3252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(charArray,0, arraySize/2); 3254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 3255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(i+1, result[i]); 3257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(charArray,0, 0); 3259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result.length); 3260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((char[])null, 0,arraySize); 3262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((char[])null, -1,arraySize); 3268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((char[])null, 0,-1); 3274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(charArray, -1,arraySize); 3280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 3281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 3282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(charArray, 0,-1); 3286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(charArray.length + 1, Arrays.copyOfRange(charArray, 0, 3291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes charArray.length + 1).length); 3292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 3294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 3295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOfRange(float[],int,int) 3296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 3297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOfRange_$FII() throws Exception { 3298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes float[] result = Arrays.copyOfRange(floatArray, 0,arraySize*2); 3299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 3300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 3301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals((float)i, result[i]); 3302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0.0f, result[i]); 3305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(floatArray,0, arraySize/2); 3307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 3308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals((float)i, result[i]); 3310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(floatArray,0, 0); 3312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result.length); 3313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((float[])null, 0,arraySize); 3315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((float[])null, -1,arraySize); 3321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((float[])null, 0,-1); 3327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(floatArray, -1,arraySize); 3333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 3334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 3335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(floatArray, 0,-1); 3339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(floatArray.length + 1, Arrays.copyOfRange(floatArray, 0, 3344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes floatArray.length + 1).length); 3345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 3347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 3348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOfRange(double[],int,int) 3349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 3350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOfRange_$DII() throws Exception { 3351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes double[] result = Arrays.copyOfRange(doubleArray, 0,arraySize*2); 3352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 3353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 3354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals((double)i, result[i]); 3355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0.0, result[i]); 3358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(doubleArray,0, arraySize/2); 3360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 3361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals((double)i, result[i]); 3363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(doubleArray,0, 0); 3365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result.length); 3366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((double[])null, 0,arraySize); 3368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((double[])null, -1,arraySize); 3374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((double[])null, 0,-1); 3380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(doubleArray, -1,arraySize); 3386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 3387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 3388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(doubleArray, 0,-1); 3392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(doubleArray.length + 1, Arrays.copyOfRange(doubleArray, 0, 3397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes doubleArray.length + 1).length); 3398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 3400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 3401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOfRange(boolean[],int,int) 3402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 3403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOfRange_$ZII() throws Exception { 3404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean[] result = Arrays.copyOfRange(booleanArray, 0,arraySize*2); 3405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 3406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 3407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(booleanArray[i], result[i]); 3408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(false, result[i]); 3411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(booleanArray,0, arraySize/2); 3413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 3414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(booleanArray[i], result[i]); 3416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(booleanArray,0, 0); 3418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result.length); 3419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((boolean[])null, 0,arraySize); 3421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((boolean[])null, -1,arraySize); 3427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((boolean[])null, 0,-1); 3433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(booleanArray, -1,arraySize); 3439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 3440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 3441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(booleanArray, 0,-1); 3445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(booleanArray.length + 1, Arrays.copyOfRange(booleanArray, 0, 3450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes booleanArray.length + 1).length); 3451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 3453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 3454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOfRange(Object[],int,int) 3455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 3456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOfRange_$TII() throws Exception { 3457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] result = Arrays.copyOfRange(objArray, 0,arraySize*2); 3458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 3459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 3460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(objArray[i], result[i]); 3461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(null, result[i]); 3464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(objArray,0, arraySize/2); 3466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 3467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(objArray[i], result[i]); 3469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(objArray,0, 0); 3471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result.length); 3472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((Object[])null, 0,arraySize); 3474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((Object[])null, -1,arraySize); 3480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((Object[])null, 0,-1); 3486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((Object[])objArray, -1,arraySize); 3492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 3493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 3494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3497561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange((Object[])objArray, 0,-1); 3498561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3499561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3500561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3501561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3502561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(objArray.length + 1, Arrays.copyOfRange(objArray, 0, 3503561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes objArray.length + 1).length); 3504561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3505561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 3506561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 3507561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.Arrays#copyOfRange(Object[], int, int, Class) 3508561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 3509561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_copyOfRange_$TIILClass() throws Exception { 3510561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] result = Arrays.copyOfRange(objArray, 0,arraySize*2,Integer[].class); 3511561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int i = 0; 3512561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < arraySize; i++) { 3513561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(objArray[i], result[i]); 3514561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3515561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3516561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(null, result[i]); 3517561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3518561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(objArray,0, arraySize/2,Integer[].class); 3519561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = 0; 3520561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (; i < result.length; i++) { 3521561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(objArray[i], result[i]); 3522561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3523561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = Arrays.copyOfRange(objArray,0, 0,Integer[].class); 3524561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result.length); 3525561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3526561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(null, 0,arraySize,Integer[].class); 3527561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3528561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3529561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3530561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3531561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3532561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(null, -1,arraySize,Integer[].class); 3533561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3534561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3535561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3536561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3537561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3538561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(null, 0,-1,Integer[].class); 3539561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3540561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3541561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3542561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3543561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3544561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(objArray, -1,arraySize,Integer[].class); 3545561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayIndexOutOfBoundsException"); 3546561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 3547561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3548561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3549561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3550561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(objArray, 0,-1,Integer[].class); 3551561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3552561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3553561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3554561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3555561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3556561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(objArray, 0,-1,LinkedList[].class); 3557561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException"); 3558561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 3559561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3560561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3561561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3562561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(objArray, 0,1,LinkedList[].class); 3563561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayStoreException"); 3564561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayStoreException e) { 3565561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3566561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3567561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3568561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(null, 0,1,LinkedList[].class); 3569561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 3570561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 3571561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3572561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3573561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 3574561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(objArray.length + 1, Arrays.copyOfRange(objArray, 0, 3575561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes objArray.length + 1, LinkedList[].class).length); 3576561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ArrayStoreException"); 3577561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayStoreException e) { 3578561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 3579561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3580561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, 3581561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.copyOfRange(objArray, 0, 0, LinkedList[].class).length); 3582561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3583561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 3584561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 3585561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Arrays#swap(int, int, Object[]) 3586561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 3587561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_swap_I_I_$Ljava_lang_Object() throws Exception { 3588561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Method m = Arrays.class.getDeclaredMethod("swap", int.class, int.class, Object[].class); 3589561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes m.setAccessible(true); 3590561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Integer[] arr = {new Integer(0), new Integer(1), new Integer(2)}; 3591561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes m.invoke(null,0, 1, arr); 3592561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("should be equal to 1",1, arr[0].intValue()); 3593561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("should be equal to 0",0, arr[1].intValue()); 3594561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3595561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 3596561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 3597561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Tears down the fixture, for example, close a network connection. This 3598561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * method is called after a test is executed. 3599561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 3600561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void tearDown() { 3601561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 3602561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes} 3603