vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionArrayTest.java
branchArrayReflect
changeset 482 05a87bc23192
parent 480 dfebf4fbb711
child 484 7ca6bd52b668
     1.1 --- a/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionArrayTest.java	Fri Jan 18 18:35:17 2013 +0100
     1.2 +++ b/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionArrayTest.java	Fri Jan 18 19:22:49 2013 +0100
     1.3 @@ -31,6 +31,16 @@
     1.4          String[] arr = (String[]) Array.newInstance(String.class, 10);
     1.5          return arr.length;
     1.6      }
     1.7 +    
     1.8 +    @Compare public int reflectiveLengthOfStringArray() {
     1.9 +        Object arr = Array.newInstance(String.class, 10);
    1.10 +        return Array.getLength(arr);
    1.11 +    }
    1.12 +
    1.13 +    @Compare public int reflectiveLengthOneNonArray() {
    1.14 +        Object arr = "non-array";
    1.15 +        return Array.getLength(arr);
    1.16 +    }
    1.17  
    1.18      @Compare public String compTypeOfStringArray() {
    1.19          String[] arr = (String[]) Array.newInstance(String.class, 10);
    1.20 @@ -46,6 +56,11 @@
    1.21          return arr.length;
    1.22      }
    1.23  
    1.24 +    @Compare public int reflectiveLengthOfIntArray() {
    1.25 +        Object arr = Array.newInstance(Integer.TYPE, 10);
    1.26 +        return Array.getLength(arr);
    1.27 +    }
    1.28 +
    1.29      @Compare public String compTypeOfIntArray() {
    1.30          int[] arr = (int[]) Array.newInstance(int.class, 10);
    1.31          return arr.getClass().getComponentType().getName();
    1.32 @@ -54,6 +69,40 @@
    1.33      @Compare public Object intNegativeArrayExcp() {
    1.34          return Array.newInstance(int.class, -5);
    1.35      }
    1.36 +
    1.37 +    @Compare public Integer verifyAutobox() {
    1.38 +        int[] arr = (int[]) Array.newInstance(int.class, 5);
    1.39 +        return (Integer) Array.get(arr, 0);
    1.40 +    }
    1.41 +    @Compare public int verifyInt() {
    1.42 +        int[] arr = (int[]) Array.newInstance(int.class, 5);
    1.43 +        return Array.getInt(arr, 0);
    1.44 +    }
    1.45 +    @Compare public long verifyConvertToLong() {
    1.46 +        int[] arr = (int[]) Array.newInstance(int.class, 5);
    1.47 +        return Array.getLong(arr, 0);
    1.48 +    }
    1.49 +
    1.50 +    @Compare public Object verifySetIntToObject() {
    1.51 +        Object[] arr = (Object[]) Array.newInstance(Object.class, 5);
    1.52 +        Array.setInt(arr, 0, 10);
    1.53 +        return Array.get(arr, 0);
    1.54 +    }
    1.55 +    @Compare public long verifySetShort() {
    1.56 +        int[] arr = (int[]) Array.newInstance(int.class, 5);
    1.57 +        Array.setShort(arr, 0, (short)10);
    1.58 +        return Array.getLong(arr, 0);
    1.59 +    }
    1.60 +    @Compare public long verifyCantSetLong() {
    1.61 +        int[] arr = (int[]) Array.newInstance(int.class, 5);
    1.62 +        Array.setLong(arr, 0, 10);
    1.63 +        return Array.getLong(arr, 0);
    1.64 +    }
    1.65 +
    1.66 +    @Compare public double verifyConvertToDouble() {
    1.67 +        int[] arr = (int[]) Array.newInstance(int.class, 5);
    1.68 +        return Array.getDouble(arr, 0);
    1.69 +    }
    1.70      
    1.71      @Compare public int multiIntArray() {
    1.72          int[][][] arr = (int[][][]) Array.newInstance(int.class, 3, 3, 3);