@@ -73,17 +73,17 @@ class SpelDocumentationTests extends AbstractExpressionTests {
73
73
74
74
@ Test
75
75
void methodInvocation () {
76
- evaluate ("'Hello World'.concat('!')" ,"Hello World!" ,String .class );
76
+ evaluate ("'Hello World'.concat('!')" , "Hello World!" , String .class );
77
77
}
78
78
79
79
@ Test
80
80
void beanPropertyAccess () {
81
- evaluate ("new String('Hello World'.bytes)" ,"Hello World" ,String .class );
81
+ evaluate ("new String('Hello World'.bytes)" , "Hello World" , String .class );
82
82
}
83
83
84
84
@ Test
85
85
void arrayLengthAccess () {
86
- evaluate ("'Hello World'.bytes.length" ,11 ,Integer .class );
86
+ evaluate ("'Hello World'.bytes.length" , 11 , Integer .class );
87
87
}
88
88
89
89
@ Test
@@ -307,39 +307,44 @@ void stringOperators() {
307
307
@ Test
308
308
void mathematicalOperators () {
309
309
// Addition
310
- int two = parser .parseExpression ("1 + 1" ).getValue (Integer .class ); // 2
310
+ int two = parser .parseExpression ("1 + 1" ).getValue (int .class ); // 2
311
311
assertThat (two ).isEqualTo (2 );
312
312
313
313
// Subtraction
314
- int four = parser .parseExpression ("1 - -3" ).getValue (Integer .class ); // 4
314
+ int four = parser .parseExpression ("1 - -3" ).getValue (int .class ); // 4
315
315
assertThat (four ).isEqualTo (4 );
316
316
317
- double d = parser .parseExpression ("1000.00 - 1e4" ).getValue (Double .class ); // -9000
317
+ double d = parser .parseExpression ("1000.00 - 1e4" ).getValue (double .class ); // -9000
318
318
assertThat (d ).isCloseTo (-9000.0d , within ((double ) 0 ));
319
319
320
320
// Multiplication
321
- int six = parser .parseExpression ("-2 * -3" ).getValue (Integer .class ); // 6
321
+ int six = parser .parseExpression ("-2 * -3" ).getValue (int .class ); // 6
322
322
assertThat (six ).isEqualTo (6 );
323
323
324
- double twentyFour = parser .parseExpression ("2.0 * 3e0 * 4" ).getValue (Double .class ); // 24.0
324
+ double twentyFour = parser .parseExpression ("2.0 * 3e0 * 4" ).getValue (double .class ); // 24.0
325
325
assertThat (twentyFour ).isCloseTo (24.0d , within ((double ) 0 ));
326
326
327
327
// Division
328
- int minusTwo = parser .parseExpression ("6 / -3" ).getValue (Integer .class ); // -2
328
+ int minusTwo = parser .parseExpression ("6 / -3" ).getValue (int .class ); // -2
329
329
assertThat (minusTwo ).isEqualTo (-2 );
330
330
331
- double one = parser .parseExpression ("8.0 / 4e0 / 2" ).getValue (Double .class ); // 1.0
331
+ double one = parser .parseExpression ("8.0 / 4e0 / 2" ).getValue (double .class ); // 1.0
332
332
assertThat (one ).isCloseTo (1.0d , within ((double ) 0 ));
333
333
334
334
// Modulus
335
- int three = parser .parseExpression ("7 % 4" ).getValue (Integer .class ); // 3
335
+ int three = parser .parseExpression ("7 % 4" ).getValue (int .class ); // 3
336
336
assertThat (three ).isEqualTo (3 );
337
337
338
- int oneInt = parser .parseExpression ("8 / 5 % 2" ).getValue (Integer .class ); // 1
338
+ int oneInt = parser .parseExpression ("8 / 5 % 2" ).getValue (int .class ); // 1
339
339
assertThat (oneInt ).isEqualTo (1 );
340
340
341
+ // Exponential power
342
+ int maxInt = parser .parseExpression ("(2^31) - 1" ).getValue (int .class ); // Integer.MAX_VALUE
343
+ assertThat (maxInt ).isEqualTo (Integer .MAX_VALUE );
344
+
341
345
// Operator precedence
342
- int minusTwentyOne = parser .parseExpression ("1+2-3*8" ).getValue (Integer .class ); // -21
346
+
347
+ int minusTwentyOne = parser .parseExpression ("1+2-3*8" ).getValue (int .class ); // -21
343
348
assertThat (minusTwentyOne ).isEqualTo (-21 );
344
349
}
345
350
0 commit comments