blob: acf09d72f284e9a3abe6bc0f4c267dd9c2a4c2aa [file] [log] [blame]
Joachim Bingel43a444a2014-08-07 15:06:02 +00001import static org.junit.Assert.*;
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +00002
3import java.io.IOException;
4import java.util.ArrayList;
5
6import de.ids_mannheim.korap.query.serialize.QuerySerializer;
Michael Hanlf1fead42014-05-14 15:13:33 +00007import de.ids_mannheim.korap.util.QueryException;
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +00008
Michael Hanlf1fead42014-05-14 15:13:33 +00009import org.junit.Test;
10
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +000011import com.fasterxml.jackson.core.JsonProcessingException;
12import com.fasterxml.jackson.databind.JsonNode;
13import com.fasterxml.jackson.databind.ObjectMapper;
14
Michael Hanlf1fead42014-05-14 15:13:33 +000015public class CollectionQueryTreeTest {
16
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +000017 String query = "foo";
18 String ql = "poliqarpplus";
19 String collection;
20 ArrayList<JsonNode> operands;
Michael Hanlf1fead42014-05-14 15:13:33 +000021
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +000022 QuerySerializer qs = new QuerySerializer();
23 ObjectMapper mapper = new ObjectMapper();
24 JsonNode res;
25
Joachim Bingela3f51f72014-07-22 14:45:31 +000026 @Test
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +000027 public void testContext() throws QueryException, JsonProcessingException, IOException {
28 collection = "textClass=politik";
29 String contextString = "http://ids-mannheim.de/ns/KorAP/json-ld/v0.2/context.jsonld";
30 qs.setQuery(query,ql);
31 qs.setCollection(collection);
32 res = mapper.readTree(qs.toJSON());
33 assertEquals(contextString, res.get("@context").asText());
Joachim Bingela499e922014-10-08 13:32:50 +000034 }
35
36 @Test
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +000037 public void testSimple() throws QueryException, JsonProcessingException, IOException {
38 collection = "textClass=politik";
39 qs.setQuery(query,ql);
40 qs.setCollection(collection);
41 res = mapper.readTree(qs.toJSON());
42 assertEquals("korap:doc", res.at("/collection/@type").asText());
43 assertEquals("textClass", res.at("/collection/key").asText());
44 assertEquals("politik", res.at("/collection/value").asText());
45 assertEquals("match:eq", res.at("/collection/match").asText());
Joachim Bingel82e4ca72014-10-27 11:03:38 +000046
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +000047 collection = "textClass!=politik";
48 qs.setQuery(query,ql);
49 qs.setCollection(collection);
50 res = mapper.readTree(qs.toJSON());
51 assertEquals("korap:doc", res.at("/collection/@type").asText());
52 assertEquals("textClass", res.at("/collection/key").asText());
53 assertEquals("politik", res.at("/collection/value").asText());
54 assertEquals("match:ne", res.at("/collection/match").asText());
Joachim Bingela3f51f72014-07-22 14:45:31 +000055 }
56
57 @Test
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +000058 public void testContains() throws QueryException, JsonProcessingException, IOException {
59 collection = "title~Mannheim";
60 qs.setQuery(query,ql);
61 qs.setCollection(collection);
62 res = mapper.readTree(qs.toJSON());
63 assertEquals("korap:doc", res.at("/collection/@type").asText());
64 assertEquals("title", res.at("/collection/key").asText());
65 assertEquals("Mannheim", res.at("/collection/value").asText());
66 assertEquals("match:contains", res.at("/collection/match").asText());
67
68 collection = "title~\"IDS Mannheim\"";
69 qs.setQuery(query,ql);
70 qs.setCollection(collection);
71 res = mapper.readTree(qs.toJSON());
72 assertEquals("korap:doc", res.at("/collection/@type").asText());
73 assertEquals("title", res.at("/collection/key").asText());
74 assertEquals("IDS Mannheim", res.at("/collection/value").asText());
75 assertEquals("match:contains", res.at("/collection/match").asText());
Joachim Bingela3f51f72014-07-22 14:45:31 +000076 }
77
78 @Test
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +000079 public void testTwoConjuncts() throws QueryException, JsonProcessingException, IOException {
80 collection = "textClass=Sport & pubDate in 2014";
81 qs.setQuery(query,ql);
82 qs.setCollection(collection);
83 res = mapper.readTree(qs.toJSON());
84 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
85 assertEquals("operation:and", res.at("/collection/operation").asText());
86 assertEquals("korap:doc", res.at("/collection/operands/0/@type").asText());
87 assertEquals("textClass", res.at("/collection/operands/0/key").asText());
88 assertEquals("Sport", res.at("/collection/operands/0/value").asText());
89 assertEquals("match:eq", res.at("/collection/operands/0/match").asText());
90 assertEquals("korap:doc", res.at("/collection/operands/1/@type").asText());
91 assertEquals("pubDate", res.at("/collection/operands/1/key").asText());
92 assertEquals("2014", res.at("/collection/operands/1/value").asText());
93 assertEquals("type:date", res.at("/collection/operands/1/type").asText());
94 assertEquals("match:eq", res.at("/collection/operands/1/match").asText());
Joachim Bingela3f51f72014-07-22 14:45:31 +000095
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +000096 collection = "textClass=Sport & pubDate=2014";
97 qs.setQuery(query,ql);
98 qs.setCollection(collection);
99 res = mapper.readTree(qs.toJSON());
100 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
101 assertEquals("operation:and", res.at("/collection/operation").asText());
102 assertEquals("korap:doc", res.at("/collection/operands/0/@type").asText());
103 assertEquals("textClass", res.at("/collection/operands/0/key").asText());
104 assertEquals("Sport", res.at("/collection/operands/0/value").asText());
105 assertEquals("match:eq", res.at("/collection/operands/0/match").asText());
106 assertEquals("korap:doc", res.at("/collection/operands/1/@type").asText());
107 assertEquals("pubDate", res.at("/collection/operands/1/key").asText());
108 assertEquals("2014", res.at("/collection/operands/1/value").asText());
109 assertEquals(true, res.at("/collection/operands/1/type").isMissingNode());
110 assertEquals("match:eq", res.at("/collection/operands/1/match").asText());
Joachim Bingela3f51f72014-07-22 14:45:31 +0000111 }
Michael Hanlf1fead42014-05-14 15:13:33 +0000112
Joachim Bingela3f51f72014-07-22 14:45:31 +0000113 @Test
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +0000114 public void testThreeConjuncts() throws QueryException, JsonProcessingException, IOException {
115 collection = "textClass=Sport & pubDate in 2014 & corpusId=WPD";
116 qs.setQuery(query,ql);
117 qs.setCollection(collection);
118 res = mapper.readTree(qs.toJSON());
119 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
120 assertEquals("operation:and", res.at("/collection/operation").asText());
121 assertEquals("korap:doc", res.at("/collection/operands/0/@type").asText());
122 assertEquals("textClass", res.at("/collection/operands/0/key").asText());
123 assertEquals("Sport", res.at("/collection/operands/0/value").asText());
124 assertEquals("match:eq", res.at("/collection/operands/0/match").asText());
125 assertEquals("korap:docGroup", res.at("/collection/operands/1/@type").asText());
126 assertEquals("operation:and", res.at("/collection/operands/1/operation").asText());
127 assertEquals("korap:doc", res.at("/collection/operands/1/operands/0/@type").asText());
128 assertEquals("pubDate", res.at("/collection/operands/1/operands/0/key").asText());
129 assertEquals("2014", res.at("/collection/operands/1/operands/0/value").asText());
130 assertEquals("type:date", res.at("/collection/operands/1/operands/0/type").asText());
131 assertEquals("match:eq", res.at("/collection/operands/1/operands/0/match").asText());
132 assertEquals("korap:doc", res.at("/collection/operands/1/operands/1/@type").asText());
133 assertEquals("corpusId", res.at("/collection/operands/1/operands/1/key").asText());
134 assertEquals("WPD", res.at("/collection/operands/1/operands/1/value").asText());
135 assertEquals("match:eq", res.at("/collection/operands/1/operands/1/match").asText());
Joachim Bingela3f51f72014-07-22 14:45:31 +0000136 }
Joachim Bingela3f51f72014-07-22 14:45:31 +0000137 @Test
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +0000138 public void testTwoDisjuncts() throws QueryException, JsonProcessingException, IOException {
139 collection = "textClass=Sport | pubDate in 2014";
140 qs.setQuery(query,ql);
141 qs.setCollection(collection);
142 res = mapper.readTree(qs.toJSON());
143 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
144 assertEquals("operation:or", res.at("/collection/operation").asText());
145 assertEquals("korap:doc", res.at("/collection/operands/0/@type").asText());
146 assertEquals("textClass", res.at("/collection/operands/0/key").asText());
147 assertEquals("Sport", res.at("/collection/operands/0/value").asText());
148 assertEquals("match:eq", res.at("/collection/operands/0/match").asText());
149 assertEquals("korap:doc", res.at("/collection/operands/1/@type").asText());
150 assertEquals("pubDate", res.at("/collection/operands/1/key").asText());
151 assertEquals("2014", res.at("/collection/operands/1/value").asText());
152 assertEquals("type:date", res.at("/collection/operands/1/type").asText());
153 assertEquals("match:eq", res.at("/collection/operands/1/match").asText());
Joachim Bingel43a444a2014-08-07 15:06:02 +0000154 }
155
156 @Test
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +0000157 public void testThreeDisjuncts() throws QueryException, JsonProcessingException, IOException {
158 collection = "textClass=Sport | pubDate in 2014 | corpusId=WPD";
159 qs.setQuery(query,ql);
160 qs.setCollection(collection);
161 res = mapper.readTree(qs.toJSON());
162 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
163 assertEquals("operation:or", res.at("/collection/operation").asText());
164 assertEquals("korap:doc", res.at("/collection/operands/0/@type").asText());
165 assertEquals("textClass", res.at("/collection/operands/0/key").asText());
166 assertEquals("Sport", res.at("/collection/operands/0/value").asText());
167 assertEquals("match:eq", res.at("/collection/operands/0/match").asText());
168 assertEquals("korap:docGroup", res.at("/collection/operands/1/@type").asText());
169 assertEquals("operation:or", res.at("/collection/operands/1/operation").asText());
170 assertEquals("korap:doc", res.at("/collection/operands/1/operands/0/@type").asText());
171 assertEquals("pubDate", res.at("/collection/operands/1/operands/0/key").asText());
172 assertEquals("2014", res.at("/collection/operands/1/operands/0/value").asText());
173 assertEquals("type:date", res.at("/collection/operands/1/operands/0/type").asText());
174 assertEquals("match:eq", res.at("/collection/operands/1/operands/0/match").asText());
175 assertEquals("korap:doc", res.at("/collection/operands/1/operands/1/@type").asText());
176 assertEquals("corpusId", res.at("/collection/operands/1/operands/1/key").asText());
177 assertEquals("WPD", res.at("/collection/operands/1/operands/1/value").asText());
178 assertEquals("match:eq", res.at("/collection/operands/1/operands/1/match").asText());
Joachim Bingel43a444a2014-08-07 15:06:02 +0000179 }
180
181 @Test
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +0000182 public void testMixed() throws QueryException, JsonProcessingException, IOException {
183 collection = "textClass=Sport | (pubDate in 2014 & corpusId=WPD)";
184 qs.setQuery(query,ql);
185 qs.setCollection(collection);
186 res = mapper.readTree(qs.toJSON());
187 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
188 assertEquals("operation:or", res.at("/collection/operation").asText());
189 assertEquals("korap:doc", res.at("/collection/operands/0/@type").asText());
190 assertEquals("textClass", res.at("/collection/operands/0/key").asText());
191 assertEquals("Sport", res.at("/collection/operands/0/value").asText());
192 assertEquals("match:eq", res.at("/collection/operands/0/match").asText());
193 assertEquals("korap:docGroup", res.at("/collection/operands/1/@type").asText());
194 assertEquals("operation:and", res.at("/collection/operands/1/operation").asText());
195 assertEquals("korap:doc", res.at("/collection/operands/1/operands/0/@type").asText());
196 assertEquals("pubDate", res.at("/collection/operands/1/operands/0/key").asText());
197 assertEquals("2014", res.at("/collection/operands/1/operands/0/value").asText());
198 assertEquals("type:date", res.at("/collection/operands/1/operands/0/type").asText());
199 assertEquals("match:eq", res.at("/collection/operands/1/operands/0/match").asText());
200 assertEquals("korap:doc", res.at("/collection/operands/1/operands/1/@type").asText());
201 assertEquals("corpusId", res.at("/collection/operands/1/operands/1/key").asText());
202 assertEquals("WPD", res.at("/collection/operands/1/operands/1/value").asText());
203 assertEquals("match:eq", res.at("/collection/operands/1/operands/1/match").asText());
Joachim Bingel43a444a2014-08-07 15:06:02 +0000204
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +0000205 collection = "textClass=Sport | pubDate in 2014 & corpusId=WPD";
206 qs.setQuery(query,ql);
207 qs.setCollection(collection);
208 res = mapper.readTree(qs.toJSON());
209 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
210 assertEquals("operation:or", res.at("/collection/operation").asText());
211 assertEquals("korap:doc", res.at("/collection/operands/0/@type").asText());
212 assertEquals("textClass", res.at("/collection/operands/0/key").asText());
213 assertEquals("Sport", res.at("/collection/operands/0/value").asText());
214 assertEquals("match:eq", res.at("/collection/operands/0/match").asText());
215 assertEquals("korap:docGroup", res.at("/collection/operands/1/@type").asText());
216 assertEquals("operation:and", res.at("/collection/operands/1/operation").asText());
217 assertEquals("korap:doc", res.at("/collection/operands/1/operands/0/@type").asText());
218 assertEquals("pubDate", res.at("/collection/operands/1/operands/0/key").asText());
219 assertEquals("2014", res.at("/collection/operands/1/operands/0/value").asText());
220 assertEquals("type:date", res.at("/collection/operands/1/operands/0/type").asText());
221 assertEquals("match:eq", res.at("/collection/operands/1/operands/0/match").asText());
222 assertEquals("korap:doc", res.at("/collection/operands/1/operands/1/@type").asText());
223 assertEquals("corpusId", res.at("/collection/operands/1/operands/1/key").asText());
224 assertEquals("WPD", res.at("/collection/operands/1/operands/1/value").asText());
225 assertEquals("match:eq", res.at("/collection/operands/1/operands/1/match").asText());
226
227 collection = "(textClass=Sport | pubDate in 2014) & corpusId=WPD";
228 qs.setQuery(query,ql);
229 qs.setCollection(collection);
230 res = mapper.readTree(qs.toJSON());
231 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
232 assertEquals("operation:and", res.at("/collection/operation").asText());
233 assertEquals("korap:docGroup", res.at("/collection/operands/0/@type").asText());
234 assertEquals("operation:or", res.at("/collection/operands/0/operation").asText());
235 assertEquals("korap:doc", res.at("/collection/operands/0/operands/0/@type").asText());
236 assertEquals("korap:doc", res.at("/collection/operands/0/operands/1/@type").asText());
237 assertEquals("korap:doc", res.at("/collection/operands/1/@type").asText());
238
239 collection = "(textClass=Sport & pubDate in 2014) & corpusId=WPD";
240 qs.setQuery(query,ql);
241 qs.setCollection(collection);
242 res = mapper.readTree(qs.toJSON());
243 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
244 assertEquals("operation:and", res.at("/collection/operation").asText());
245 assertEquals("korap:docGroup", res.at("/collection/operands/0/@type").asText());
246 assertEquals("operation:and", res.at("/collection/operands/0/operation").asText());
247 assertEquals("korap:doc", res.at("/collection/operands/0/operands/0/@type").asText());
248 assertEquals("korap:doc", res.at("/collection/operands/0/operands/1/@type").asText());
249 assertEquals("korap:doc", res.at("/collection/operands/1/@type").asText());
250
251 collection = "(textClass=Sport & textClass=ausland) | (corpusID=WPD & author=White)";
252 qs.setQuery(query,ql);
253 qs.setCollection(collection);
254 res = mapper.readTree(qs.toJSON());
255 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
256 assertEquals("operation:or", res.at("/collection/operation").asText());
257 assertEquals("korap:docGroup", res.at("/collection/operands/0/@type").asText());
258 assertEquals("operation:and", res.at("/collection/operands/0/operation").asText());
259 assertEquals("korap:docGroup", res.at("/collection/operands/1/@type").asText());
260 assertEquals("operation:and", res.at("/collection/operands/1/operation").asText());
261 assertEquals("korap:doc", res.at("/collection/operands/0/operands/0/@type").asText());
262 assertEquals("Sport", res.at("/collection/operands/0/operands/0/value").asText());
263 assertEquals("korap:doc", res.at("/collection/operands/0/operands/1/@type").asText());
264 assertEquals("ausland", res.at("/collection/operands/0/operands/1/value").asText());
265 assertEquals("korap:doc", res.at("/collection/operands/1/operands/0/@type").asText());
266 assertEquals("WPD", res.at("/collection/operands/1/operands/0/value").asText());
267 assertEquals("korap:doc", res.at("/collection/operands/1/operands/1/@type").asText());
268 assertEquals("White", res.at("/collection/operands/1/operands/1/value").asText());
269
270 collection = "(textClass=Sport & textClass=ausland) | (corpusID=WPD & author=White & pubDate in 2000)";
271 qs.setQuery(query,ql);
272 qs.setCollection(collection);
273 res = mapper.readTree(qs.toJSON());
274 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
275 assertEquals("operation:or", res.at("/collection/operation").asText());
276 assertEquals("korap:docGroup", res.at("/collection/operands/0/@type").asText());
277 assertEquals("operation:and", res.at("/collection/operands/0/operation").asText());
278 assertEquals("korap:docGroup", res.at("/collection/operands/1/@type").asText());
279 assertEquals("operation:and", res.at("/collection/operands/1/operation").asText());
280 assertEquals("korap:doc", res.at("/collection/operands/0/operands/0/@type").asText());
281 assertEquals("Sport", res.at("/collection/operands/0/operands/0/value").asText());
282 assertEquals("korap:doc", res.at("/collection/operands/0/operands/1/@type").asText());
283 assertEquals("ausland", res.at("/collection/operands/0/operands/1/value").asText());
284 assertEquals("korap:doc", res.at("/collection/operands/1/operands/0/@type").asText());
285 assertEquals("WPD", res.at("/collection/operands/1/operands/0/value").asText());
286 assertEquals("korap:docGroup", res.at("/collection/operands/1/operands/1/@type").asText());
287 assertEquals("operation:and", res.at("/collection/operands/1/operands/1/operation").asText());
288 assertEquals("White", res.at("/collection/operands/1/operands/1/operands/0/value").asText());
289 assertEquals("2000", res.at("/collection/operands/1/operands/1/operands/1/value").asText());
Joachim Bingela3f51f72014-07-22 14:45:31 +0000290 }
Michael Hanlf1fead42014-05-14 15:13:33 +0000291
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +0000292 @Test
293 public void testDateYear() throws QueryException, JsonProcessingException, IOException {
294 collection = "pubDate in 2000";
295 qs.setQuery(query,ql);
296 qs.setCollection(collection);
297 res = mapper.readTree(qs.toJSON());
298 assertEquals("korap:doc", res.at("/collection/@type").asText());
299 assertEquals("pubDate", res.at("/collection/key").asText());
300 assertEquals("2000", res.at("/collection/value").asText());
301 assertEquals("type:date", res.at("/collection/type").asText());
302 assertEquals("match:eq", res.at("/collection/match").asText());
303
304 collection = "pubDate = 2000";
305 qs.setQuery(query,ql);
306 qs.setCollection(collection);
307 res = mapper.readTree(qs.toJSON());
308 assertEquals("korap:doc", res.at("/collection/@type").asText());
309 assertEquals("pubDate", res.at("/collection/key").asText());
310 assertEquals("2000", res.at("/collection/value").asText());
311 assertEquals(true, res.at("/collection/type").isMissingNode());
312 assertEquals("match:eq", res.at("/collection/match").asText());
313
314 collection = "pubDate since 2000";
315 qs.setQuery(query,ql);
316 qs.setCollection(collection);
317 res = mapper.readTree(qs.toJSON());
318 assertEquals("korap:doc", res.at("/collection/@type").asText());
319 assertEquals("pubDate", res.at("/collection/key").asText());
320 assertEquals("2000", res.at("/collection/value").asText());
321 assertEquals("type:date", res.at("/collection/type").asText());
322 assertEquals("match:geq", res.at("/collection/match").asText());
323
324 collection = "pubDate until 2000";
325 qs.setQuery(query,ql);
326 qs.setCollection(collection);
327 res = mapper.readTree(qs.toJSON());
328 assertEquals("korap:doc", res.at("/collection/@type").asText());
329 assertEquals("pubDate", res.at("/collection/key").asText());
330 assertEquals("2000", res.at("/collection/value").asText());
331 assertEquals("type:date", res.at("/collection/type").asText());
332 assertEquals("match:leq", res.at("/collection/match").asText());
333 }
334
335 @Test
336 public void testDateMonthDay() throws QueryException, JsonProcessingException, IOException {
337 collection = "pubDate in 2000-02";
338 qs.setQuery(query,ql);
339 qs.setCollection(collection);
340 res = mapper.readTree(qs.toJSON());
341 assertEquals("korap:doc", res.at("/collection/@type").asText());
342 assertEquals("pubDate", res.at("/collection/key").asText());
343 assertEquals("2000-02", res.at("/collection/value").asText());
344 assertEquals("type:date", res.at("/collection/type").asText());
345 assertEquals("match:eq", res.at("/collection/match").asText());
346
347 collection = "pubDate = 2000-12";
348 qs.setQuery(query,ql);
349 qs.setCollection(collection);
350 res = mapper.readTree(qs.toJSON());
351 assertEquals("korap:doc", res.at("/collection/@type").asText());
352 assertEquals("pubDate", res.at("/collection/key").asText());
353 assertEquals("2000-12", res.at("/collection/value").asText());
354 assertEquals(true, res.at("/collection/type").isMissingNode());
355 assertEquals("match:eq", res.at("/collection/match").asText());
356
357 collection = "pubDate since 2000-02-01";
358 qs.setQuery(query,ql);
359 qs.setCollection(collection);
360 res = mapper.readTree(qs.toJSON());
361 assertEquals("korap:doc", res.at("/collection/@type").asText());
362 assertEquals("pubDate", res.at("/collection/key").asText());
363 assertEquals("2000-02-01", res.at("/collection/value").asText());
364 assertEquals("type:date", res.at("/collection/type").asText());
365 assertEquals("match:geq", res.at("/collection/match").asText());
366
367 collection = "pubDate until 2000-01-01";
368 qs.setQuery(query,ql);
369 qs.setCollection(collection);
370 res = mapper.readTree(qs.toJSON());
371 assertEquals("korap:doc", res.at("/collection/@type").asText());
372 assertEquals("pubDate", res.at("/collection/key").asText());
373 assertEquals("2000-01-01", res.at("/collection/value").asText());
374 assertEquals("type:date", res.at("/collection/type").asText());
375 assertEquals("match:leq", res.at("/collection/match").asText());
376 }
Michael Hanlf1fead42014-05-14 15:13:33 +0000377}
378