added services and filters
diff --git a/src/test/java/CollectionQueryBuilderTest.java b/src/test/java/CollectionQueryBuilderTest.java
new file mode 100644
index 0000000..de9a089
--- /dev/null
+++ b/src/test/java/CollectionQueryBuilderTest.java
@@ -0,0 +1,87 @@
+import com.fasterxml.jackson.databind.JsonNode;
+import de.ids_mannheim.korap.utils.CollectionQueryBuilder3;
+import de.ids_mannheim.korap.utils.JsonUtils;
+import org.junit.Test;
+
+/**
+ * @author hanl
+ * @date 12/08/2015
+ */
+public class CollectionQueryBuilderTest {
+
+ @Test
+ public void testsimpleAdd() {
+ CollectionQueryBuilder3 b = new CollectionQueryBuilder3();
+ b.addSegment("corpusID", CollectionQueryBuilder3.EQ.EQUAL, "WPD");
+ // System.out.println(b.toJSON());
+ }
+
+ @Test
+ public void testSimpleConjunctive() {
+ CollectionQueryBuilder3 b = new CollectionQueryBuilder3();
+ b.addSegment("corpusID", CollectionQueryBuilder3.EQ.EQUAL, "WPD").and()
+ .addSegment("textClass", CollectionQueryBuilder3.EQ.EQUAL,
+ "freizeit");
+ // System.out.println(b.toJSON());
+ }
+
+ @Test
+ public void testSimpleDisjunctive() {
+ CollectionQueryBuilder3 b = new CollectionQueryBuilder3();
+ b.addSegment("corpusID", CollectionQueryBuilder3.EQ.EQUAL, "WPD").and()
+ .addSegment("textClass", CollectionQueryBuilder3.EQ.EQUAL,
+ "freizeit");
+ // System.out.println(b.toJSON());
+ }
+
+ @Test
+ public void testComplexSubQuery() {
+
+ CollectionQueryBuilder3 b = new CollectionQueryBuilder3();
+ b.addSegment("corpusID", CollectionQueryBuilder3.EQ.EQUAL, "ADF").and()
+ .addSub("textClass=freizeit & corpusID=WPD");
+ // System.out.println(b.toJSON());
+ }
+
+ @Test // basically joining two or more resource queries
+ public void testAddResourceQueryAfter() {
+ CollectionQueryBuilder3 b = new CollectionQueryBuilder3();
+ b.addSegment("corpusID", CollectionQueryBuilder3.EQ.EQUAL, "ADF").and()
+ .addSub("textClass=freizeit & corpusID=WPD");
+ // System.out.println(b.toJSON());
+
+ // join.addSegment("textClass", "politik");
+ }
+
+ @Test // basically joining two or more resource queries
+ public void testAddResourceQueryBefore() {
+ CollectionQueryBuilder3 b = new CollectionQueryBuilder3();
+ b.addSegment("corpusID", CollectionQueryBuilder3.EQ.EQUAL, "ADF").and()
+ .addSub("textClass!=freizeit & corpusID=WPD");
+
+ // CollectionQueryBuilder3 join = new CollectionQueryBuilder3();
+ // join.addRaw(b.toJSON());
+ // join.addSegment("textClass", "politik");
+ // System.out.println("JOINED " + join.toJSON());
+ }
+
+ @Test
+ public void test1() {
+ CollectionQueryBuilder3 b = new CollectionQueryBuilder3();
+ b.addSegment("corpusID", CollectionQueryBuilder3.EQ.EQUAL, "ADF").or()
+ .addSub("textClass=freizeit & corpusID=WPD");
+
+ CollectionQueryBuilder3 c = new CollectionQueryBuilder3();
+ c.setBaseQuery(b.toJSON());
+ c.addSub("textClass=wissenschaft");
+
+ JsonNode node = JsonUtils.readTree(c.toJSON());
+
+ assert node != null;
+ assert node.at("/collection/operands/2/@type").asText()
+ .equals("koral:doc");
+ assert node.at("/collection/operands/2/value").asText()
+ .equals("wissenschaft");
+ }
+
+}