vm/src/test/java/org/apidesign/vm4brwsr/Array.java
changeset 128 8db5cf267d74
parent 126 b86e61debdba
child 402 1fb46c65f030
     1.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/Array.java	Tue Oct 30 20:11:41 2012 +0100
     1.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/Array.java	Tue Oct 30 22:22:18 2012 +0100
     1.3 @@ -53,8 +53,12 @@
     1.4      
     1.5      private static final Array[] ARR = { new Array(), new Array(), new Array() };
     1.6      
     1.7 -    private static Array[] arr() {
     1.8 -        return ARR;
     1.9 +    private static Array[][] arr() {
    1.10 +        Array[][] matrix = new Array[3][3];
    1.11 +        for (int i = 0; i < ARR.length; i++) {
    1.12 +            matrix[i][i] = ARR[i];
    1.13 +        }
    1.14 +        return matrix;
    1.15      }
    1.16      private static <T> T[] filter(T[] in) {
    1.17          return in;
    1.18 @@ -62,12 +66,19 @@
    1.19      
    1.20      public static double sum() {
    1.21          double sum = 0.0;
    1.22 -        for (int i = 0; i < arr().length; i++) {
    1.23 -            sum += arr()[i].bytes();
    1.24 -            sum += arr()[i].shorts();
    1.25 -            sum += arr()[i].ints()[2];
    1.26 -            sum += arr()[i].floats();
    1.27 -            sum += filter(arr())[i].doubles();
    1.28 +        for (Array[] row : arr()) {
    1.29 +            int indx = -1;
    1.30 +            for (Array a : row) {
    1.31 +                indx++;
    1.32 +                if (a == null) {
    1.33 +                    continue;
    1.34 +                }
    1.35 +                sum += a.bytes();
    1.36 +                sum += a.shorts();
    1.37 +                sum += a.ints()[2];
    1.38 +                sum += a.floats();
    1.39 +                sum += filter(row)[indx].doubles();
    1.40 +            }
    1.41          }
    1.42          return sum;
    1.43      }
    1.44 @@ -75,8 +86,8 @@
    1.45          int[] arr = { 0, 1, 2, 3, 4, 5 };
    1.46          
    1.47          int sum = 0;
    1.48 -        for (int i = 0; i < arr.length; i++) {
    1.49 -            sum += arr[i];
    1.50 +        for (int a : arr) {
    1.51 +            sum += a;
    1.52          }
    1.53          return sum;
    1.54      }
    1.55 @@ -89,7 +100,7 @@
    1.56  
    1.57      public static char copyArray() {
    1.58          char[] arr = { '0' };
    1.59 -        arraycopy(arr()[0].chars, 0, arr, 0, 1);
    1.60 +        arraycopy(arr()[0][0].chars, 0, arr, 0, 1);
    1.61          return arr[0];
    1.62      }
    1.63  }