blob: d93d402299c0313a7db2f9aca4b096f14bc98c2f [file] [log] [blame]
Eliza Margaretha269e5a62014-09-30 16:58:23 +00001package de.ids_mannheim.korap.query;
2
Nils Diewaldf399a672013-11-18 17:55:22 +00003import java.util.*;
4import de.ids_mannheim.korap.query.wrap.SpanSegmentQueryWrapper;
5import de.ids_mannheim.korap.query.wrap.SpanRegexQueryWrapper;
6import de.ids_mannheim.korap.query.wrap.SpanAlterQueryWrapper;
7import de.ids_mannheim.korap.query.wrap.SpanSequenceQueryWrapper;
8
Nils Diewaldbe5943e2014-10-21 19:35:34 +00009import de.ids_mannheim.korap.util.QueryException;
10
Nils Diewaldf399a672013-11-18 17:55:22 +000011import static org.junit.Assert.*;
12import org.junit.Test;
13import org.junit.Ignore;
14import org.junit.runner.RunWith;
15import org.junit.runners.JUnit4;
16
17@RunWith(JUnit4.class)
18public class TestSpanSegmentSequenceQuery {
19
20 @Test
Nils Diewaldbe5943e2014-10-21 19:35:34 +000021 public void spanSegmentSequenceQuery () throws QueryException {
Nils Diewaldf399a672013-11-18 17:55:22 +000022 SpanSequenceQueryWrapper sssq = new SpanSequenceQueryWrapper("field");
23
24 assertNull(sssq.toQuery());
Nils Diewaldbe5943e2014-10-21 19:35:34 +000025
Nils Diewaldf399a672013-11-18 17:55:22 +000026 sssq.append("a").append("b");
27
28 assertEquals("spanNext(field:a, field:b)", sssq.toQuery().toString());
29
30 sssq.append("c");
31
32 assertEquals("spanNext(spanNext(field:a, field:b), field:c)", sssq.toQuery().toString());
33 };
34
35 @Test
Nils Diewaldbe5943e2014-10-21 19:35:34 +000036 public void spanSegmentSequenceQuery2 () throws QueryException {
Nils Diewaldf399a672013-11-18 17:55:22 +000037 SpanSegmentQueryWrapper ssq = new SpanSegmentQueryWrapper("field", "-c", "-d", "-e");
38 SpanSequenceQueryWrapper sssq = new SpanSequenceQueryWrapper("field", "a", "b");
39
40 sssq.append(ssq);
41
Nils Diewald97b66382014-02-11 00:32:23 +000042 assertEquals("spanNext(spanNext(field:a, field:b), spanSegment(spanSegment(field:-c, field:-d), field:-e))", sssq.toQuery().toString());
Nils Diewaldf399a672013-11-18 17:55:22 +000043
44 };
45
46 @Test
Nils Diewaldbe5943e2014-10-21 19:35:34 +000047 public void spanSegmentSequenceQuery3 () throws QueryException {
Nils Diewaldf399a672013-11-18 17:55:22 +000048 SpanSequenceQueryWrapper sssq = new SpanSequenceQueryWrapper("field", "a", "b");
49 SpanRegexQueryWrapper ssreq = new SpanRegexQueryWrapper("field", "c.?d");
50
51 sssq.append(ssreq);
52
53 assertEquals("spanNext(spanNext(field:a, field:b), SpanMultiTermQueryWrapper(field:/c.?d/))", sssq.toQuery().toString());
54 };
55
56 @Test
Nils Diewaldbe5943e2014-10-21 19:35:34 +000057 public void spanSegmentSequenceQueryPrepend () throws QueryException {
Nils Diewaldf399a672013-11-18 17:55:22 +000058 SpanSequenceQueryWrapper sssq = new SpanSequenceQueryWrapper("field", "b", "c");
59
60 sssq.prepend("a");
61
62 assertEquals("spanNext(spanNext(field:a, field:b), field:c)", sssq.toQuery().toString());
63 };
64
65 @Test
Nils Diewaldbe5943e2014-10-21 19:35:34 +000066 public void spanSegmentSequenceQueryPrepend2 () throws QueryException {
Nils Diewaldf399a672013-11-18 17:55:22 +000067 SpanSequenceQueryWrapper sssq = new SpanSequenceQueryWrapper("field", "d", "e");
68 SpanSegmentQueryWrapper ssq = new SpanSegmentQueryWrapper("field", "-a", "-b", "-c");
69
70 sssq.prepend(ssq);
71
Nils Diewald97b66382014-02-11 00:32:23 +000072 assertEquals("spanNext(spanNext(spanSegment(spanSegment(field:-a, field:-b), field:-c), field:d), field:e)", sssq.toQuery().toString());
Nils Diewaldf399a672013-11-18 17:55:22 +000073 };
74
75 @Test
Nils Diewaldbe5943e2014-10-21 19:35:34 +000076 public void spanSegmentSequenceQueryPrepend3 () throws QueryException {
Nils Diewaldf399a672013-11-18 17:55:22 +000077 SpanSequenceQueryWrapper sssq = new SpanSequenceQueryWrapper("field", "c", "d");
78 SpanRegexQueryWrapper ssreq = new SpanRegexQueryWrapper("field", "a.?b");
79
80 sssq.prepend(ssreq);
81
82 assertEquals("spanNext(spanNext(SpanMultiTermQueryWrapper(field:/a.?b/), field:c), field:d)", sssq.toQuery().toString());
83 };
84};