package com.jayway.jsonpath; import com.jayway.jsonpath.internal.filter.eval.ExpressionEvaluator; import org.junit.Test; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; /** * Created by IntelliJ IDEA. * User: kallestenflo * Date: 2/4/11 * Time: 9:32 PM */ public class ExpressionEvalTest { @Test public void long_eval() throws Exception { assertTrue(ExpressionEvaluator.eval(1L, "==", "1")); assertTrue(ExpressionEvaluator.eval(2L, "!=", "1")); assertTrue(ExpressionEvaluator.eval(2L, ">", "1")); assertTrue(ExpressionEvaluator.eval(2L, ">=", "1")); assertTrue(ExpressionEvaluator.eval(2L, ">=", "2")); assertTrue(ExpressionEvaluator.eval(1L, "<", "2")); assertTrue(ExpressionEvaluator.eval(2L, "<=", "2")); assertFalse(ExpressionEvaluator.eval(1, ">", "2")); assertFalse(ExpressionEvaluator.eval(1, ">=", "2")); assertFalse(ExpressionEvaluator.eval(2, "<", "1")); assertFalse(ExpressionEvaluator.eval(2, "<=", "1")); assertFalse(ExpressionEvaluator.eval(1, "==", "2")); assertFalse(ExpressionEvaluator.eval(1, "!=", "1")); } @Test public void double_eval() throws Exception { assertTrue(ExpressionEvaluator.eval(1D, "==", "1")); assertTrue(ExpressionEvaluator.eval(2D, "!=", "1")); assertTrue(ExpressionEvaluator.eval(2D, ">", "1")); assertTrue(ExpressionEvaluator.eval(2D, ">=", "1")); assertTrue(ExpressionEvaluator.eval(2D, ">=", "2")); assertTrue(ExpressionEvaluator.eval(1D, "<", "2")); assertTrue(ExpressionEvaluator.eval(2D, "<=", "2")); assertFalse(ExpressionEvaluator.eval(1D, ">", "2")); assertFalse(ExpressionEvaluator.eval(1D, ">=", "2")); assertFalse(ExpressionEvaluator.eval(2D, "<", "1")); assertFalse(ExpressionEvaluator.eval(2D, "<=", "1")); assertFalse(ExpressionEvaluator.eval(1D, "==", "2")); assertFalse(ExpressionEvaluator.eval(1D, "!=", "1")); } @Test public void string_eval() throws Exception { assertTrue(ExpressionEvaluator.eval("A", "==", "A")); assertTrue(ExpressionEvaluator.eval("B", "!=", "A")); } @Test public void boolean_eval() throws Exception { assertTrue(ExpressionEvaluator.eval(true, "==", "true")); assertTrue(ExpressionEvaluator.eval(false, "==", "false")); assertTrue(ExpressionEvaluator.eval(true, "!=", "false")); assertTrue(ExpressionEvaluator.eval(true, "<>", "false")); assertTrue(ExpressionEvaluator.eval(false, "!=", "true")); assertTrue(ExpressionEvaluator.eval(false, "<>", "true")); assertFalse(ExpressionEvaluator.eval(true, "==", "false")); assertFalse(ExpressionEvaluator.eval(false, "==", "true")); assertFalse(ExpressionEvaluator.eval(true, "!=", "true")); assertFalse(ExpressionEvaluator.eval(true, "<>", "true")); assertFalse(ExpressionEvaluator.eval(false, "!=", "false")); assertFalse(ExpressionEvaluator.eval(false, "<>", "false")); } }