summaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2016-11-30 05:22:43 -0800
committerJon Bratseth <bratseth@yahoo-inc.com>2016-11-30 05:22:43 -0800
commit9c9b741fddfd814cafc7251beb720ced9fdc5107 (patch)
tree52dbb5f535803412de89244873bff81239d5202a /container-search
parent52be21679cba0f8e3356beda89706ef0e9f2ddce (diff)
Better testing
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/query/test/QueryCanonicalizerTestCase.java42
1 files changed, 32 insertions, 10 deletions
diff --git a/container-search/src/test/java/com/yahoo/prelude/query/test/QueryCanonicalizerTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/test/QueryCanonicalizerTestCase.java
index 486ac371b20..7989e67ff62 100644
--- a/container-search/src/test/java/com/yahoo/prelude/query/test/QueryCanonicalizerTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/query/test/QueryCanonicalizerTestCase.java
@@ -176,20 +176,42 @@ public class QueryCanonicalizerTestCase {
@Test
public void testMultilevelCollapsing() {
CompositeItem root = new AndItem();
- CompositeItem child = new AndItem();
- CompositeItem grandchild = new AndItem();
- CompositeItem grandgrandchild = new AndItem();
+ CompositeItem l1 = new AndItem();
+ CompositeItem l2 = new AndItem();
+ CompositeItem l3 = new AndItem();
- root.addItem(child);
- child.addItem(new WordItem("childItem"));
+ root.addItem(l1);
+ l1.addItem(new WordItem("l1i1"));
+ l1.addItem(l2);
+
+ l2.addItem(new WordItem("l2i1"));
+ l2.addItem(l3);
+ l2.addItem(new WordItem("l2i2"));
+
+ l3.addItem(new WordItem("l3i1"));
+ l3.addItem(new WordItem("l3i2"));
+
+ assertCanonicalized("AND l1i1 l2i1 l3i1 l3i2 l2i2", null, root);
+ }
+
+ /** Multiple levels of different composites should not collapse */
+ @Test
+ public void testMultilevelNonCollapsing() {
+ CompositeItem root = new AndItem();
+ CompositeItem l1 = new AndItem();
+ CompositeItem l2 = new OrItem();
+ CompositeItem l3 = new AndItem();
+
+ root.addItem(l1);
+ l1.addItem(new WordItem("l1i1"));
- child.addItem(grandchild);
- grandchild.addItem(new WordItem("grandchildItem"));
+ l1.addItem(l2);
+ l2.addItem(new WordItem("l2i1"));
- grandchild.addItem(grandgrandchild);
- grandgrandchild.addItem(new WordItem("grandgrandchildItem"));
+ l2.addItem(l3);
+ l3.addItem(new WordItem("l3i1"));
- assertCanonicalized("AND childItem grandchildItem grandgrandchildItem", null, root);
+ assertCanonicalized("AND l1i1 (OR l2i1 l3i1)", null, root);
}
@Test