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 |