blob: a2be38b3849ce985edc7528b2fd878c291de9d3a [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;
Joachim Bingel6003b852014-12-18 14:20:55 +00007import de.ids_mannheim.korap.query.serialize.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 Bingel6003b852014-12-18 14:20:55 +0000111 assertTrue(res.at("/warnings/0/0").asText().startsWith("The collection query contains a value that looks like a date"));
Joachim Bingela3f51f72014-07-22 14:45:31 +0000112 }
Michael Hanlf1fead42014-05-14 15:13:33 +0000113
Joachim Bingela3f51f72014-07-22 14:45:31 +0000114 @Test
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +0000115 public void testThreeConjuncts() throws QueryException, JsonProcessingException, IOException {
116 collection = "textClass=Sport & pubDate in 2014 & corpusId=WPD";
117 qs.setQuery(query,ql);
118 qs.setCollection(collection);
119 res = mapper.readTree(qs.toJSON());
120 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
121 assertEquals("operation:and", res.at("/collection/operation").asText());
122 assertEquals("korap:doc", res.at("/collection/operands/0/@type").asText());
123 assertEquals("textClass", res.at("/collection/operands/0/key").asText());
124 assertEquals("Sport", res.at("/collection/operands/0/value").asText());
125 assertEquals("match:eq", res.at("/collection/operands/0/match").asText());
126 assertEquals("korap:docGroup", res.at("/collection/operands/1/@type").asText());
127 assertEquals("operation:and", res.at("/collection/operands/1/operation").asText());
128 assertEquals("korap:doc", res.at("/collection/operands/1/operands/0/@type").asText());
129 assertEquals("pubDate", res.at("/collection/operands/1/operands/0/key").asText());
130 assertEquals("2014", res.at("/collection/operands/1/operands/0/value").asText());
131 assertEquals("type:date", res.at("/collection/operands/1/operands/0/type").asText());
132 assertEquals("match:eq", res.at("/collection/operands/1/operands/0/match").asText());
133 assertEquals("korap:doc", res.at("/collection/operands/1/operands/1/@type").asText());
134 assertEquals("corpusId", res.at("/collection/operands/1/operands/1/key").asText());
135 assertEquals("WPD", res.at("/collection/operands/1/operands/1/value").asText());
136 assertEquals("match:eq", res.at("/collection/operands/1/operands/1/match").asText());
Joachim Bingela3f51f72014-07-22 14:45:31 +0000137 }
Joachim Bingela3f51f72014-07-22 14:45:31 +0000138 @Test
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +0000139 public void testTwoDisjuncts() throws QueryException, JsonProcessingException, IOException {
140 collection = "textClass=Sport | pubDate in 2014";
141 qs.setQuery(query,ql);
142 qs.setCollection(collection);
143 res = mapper.readTree(qs.toJSON());
144 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
145 assertEquals("operation:or", res.at("/collection/operation").asText());
146 assertEquals("korap:doc", res.at("/collection/operands/0/@type").asText());
147 assertEquals("textClass", res.at("/collection/operands/0/key").asText());
148 assertEquals("Sport", res.at("/collection/operands/0/value").asText());
149 assertEquals("match:eq", res.at("/collection/operands/0/match").asText());
150 assertEquals("korap:doc", res.at("/collection/operands/1/@type").asText());
151 assertEquals("pubDate", res.at("/collection/operands/1/key").asText());
152 assertEquals("2014", res.at("/collection/operands/1/value").asText());
153 assertEquals("type:date", res.at("/collection/operands/1/type").asText());
154 assertEquals("match:eq", res.at("/collection/operands/1/match").asText());
Joachim Bingel43a444a2014-08-07 15:06:02 +0000155 }
156
157 @Test
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +0000158 public void testThreeDisjuncts() throws QueryException, JsonProcessingException, IOException {
159 collection = "textClass=Sport | pubDate in 2014 | corpusId=WPD";
160 qs.setQuery(query,ql);
161 qs.setCollection(collection);
162 res = mapper.readTree(qs.toJSON());
163 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
164 assertEquals("operation:or", res.at("/collection/operation").asText());
165 assertEquals("korap:doc", res.at("/collection/operands/0/@type").asText());
166 assertEquals("textClass", res.at("/collection/operands/0/key").asText());
167 assertEquals("Sport", res.at("/collection/operands/0/value").asText());
168 assertEquals("match:eq", res.at("/collection/operands/0/match").asText());
169 assertEquals("korap:docGroup", res.at("/collection/operands/1/@type").asText());
170 assertEquals("operation:or", res.at("/collection/operands/1/operation").asText());
171 assertEquals("korap:doc", res.at("/collection/operands/1/operands/0/@type").asText());
172 assertEquals("pubDate", res.at("/collection/operands/1/operands/0/key").asText());
173 assertEquals("2014", res.at("/collection/operands/1/operands/0/value").asText());
174 assertEquals("type:date", res.at("/collection/operands/1/operands/0/type").asText());
175 assertEquals("match:eq", res.at("/collection/operands/1/operands/0/match").asText());
176 assertEquals("korap:doc", res.at("/collection/operands/1/operands/1/@type").asText());
177 assertEquals("corpusId", res.at("/collection/operands/1/operands/1/key").asText());
178 assertEquals("WPD", res.at("/collection/operands/1/operands/1/value").asText());
179 assertEquals("match:eq", res.at("/collection/operands/1/operands/1/match").asText());
Joachim Bingel43a444a2014-08-07 15:06:02 +0000180 }
181
182 @Test
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +0000183 public void testMixed() throws QueryException, JsonProcessingException, IOException {
184 collection = "textClass=Sport | (pubDate in 2014 & corpusId=WPD)";
185 qs.setQuery(query,ql);
186 qs.setCollection(collection);
187 res = mapper.readTree(qs.toJSON());
188 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
189 assertEquals("operation:or", res.at("/collection/operation").asText());
190 assertEquals("korap:doc", res.at("/collection/operands/0/@type").asText());
191 assertEquals("textClass", res.at("/collection/operands/0/key").asText());
192 assertEquals("Sport", res.at("/collection/operands/0/value").asText());
193 assertEquals("match:eq", res.at("/collection/operands/0/match").asText());
194 assertEquals("korap:docGroup", res.at("/collection/operands/1/@type").asText());
195 assertEquals("operation:and", res.at("/collection/operands/1/operation").asText());
196 assertEquals("korap:doc", res.at("/collection/operands/1/operands/0/@type").asText());
197 assertEquals("pubDate", res.at("/collection/operands/1/operands/0/key").asText());
198 assertEquals("2014", res.at("/collection/operands/1/operands/0/value").asText());
199 assertEquals("type:date", res.at("/collection/operands/1/operands/0/type").asText());
200 assertEquals("match:eq", res.at("/collection/operands/1/operands/0/match").asText());
201 assertEquals("korap:doc", res.at("/collection/operands/1/operands/1/@type").asText());
202 assertEquals("corpusId", res.at("/collection/operands/1/operands/1/key").asText());
203 assertEquals("WPD", res.at("/collection/operands/1/operands/1/value").asText());
204 assertEquals("match:eq", res.at("/collection/operands/1/operands/1/match").asText());
Joachim Bingel43a444a2014-08-07 15:06:02 +0000205
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +0000206 collection = "textClass=Sport | pubDate in 2014 & corpusId=WPD";
207 qs.setQuery(query,ql);
208 qs.setCollection(collection);
209 res = mapper.readTree(qs.toJSON());
210 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
211 assertEquals("operation:or", res.at("/collection/operation").asText());
212 assertEquals("korap:doc", res.at("/collection/operands/0/@type").asText());
213 assertEquals("textClass", res.at("/collection/operands/0/key").asText());
214 assertEquals("Sport", res.at("/collection/operands/0/value").asText());
215 assertEquals("match:eq", res.at("/collection/operands/0/match").asText());
216 assertEquals("korap:docGroup", res.at("/collection/operands/1/@type").asText());
217 assertEquals("operation:and", res.at("/collection/operands/1/operation").asText());
218 assertEquals("korap:doc", res.at("/collection/operands/1/operands/0/@type").asText());
219 assertEquals("pubDate", res.at("/collection/operands/1/operands/0/key").asText());
220 assertEquals("2014", res.at("/collection/operands/1/operands/0/value").asText());
221 assertEquals("type:date", res.at("/collection/operands/1/operands/0/type").asText());
222 assertEquals("match:eq", res.at("/collection/operands/1/operands/0/match").asText());
223 assertEquals("korap:doc", res.at("/collection/operands/1/operands/1/@type").asText());
224 assertEquals("corpusId", res.at("/collection/operands/1/operands/1/key").asText());
225 assertEquals("WPD", res.at("/collection/operands/1/operands/1/value").asText());
226 assertEquals("match:eq", res.at("/collection/operands/1/operands/1/match").asText());
227
228 collection = "(textClass=Sport | pubDate in 2014) & corpusId=WPD";
229 qs.setQuery(query,ql);
230 qs.setCollection(collection);
231 res = mapper.readTree(qs.toJSON());
232 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
233 assertEquals("operation:and", res.at("/collection/operation").asText());
234 assertEquals("korap:docGroup", res.at("/collection/operands/0/@type").asText());
235 assertEquals("operation:or", res.at("/collection/operands/0/operation").asText());
236 assertEquals("korap:doc", res.at("/collection/operands/0/operands/0/@type").asText());
237 assertEquals("korap:doc", res.at("/collection/operands/0/operands/1/@type").asText());
238 assertEquals("korap:doc", res.at("/collection/operands/1/@type").asText());
239
240 collection = "(textClass=Sport & pubDate in 2014) & corpusId=WPD";
241 qs.setQuery(query,ql);
242 qs.setCollection(collection);
243 res = mapper.readTree(qs.toJSON());
244 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
245 assertEquals("operation:and", res.at("/collection/operation").asText());
246 assertEquals("korap:docGroup", res.at("/collection/operands/0/@type").asText());
247 assertEquals("operation:and", res.at("/collection/operands/0/operation").asText());
248 assertEquals("korap:doc", res.at("/collection/operands/0/operands/0/@type").asText());
249 assertEquals("korap:doc", res.at("/collection/operands/0/operands/1/@type").asText());
250 assertEquals("korap:doc", res.at("/collection/operands/1/@type").asText());
251
252 collection = "(textClass=Sport & textClass=ausland) | (corpusID=WPD & author=White)";
253 qs.setQuery(query,ql);
254 qs.setCollection(collection);
255 res = mapper.readTree(qs.toJSON());
256 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
257 assertEquals("operation:or", res.at("/collection/operation").asText());
258 assertEquals("korap:docGroup", res.at("/collection/operands/0/@type").asText());
259 assertEquals("operation:and", res.at("/collection/operands/0/operation").asText());
260 assertEquals("korap:docGroup", res.at("/collection/operands/1/@type").asText());
261 assertEquals("operation:and", res.at("/collection/operands/1/operation").asText());
262 assertEquals("korap:doc", res.at("/collection/operands/0/operands/0/@type").asText());
263 assertEquals("Sport", res.at("/collection/operands/0/operands/0/value").asText());
264 assertEquals("korap:doc", res.at("/collection/operands/0/operands/1/@type").asText());
265 assertEquals("ausland", res.at("/collection/operands/0/operands/1/value").asText());
266 assertEquals("korap:doc", res.at("/collection/operands/1/operands/0/@type").asText());
267 assertEquals("WPD", res.at("/collection/operands/1/operands/0/value").asText());
268 assertEquals("korap:doc", res.at("/collection/operands/1/operands/1/@type").asText());
269 assertEquals("White", res.at("/collection/operands/1/operands/1/value").asText());
270
271 collection = "(textClass=Sport & textClass=ausland) | (corpusID=WPD & author=White & pubDate in 2000)";
272 qs.setQuery(query,ql);
273 qs.setCollection(collection);
274 res = mapper.readTree(qs.toJSON());
275 assertEquals("korap:docGroup", res.at("/collection/@type").asText());
276 assertEquals("operation:or", res.at("/collection/operation").asText());
277 assertEquals("korap:docGroup", res.at("/collection/operands/0/@type").asText());
278 assertEquals("operation:and", res.at("/collection/operands/0/operation").asText());
279 assertEquals("korap:docGroup", res.at("/collection/operands/1/@type").asText());
280 assertEquals("operation:and", res.at("/collection/operands/1/operation").asText());
281 assertEquals("korap:doc", res.at("/collection/operands/0/operands/0/@type").asText());
282 assertEquals("Sport", res.at("/collection/operands/0/operands/0/value").asText());
283 assertEquals("korap:doc", res.at("/collection/operands/0/operands/1/@type").asText());
284 assertEquals("ausland", res.at("/collection/operands/0/operands/1/value").asText());
285 assertEquals("korap:doc", res.at("/collection/operands/1/operands/0/@type").asText());
286 assertEquals("WPD", res.at("/collection/operands/1/operands/0/value").asText());
287 assertEquals("korap:docGroup", res.at("/collection/operands/1/operands/1/@type").asText());
288 assertEquals("operation:and", res.at("/collection/operands/1/operands/1/operation").asText());
289 assertEquals("White", res.at("/collection/operands/1/operands/1/operands/0/value").asText());
290 assertEquals("2000", res.at("/collection/operands/1/operands/1/operands/1/value").asText());
Joachim Bingela3f51f72014-07-22 14:45:31 +0000291 }
Michael Hanlf1fead42014-05-14 15:13:33 +0000292
Joachim Bingel1f4c5ad2014-12-16 10:40:42 +0000293 @Test
294 public void testDateYear() throws QueryException, JsonProcessingException, IOException {
295 collection = "pubDate in 2000";
296 qs.setQuery(query,ql);
297 qs.setCollection(collection);
298 res = mapper.readTree(qs.toJSON());
299 assertEquals("korap:doc", res.at("/collection/@type").asText());
300 assertEquals("pubDate", res.at("/collection/key").asText());
301 assertEquals("2000", res.at("/collection/value").asText());
302 assertEquals("type:date", res.at("/collection/type").asText());
303 assertEquals("match:eq", res.at("/collection/match").asText());
304
305 collection = "pubDate = 2000";
306 qs.setQuery(query,ql);
307 qs.setCollection(collection);
308 res = mapper.readTree(qs.toJSON());
309 assertEquals("korap:doc", res.at("/collection/@type").asText());
310 assertEquals("pubDate", res.at("/collection/key").asText());
311 assertEquals("2000", res.at("/collection/value").asText());
312 assertEquals(true, res.at("/collection/type").isMissingNode());
313 assertEquals("match:eq", res.at("/collection/match").asText());
314
315 collection = "pubDate since 2000";
316 qs.setQuery(query,ql);
317 qs.setCollection(collection);
318 res = mapper.readTree(qs.toJSON());
319 assertEquals("korap:doc", res.at("/collection/@type").asText());
320 assertEquals("pubDate", res.at("/collection/key").asText());
321 assertEquals("2000", res.at("/collection/value").asText());
322 assertEquals("type:date", res.at("/collection/type").asText());
323 assertEquals("match:geq", res.at("/collection/match").asText());
324
325 collection = "pubDate until 2000";
326 qs.setQuery(query,ql);
327 qs.setCollection(collection);
328 res = mapper.readTree(qs.toJSON());
329 assertEquals("korap:doc", res.at("/collection/@type").asText());
330 assertEquals("pubDate", res.at("/collection/key").asText());
331 assertEquals("2000", res.at("/collection/value").asText());
332 assertEquals("type:date", res.at("/collection/type").asText());
333 assertEquals("match:leq", res.at("/collection/match").asText());
334 }
335
336 @Test
337 public void testDateMonthDay() throws QueryException, JsonProcessingException, IOException {
338 collection = "pubDate in 2000-02";
339 qs.setQuery(query,ql);
340 qs.setCollection(collection);
341 res = mapper.readTree(qs.toJSON());
342 assertEquals("korap:doc", res.at("/collection/@type").asText());
343 assertEquals("pubDate", res.at("/collection/key").asText());
344 assertEquals("2000-02", res.at("/collection/value").asText());
345 assertEquals("type:date", res.at("/collection/type").asText());
346 assertEquals("match:eq", res.at("/collection/match").asText());
347
348 collection = "pubDate = 2000-12";
349 qs.setQuery(query,ql);
350 qs.setCollection(collection);
351 res = mapper.readTree(qs.toJSON());
352 assertEquals("korap:doc", res.at("/collection/@type").asText());
353 assertEquals("pubDate", res.at("/collection/key").asText());
354 assertEquals("2000-12", res.at("/collection/value").asText());
355 assertEquals(true, res.at("/collection/type").isMissingNode());
356 assertEquals("match:eq", res.at("/collection/match").asText());
357
358 collection = "pubDate since 2000-02-01";
359 qs.setQuery(query,ql);
360 qs.setCollection(collection);
361 res = mapper.readTree(qs.toJSON());
362 assertEquals("korap:doc", res.at("/collection/@type").asText());
363 assertEquals("pubDate", res.at("/collection/key").asText());
364 assertEquals("2000-02-01", res.at("/collection/value").asText());
365 assertEquals("type:date", res.at("/collection/type").asText());
366 assertEquals("match:geq", res.at("/collection/match").asText());
367
368 collection = "pubDate until 2000-01-01";
369 qs.setQuery(query,ql);
370 qs.setCollection(collection);
371 res = mapper.readTree(qs.toJSON());
372 assertEquals("korap:doc", res.at("/collection/@type").asText());
373 assertEquals("pubDate", res.at("/collection/key").asText());
374 assertEquals("2000-01-01", res.at("/collection/value").asText());
375 assertEquals("type:date", res.at("/collection/type").asText());
376 assertEquals("match:leq", res.at("/collection/match").asText());
377 }
Michael Hanlf1fead42014-05-14 15:13:33 +0000378}
379