From 9c9b741fddfd814cafc7251beb720ced9fdc5107 Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Wed, 30 Nov 2016 05:22:43 -0800 Subject: Better testing --- .../query/test/QueryCanonicalizerTestCase.java | 42 ++++++++++++++++------ 1 file changed, 32 insertions(+), 10 deletions(-) (limited to 'container-search') 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 -- cgit v1.2.3