blob: 180fecb83b09944cb1bc13f62f92a0a8b6e422cf [file] [log] [blame]
Eliza Margaretha8e200cd2014-11-13 16:00:38 +00001package de.ids_mannheim.korap.query;
2
Nils Diewaldd732e542014-11-12 17:54:02 +00003import java.util.*;
4import java.io.IOException;
5
6import org.apache.lucene.search.spans.SpanQuery;
7
Nils Diewalda14ecd62015-02-26 21:00:20 +00008import de.ids_mannheim.korap.KrillIndex;
Nils Diewald0339d462015-02-26 14:53:56 +00009import de.ids_mannheim.korap.KrillQuery;
Nils Diewald884dbcf2015-02-27 17:02:28 +000010import de.ids_mannheim.korap.response.Result;
Nils Diewaldbbd39a52015-02-23 19:56:57 +000011import de.ids_mannheim.korap.Krill;
Nils Diewald392bcf32015-02-26 20:01:17 +000012import de.ids_mannheim.korap.response.Match;
Nils Diewaldd732e542014-11-12 17:54:02 +000013import de.ids_mannheim.korap.index.FieldDocument;
14
15import de.ids_mannheim.korap.util.QueryException;
16
17import static de.ids_mannheim.korap.TestSimple.*;
Nils Diewaldd732e542014-11-12 17:54:02 +000018
19import static org.junit.Assert.*;
20import org.junit.Test;
21import org.junit.Ignore;
22import org.junit.runner.RunWith;
23import org.junit.runners.JUnit4;
24
25@RunWith(JUnit4.class)
26public class TestTemporaryQueryLimitations {
27
28 @Test
Nils Diewaldbb33da22015-03-04 16:24:25 +000029 public void classRefCheckNotSupported () throws IOException, QueryException {
Nils Diewaldd732e542014-11-12 17:54:02 +000030
Nils Diewaldbb33da22015-03-04 16:24:25 +000031 // Construct index
32 KrillIndex ki = new KrillIndex();
33 String json = new String("{" + " \"fields\" : [" + " { "
34 + " \"primaryData\" : \"abc\"" + " }," + " {"
35 + " \"name\" : \"tokens\"," + " \"data\" : ["
36 + " [ \"s:a\", \"i:a\", \"_0#0-1\", \"-:t$<i>3\"],"
37 + " [ \"s:b\", \"i:b\", \"_1#1-2\" ],"
38 + " [ \"s:c\", \"i:c\", \"_2#2-3\" ]" + " ]"
39 + " }" + " ]" + "}");
Nils Diewaldd732e542014-11-12 17:54:02 +000040
Nils Diewaldbb33da22015-03-04 16:24:25 +000041 FieldDocument fd = ki.addDoc(json);
42 ki.commit();
Nils Diewaldd732e542014-11-12 17:54:02 +000043
Nils Diewaldbb33da22015-03-04 16:24:25 +000044 json = getString(getClass().getResource(
45 "/queries/bugs/cosmas_classrefcheck.jsonld").getFile());
Nils Diewaldd732e542014-11-12 17:54:02 +000046
Nils Diewaldbb33da22015-03-04 16:24:25 +000047 Krill ks = new Krill(json);
48 Result kr = ks.apply(ki);
49 assertEquals(kr.getSerialQuery(),
50 "focus(130: {131: spanContain({129: <tokens:s />}, {130: tokens:s:wegen})})");
51 assertEquals(kr.getTotalResults(), 0);
52 assertEquals(kr.getStartIndex(), 0);
53
54 assertEquals("This is a warning coming from the serialization", kr
55 .getWarning(1).getMessage());
56 assertEquals("Class reference checks are currently not supported"
57 + " - results may not be correct", kr.getWarning(0)
58 .getMessage());
Nils Diewaldd732e542014-11-12 17:54:02 +000059 };
60};