jdk/test/java/lang/PrimitiveSumMinMaxTest.java
changeset 16011 890a7ed97f6c
parent 15311 be0ff4a719bf
child 23010 6dadb192ad81
equal deleted inserted replaced
16010:2727163b5df5 16011:890a7ed97f6c
    48         BinaryOperator<Boolean> and = Boolean::logicalAnd;
    48         BinaryOperator<Boolean> and = Boolean::logicalAnd;
    49         BinaryOperator<Boolean> or = Boolean::logicalOr;
    49         BinaryOperator<Boolean> or = Boolean::logicalOr;
    50         BinaryOperator<Boolean> xor = Boolean::logicalXor;
    50         BinaryOperator<Boolean> xor = Boolean::logicalXor;
    51         Comparator<Boolean> cmp = Boolean::compare;
    51         Comparator<Boolean> cmp = Boolean::compare;
    52 
    52 
    53         assertTrue(and.operate(true, true));
    53         assertTrue(and.apply(true, true));
    54         assertFalse(and.operate(true, false));
    54         assertFalse(and.apply(true, false));
    55         assertFalse(and.operate(false, true));
    55         assertFalse(and.apply(false, true));
    56         assertFalse(and.operate(false, false));
    56         assertFalse(and.apply(false, false));
    57 
    57 
    58         assertTrue(or.operate(true, true));
    58         assertTrue(or.apply(true, true));
    59         assertTrue(or.operate(true, false));
    59         assertTrue(or.apply(true, false));
    60         assertTrue(or.operate(false, true));
    60         assertTrue(or.apply(false, true));
    61         assertFalse(or.operate(false, false));
    61         assertFalse(or.apply(false, false));
    62 
    62 
    63         assertFalse(xor.operate(true, true));
    63         assertFalse(xor.apply(true, true));
    64         assertTrue(xor.operate(true, false));
    64         assertTrue(xor.apply(true, false));
    65         assertTrue(xor.operate(false, true));
    65         assertTrue(xor.apply(false, true));
    66         assertFalse(xor.operate(false, false));
    66         assertFalse(xor.apply(false, false));
    67 
    67 
    68         assertEquals(Boolean.TRUE.compareTo(Boolean.TRUE), cmp.compare(true, true));
    68         assertEquals(Boolean.TRUE.compareTo(Boolean.TRUE), cmp.compare(true, true));
    69         assertEquals(Boolean.TRUE.compareTo(Boolean.FALSE), cmp.compare(true, false));
    69         assertEquals(Boolean.TRUE.compareTo(Boolean.FALSE), cmp.compare(true, false));
    70         assertEquals(Boolean.FALSE.compareTo(Boolean.TRUE), cmp.compare(false, true));
    70         assertEquals(Boolean.FALSE.compareTo(Boolean.TRUE), cmp.compare(false, true));
    71         assertEquals(Boolean.FALSE.compareTo(Boolean.FALSE), cmp.compare(false, false));
    71         assertEquals(Boolean.FALSE.compareTo(Boolean.FALSE), cmp.compare(false, false));
    81         Comparator<Integer> cmp = Integer::compare;
    81         Comparator<Integer> cmp = Integer::compare;
    82 
    82 
    83         int[] numbers = { -1, 0, 1, 100, Integer.MAX_VALUE, Integer.MIN_VALUE };
    83         int[] numbers = { -1, 0, 1, 100, Integer.MAX_VALUE, Integer.MIN_VALUE };
    84         for (int i : numbers) {
    84         for (int i : numbers) {
    85             for (int j : numbers) {
    85             for (int j : numbers) {
    86                 assertEquals(i+j, (int) sum1.operate(i, j));
    86                 assertEquals(i+j, (int) sum1.apply(i, j));
    87                 assertEquals(i+j, sum2.operateAsInt(i, j));
    87                 assertEquals(i+j, sum2.applyAsInt(i, j));
    88                 assertEquals(Math.max(i,j), (int) max1.operate(i, j));
    88                 assertEquals(Math.max(i,j), (int) max1.apply(i, j));
    89                 assertEquals(Math.max(i,j), max2.operateAsInt(i, j));
    89                 assertEquals(Math.max(i,j), max2.applyAsInt(i, j));
    90                 assertEquals(Math.min(i,j), (int) min1.operate(i, j));
    90                 assertEquals(Math.min(i,j), (int) min1.apply(i, j));
    91                 assertEquals(Math.min(i,j), min2.operateAsInt(i, j));
    91                 assertEquals(Math.min(i,j), min2.applyAsInt(i, j));
    92                 assertEquals(((Integer) i).compareTo(j), cmp.compare(i, j));
    92                 assertEquals(((Integer) i).compareTo(j), cmp.compare(i, j));
    93             }
    93             }
    94         }
    94         }
    95     }
    95     }
    96 
    96 
   104         Comparator<Long> cmp = Long::compare;
   104         Comparator<Long> cmp = Long::compare;
   105 
   105 
   106         long[] numbers = { -1, 0, 1, 100, Long.MAX_VALUE, Long.MIN_VALUE };
   106         long[] numbers = { -1, 0, 1, 100, Long.MAX_VALUE, Long.MIN_VALUE };
   107         for (long i : numbers) {
   107         for (long i : numbers) {
   108             for (long j : numbers) {
   108             for (long j : numbers) {
   109                 assertEquals(i+j, (long) sum1.operate(i, j));
   109                 assertEquals(i+j, (long) sum1.apply(i, j));
   110                 assertEquals(i+j, sum2.operateAsLong(i, j));
   110                 assertEquals(i+j, sum2.applyAsLong(i, j));
   111                 assertEquals(Math.max(i,j), (long) max1.operate(i, j));
   111                 assertEquals(Math.max(i,j), (long) max1.apply(i, j));
   112                 assertEquals(Math.max(i,j), max2.operateAsLong(i, j));
   112                 assertEquals(Math.max(i,j), max2.applyAsLong(i, j));
   113                 assertEquals(Math.min(i,j), (long) min1.operate(i, j));
   113                 assertEquals(Math.min(i,j), (long) min1.apply(i, j));
   114                 assertEquals(Math.min(i,j), min2.operateAsLong(i, j));
   114                 assertEquals(Math.min(i,j), min2.applyAsLong(i, j));
   115                 assertEquals(((Long) i).compareTo(j), cmp.compare(i, j));
   115                 assertEquals(((Long) i).compareTo(j), cmp.compare(i, j));
   116             }
   116             }
   117         }
   117         }
   118     }
   118     }
   119 
   119 
   124         Comparator<Float> cmp = Float::compare;
   124         Comparator<Float> cmp = Float::compare;
   125 
   125 
   126         float[] numbers = { -1, 0, 1, 100, Float.MAX_VALUE, Float.MIN_VALUE };
   126         float[] numbers = { -1, 0, 1, 100, Float.MAX_VALUE, Float.MIN_VALUE };
   127         for (float i : numbers) {
   127         for (float i : numbers) {
   128             for (float j : numbers) {
   128             for (float j : numbers) {
   129                 assertEquals(i+j, (float) sum1.operate(i, j));
   129                 assertEquals(i+j, (float) sum1.apply(i, j));
   130                 assertEquals(Math.max(i,j), (float) max1.operate(i, j));
   130                 assertEquals(Math.max(i,j), (float) max1.apply(i, j));
   131                 assertEquals(Math.min(i,j), (float) min1.operate(i, j));
   131                 assertEquals(Math.min(i,j), (float) min1.apply(i, j));
   132                 assertEquals(((Float) i).compareTo(j), cmp.compare(i, j));
   132                 assertEquals(((Float) i).compareTo(j), cmp.compare(i, j));
   133             }
   133             }
   134         }
   134         }
   135     }
   135     }
   136 
   136 
   144         Comparator<Double> cmp = Double::compare;
   144         Comparator<Double> cmp = Double::compare;
   145 
   145 
   146         double[] numbers = { -1, 0, 1, 100, Double.MAX_VALUE, Double.MIN_VALUE };
   146         double[] numbers = { -1, 0, 1, 100, Double.MAX_VALUE, Double.MIN_VALUE };
   147         for (double i : numbers) {
   147         for (double i : numbers) {
   148             for (double j : numbers) {
   148             for (double j : numbers) {
   149                 assertEquals(i+j, (double) sum1.operate(i, j));
   149                 assertEquals(i+j, (double) sum1.apply(i, j));
   150                 assertEquals(i+j, sum2.operateAsDouble(i, j));
   150                 assertEquals(i+j, sum2.applyAsDouble(i, j));
   151                 assertEquals(Math.max(i,j), (double) max1.operate(i, j));
   151                 assertEquals(Math.max(i,j), (double) max1.apply(i, j));
   152                 assertEquals(Math.max(i,j), max2.operateAsDouble(i, j));
   152                 assertEquals(Math.max(i,j), max2.applyAsDouble(i, j));
   153                 assertEquals(Math.min(i,j), (double) min1.operate(i, j));
   153                 assertEquals(Math.min(i,j), (double) min1.apply(i, j));
   154                 assertEquals(Math.min(i,j), min2.operateAsDouble(i, j));
   154                 assertEquals(Math.min(i,j), min2.applyAsDouble(i, j));
   155                 assertEquals(((Double) i).compareTo(j), cmp.compare(i, j));
   155                 assertEquals(((Double) i).compareTo(j), cmp.compare(i, j));
   156             }
   156             }
   157         }
   157         }
   158     }
   158     }
   159 
   159