use of org.springframework.expression.ExpressionParser in project spring-framework by spring-projects.
the class EvaluationTests method increment02postfix.
@Test
public void increment02postfix() {
Spr9751 helper = new Spr9751();
StandardEvaluationContext ctx = new StandardEvaluationContext(helper);
ExpressionParser parser = new SpelExpressionParser(new SpelParserConfiguration(true, true));
Expression e = null;
// BigDecimal
e = parser.parseExpression("bd++");
assertTrue(new BigDecimal("2").equals(helper.bd));
BigDecimal return_bd = e.getValue(ctx, BigDecimal.class);
assertTrue(new BigDecimal("2").equals(return_bd));
assertTrue(new BigDecimal("3").equals(helper.bd));
// double
e = parser.parseExpression("ddd++");
assertEquals(2.0d, helper.ddd, 0d);
double return_ddd = e.getValue(ctx, Double.TYPE);
assertEquals(2.0d, return_ddd, 0d);
assertEquals(3.0d, helper.ddd, 0d);
// float
e = parser.parseExpression("fff++");
assertEquals(3.0f, helper.fff, 0d);
float return_fff = e.getValue(ctx, Float.TYPE);
assertEquals(3.0f, return_fff, 0d);
assertEquals(4.0f, helper.fff, 0d);
// long
e = parser.parseExpression("lll++");
assertEquals(66666L, helper.lll);
long return_lll = e.getValue(ctx, Long.TYPE);
assertEquals(66666L, return_lll);
assertEquals(66667L, helper.lll);
// int
e = parser.parseExpression("iii++");
assertEquals(42, helper.iii);
int return_iii = e.getValue(ctx, Integer.TYPE);
assertEquals(42, return_iii);
assertEquals(43, helper.iii);
return_iii = e.getValue(ctx, Integer.TYPE);
assertEquals(43, return_iii);
assertEquals(44, helper.iii);
// short
e = parser.parseExpression("sss++");
assertEquals(15, helper.sss);
short return_sss = e.getValue(ctx, Short.TYPE);
assertEquals(15, return_sss);
assertEquals(16, helper.sss);
}
use of org.springframework.expression.ExpressionParser in project spring-framework by spring-projects.
the class EvaluationTests method decrement02prefix.
@Test
public void decrement02prefix() {
Spr9751 helper = new Spr9751();
StandardEvaluationContext ctx = new StandardEvaluationContext(helper);
ExpressionParser parser = new SpelExpressionParser(new SpelParserConfiguration(true, true));
Expression e = null;
// BigDecimal
e = parser.parseExpression("--bd");
assertTrue(new BigDecimal("2").equals(helper.bd));
BigDecimal return_bd = e.getValue(ctx, BigDecimal.class);
assertTrue(new BigDecimal("1").equals(return_bd));
assertTrue(new BigDecimal("1").equals(helper.bd));
// double
e = parser.parseExpression("--ddd");
assertEquals(2.0d, helper.ddd, 0d);
double return_ddd = e.getValue(ctx, Double.TYPE);
assertEquals(1.0d, return_ddd, 0d);
assertEquals(1.0d, helper.ddd, 0d);
// float
e = parser.parseExpression("--fff");
assertEquals(3.0f, helper.fff, 0d);
float return_fff = e.getValue(ctx, Float.TYPE);
assertEquals(2.0f, return_fff, 0d);
assertEquals(2.0f, helper.fff, 0d);
// long
e = parser.parseExpression("--lll");
assertEquals(66666L, helper.lll);
long return_lll = e.getValue(ctx, Long.TYPE);
assertEquals(66665L, return_lll);
assertEquals(66665L, helper.lll);
// int
e = parser.parseExpression("--iii");
assertEquals(42, helper.iii);
int return_iii = e.getValue(ctx, Integer.TYPE);
assertEquals(41, return_iii);
assertEquals(41, helper.iii);
return_iii = e.getValue(ctx, Integer.TYPE);
assertEquals(40, return_iii);
assertEquals(40, helper.iii);
// short
e = parser.parseExpression("--sss");
assertEquals(15, helper.sss);
int return_sss = (Integer) e.getValue(ctx);
assertEquals(14, return_sss);
assertEquals(14, helper.sss);
}
use of org.springframework.expression.ExpressionParser in project spring-framework by spring-projects.
the class EvaluationTests method incdecTogether.
@Test
public void incdecTogether() {
Spr9751 helper = new Spr9751();
StandardEvaluationContext ctx = new StandardEvaluationContext(helper);
ExpressionParser parser = new SpelExpressionParser(new SpelParserConfiguration(true, true));
Expression e = null;
// index1 is 2 at the start - the 'intArray[#root.index1++]' should not be evaluated twice!
// intArray[2] is 3
e = parser.parseExpression("intArray[#root.index1++]++");
e.getValue(ctx, Integer.class);
assertEquals(3, helper.index1);
assertEquals(4, helper.intArray[2]);
// index1 is 3 intArray[3] is 4
e = parser.parseExpression("intArray[#root.index1++]--");
assertEquals(4, e.getValue(ctx, Integer.class).intValue());
assertEquals(4, helper.index1);
assertEquals(3, helper.intArray[3]);
// index1 is 4, intArray[3] is 3
e = parser.parseExpression("intArray[--#root.index1]++");
assertEquals(3, e.getValue(ctx, Integer.class).intValue());
assertEquals(3, helper.index1);
assertEquals(4, helper.intArray[3]);
}
use of org.springframework.expression.ExpressionParser in project spring-framework by spring-projects.
the class MapAccessTests method testVariableMapAccess.
@Test
public void testVariableMapAccess() throws Exception {
ExpressionParser parser = new SpelExpressionParser();
StandardEvaluationContext ctx = TestScenarioCreator.getTestEvaluationContext();
ctx.setVariable("day", "saturday");
Expression expr = parser.parseExpression("testMap[#day]");
Object value = expr.getValue(ctx, String.class);
assertEquals("samstag", value);
}
use of org.springframework.expression.ExpressionParser in project spring-framework by spring-projects.
the class MapAccessTests method testGetValueFromRootMap.
@Test
public void testGetValueFromRootMap() {
Map<String, String> map = new HashMap<>();
map.put("key", "value");
ExpressionParser spelExpressionParser = new SpelExpressionParser();
Expression expr = spelExpressionParser.parseExpression("#root['key']");
assertEquals("value", expr.getValue(map));
}
Aggregations