diff options
author | Jon Bratseth <bratseth@gmail.com> | 2021-04-13 17:19:17 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2021-04-13 17:19:17 +0200 |
commit | dcefd93bd296a9139d2fc41b86307c3041efd433 (patch) | |
tree | bbdd26b15dd444bdea7a019de923e0e5b0de6c63 /container-search/src/test/java | |
parent | a5f88e456dd105f1c47d2c42329a1c7f97cdde72 (diff) |
Collapse nesten compatible weakands
Diffstat (limited to 'container-search/src/test/java')
-rw-r--r-- | container-search/src/test/java/com/yahoo/prelude/query/test/QueryCanonicalizerTestCase.java | 41 |
1 files changed, 41 insertions, 0 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 d3b64100c1e..c10e2dcb3ad 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 @@ -108,6 +108,47 @@ public class QueryCanonicalizerTestCase { } @Test + public void testMultilevelWeakAndCollapsing() { + CompositeItem root = new WeakAndItem(); + CompositeItem l1 = new WeakAndItem(); + CompositeItem l2 = new WeakAndItem(); + CompositeItem l3 = new WeakAndItem(); + CompositeItem l4 = new WeakAndItem(); + + root.addItem(l1); + + l1.addItem(l2); + l1.addItem(new WordItem("l1")); + + l2.addItem(l3); + l2.addItem(new WordItem("l2")); + + l3.addItem(l4); + l3.addItem(new WordItem("l3")); + + l4.addItem(new WordItem("l4")); + + assertCanonicalized("WAND(100) l4 l3 l2 l1", null, root); + } + + @Test + public void testWeakAndCollapsingRequireSameNAndIndex() { + CompositeItem root = new WeakAndItem(10); + CompositeItem l1 = new WeakAndItem(100); + CompositeItem l2 = new WeakAndItem(100); + l2.setIndexName("other"); + + root.addItem(l1); + + l1.addItem(l2); + l1.addItem(new WordItem("l1")); + + l2.addItem(new WordItem("l2")); + + assertCanonicalized("WAND(10) (WAND(100) (WAND(100) l2) l1)", null, root); + } + + @Test public void testNullRoot() { assertCanonicalized(null, "No query", new Query()); } |