From 327c21a79964521b12aac8d0b14083da9b84f540 Mon Sep 17 00:00:00 2001 From: "Allen.li" Date: Mon, 11 May 2020 14:41:59 +0800 Subject: [PATCH] add test case --- .../java/com/jayway/jsonpath/FilterTest.java | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/json-path/src/test/java/com/jayway/jsonpath/FilterTest.java b/json-path/src/test/java/com/jayway/jsonpath/FilterTest.java index 545f29c6..ccaeedb9 100644 --- a/json-path/src/test/java/com/jayway/jsonpath/FilterTest.java +++ b/json-path/src/test/java/com/jayway/jsonpath/FilterTest.java @@ -3,6 +3,7 @@ package com.jayway.jsonpath; import org.assertj.core.util.Lists; import org.junit.Test; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -31,7 +32,15 @@ public class FilterTest extends BaseTest { " \"string-arr\" : [\"a\",\"b\",\"c\",\"d\",\"e\"] " + "}" ); + Date now = new Date(); + Date positiveDeltatNow = new Date(now.getTime() + 1000 * 60); + Date negativeDeltatNow = new Date(now.getTime() - 1000 * 60); + private Object addDateToObj(Object json) { + Map map = (Map) json; + map.put("date-key", now); + return map; + } //---------------------------------------------------------------------------- // // EQ @@ -43,6 +52,7 @@ public class FilterTest extends BaseTest { assertThat(filter(where("int-key").eq(666)).apply(createPredicateContext(json))).isEqualTo(false); } + @Test public void int_eq_string_evals() { assertThat(filter(where("int-key").eq("1")).apply(createPredicateContext(json))).isEqualTo(true); @@ -97,6 +107,13 @@ public class FilterTest extends BaseTest { assertThat(filter(where("int-arr").eq("[0,1,2,3]")).apply(createPredicateContext(json))).isEqualTo(false); assertThat(filter(where("int-arr").eq("[0,1,2,3,4,5]")).apply(createPredicateContext(json))).isEqualTo(false); } + + @Test + public void date_eq_evals() { + assertThat(filter(where("date-key").eq(now)).apply(createPredicateContext(addDateToObj(json)))).isEqualTo(true); + assertThat(filter(where("date-key").eq(positiveDeltatNow)).apply(createPredicateContext(addDateToObj(json)))).isEqualTo(false); + } + //---------------------------------------------------------------------------- // // NE @@ -140,6 +157,12 @@ public class FilterTest extends BaseTest { assertThat(filter(where("string-key").ne(null)).apply(createPredicateContext(json))).isEqualTo(true); } + @Test + public void date_ne_evals() { + assertThat(filter(where("date-key").ne(now)).apply(createPredicateContext(addDateToObj(json)))).isEqualTo(false); + assertThat(filter(where("date-key").ne(positiveDeltatNow)).apply(createPredicateContext(addDateToObj(json)))).isEqualTo(true); + } + //---------------------------------------------------------------------------- // // LT @@ -169,6 +192,13 @@ public class FilterTest extends BaseTest { assertThat(filter(where("char-key").lt("a")).apply(createPredicateContext(json))).isEqualTo(false); } + @Test + public void date_lt_evals() { + assertThat(filter(where("date-key").lt(positiveDeltatNow)).apply(createPredicateContext(addDateToObj(json)))).isEqualTo(true); + assertThat(filter(where("date-key").lt(now)).apply(createPredicateContext(addDateToObj(json)))).isEqualTo(false); + assertThat(filter(where("date-key").lt(negativeDeltatNow)).apply(createPredicateContext(addDateToObj(json)))).isEqualTo(false); + } + //---------------------------------------------------------------------------- // // LTE @@ -195,6 +225,13 @@ public class FilterTest extends BaseTest { assertThat(filter(where("double-key").lte(1.1D)).apply(createPredicateContext(json))).isEqualTo(false); } + @Test + public void date_lte_evals() { + assertThat(filter(where("date-key").lte(positiveDeltatNow)).apply(createPredicateContext(addDateToObj(json)))).isEqualTo(true); + assertThat(filter(where("date-key").lte(now)).apply(createPredicateContext(addDateToObj(json)))).isEqualTo(true); + assertThat(filter(where("date-key").lte(negativeDeltatNow)).apply(createPredicateContext(addDateToObj(json)))).isEqualTo(false); + } + //---------------------------------------------------------------------------- // // GT @@ -224,6 +261,13 @@ public class FilterTest extends BaseTest { assertThat(filter(where("char-key").gt("a")).apply(createPredicateContext(json))).isEqualTo(true); } + @Test + public void date_gt_evals() { + assertThat(filter(where("date-key").gt(positiveDeltatNow)).apply(createPredicateContext(addDateToObj(json)))).isEqualTo(false); + assertThat(filter(where("date-key").gt(now)).apply(createPredicateContext(addDateToObj(json)))).isEqualTo(false); + assertThat(filter(where("date-key").gt(negativeDeltatNow)).apply(createPredicateContext(addDateToObj(json)))).isEqualTo(true); + } + //---------------------------------------------------------------------------- // // GTE @@ -250,6 +294,13 @@ public class FilterTest extends BaseTest { assertThat(filter(where("double-key").gte(1.1D)).apply(createPredicateContext(json))).isEqualTo(true); } + @Test + public void date_gte_evals() { + assertThat(filter(where("date-key").gte(positiveDeltatNow)).apply(createPredicateContext(addDateToObj(json)))).isEqualTo(false); + assertThat(filter(where("date-key").gte(now)).apply(createPredicateContext(addDateToObj(json)))).isEqualTo(true); + assertThat(filter(where("date-key").gte(negativeDeltatNow)).apply(createPredicateContext(addDateToObj(json)))).isEqualTo(true); + } + //---------------------------------------------------------------------------- // // Regex