@ -323,10 +325,23 @@ public class EvaluationTests extends ExpressionTestCase {
@@ -323,10 +325,23 @@ public class EvaluationTests extends ExpressionTestCase {
// evaluate("{2}.#isEven(#this[0]) == 'y'?'it is even':'it is odd'", "it is even", String.class);
// }
publicvoidtestTernaryOperator01(){
evaluate("2>4?1:2",2,Integer.class);
}
publicvoidtestTernaryOperator02(){
evaluate("'abc'=='abc'?1:2",1,Integer.class);
}
publicvoidtestTernaryOperator03(){
evaluateAndCheckError("'hello'?1:2",SpelMessages.TYPE_CONVERSION_ERROR);// cannot convert String to boolean
@ -36,12 +36,27 @@ public class OperatorTests extends ExpressionTestCase {
@@ -36,12 +36,27 @@ public class OperatorTests extends ExpressionTestCase {
publicvoidtestLessThan(){
evaluate("3 < 5",true,Boolean.class);
evaluate("5 < 3",false,Boolean.class);
evaluate("3L < 5L",true,Boolean.class);
evaluate("5L < 3L",false,Boolean.class);
evaluate("3.0d < 5.0d",true,Boolean.class);
evaluate("5.0d < 3.0d",false,Boolean.class);
evaluate("'abc' < 'def'",true,Boolean.class);
evaluate("'def' < 'abc'",false,Boolean.class);
}
publicvoidtestLessThanOrEqual(){
evaluate("3 <= 5",true,Boolean.class);
evaluate("5 <= 3",false,Boolean.class);
evaluate("6 <= 6",true,Boolean.class);
evaluate("3L <= 5L",true,Boolean.class);
evaluate("5L <= 3L",false,Boolean.class);
evaluate("5L <= 5L",true,Boolean.class);
evaluate("3.0d < 5.0d",true,Boolean.class);
evaluate("5.0d < 3.0d",false,Boolean.class);
evaluate("5.0d <= 5.0d",true,Boolean.class);
evaluate("'abc' <= 'def'",true,Boolean.class);
evaluate("'def' <= 'abc'",false,Boolean.class);
evaluate("'abc' <= 'abc'",true,Boolean.class);
}
publicvoidtestEqual(){
@ -64,7 +79,13 @@ public class OperatorTests extends ExpressionTestCase {
@@ -64,7 +79,13 @@ public class OperatorTests extends ExpressionTestCase {
publicvoidtestGreaterThan(){
evaluate("3 > 5",false,Boolean.class);
evaluate("5 > 3",true,Boolean.class);
evaluate("5 > 3",true,Boolean.class);
evaluate("3L > 5L",false,Boolean.class);
evaluate("5L > 3L",true,Boolean.class);
evaluate("3.0d > 5.0d",false,Boolean.class);
evaluate("5.0d > 3.0d",true,Boolean.class);
evaluate("'abc' > 'def'",false,Boolean.class);
evaluate("'def' > 'abc'",true,Boolean.class);
}
publicvoidtestMultiplyStringInt(){
@ -136,6 +157,18 @@ public class OperatorTests extends ExpressionTestCase {
@@ -136,6 +157,18 @@ public class OperatorTests extends ExpressionTestCase {