diff options
author | Jon Bratseth <bratseth@gmail.com> | 2021-04-05 09:50:13 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2021-04-05 09:50:13 +0200 |
commit | 3abb24b5c0164f0c79fa53106dc3a458dc1ee41a (patch) | |
tree | 0af96d3843a1abdbd20afb704f4876abd46ffaf9 /container-search/src/test | |
parent | e4060156feb3bd441ea9554621e11a7244962968 (diff) |
Handle repeated EQUIV production
Diffstat (limited to 'container-search/src/test')
3 files changed, 17 insertions, 2 deletions
diff --git a/container-search/src/test/java/com/yahoo/prelude/semantics/test/ExpansionTestCase.java b/container-search/src/test/java/com/yahoo/prelude/semantics/test/ExpansionTestCase.java index b2d0d60c8fa..fa6b4eefdd5 100644 --- a/container-search/src/test/java/com/yahoo/prelude/semantics/test/ExpansionTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/semantics/test/ExpansionTestCase.java @@ -15,8 +15,19 @@ public class ExpansionTestCase extends RuleBaseAbstractTestCase { } @Test - public void testEquivExpansion() { + public void testEquivExpansion1() { assertSemantics("EQUIV equiv1 equiv2 equiv3", "equiv1"); } + @Test + public void testEquivExpansion2() { + assertSemantics("EQUIV testfield:e1 testfield:e2 testfield:e3", "testfield:foo"); + } + + @Test + public void testEquivExpansion3() { + assertSemantics("AND testfield:e1 testfield:e2 testfield:e3 testfield:e1 testfield:e2 testfield:e3", + "testfield:foo testfield:bar"); + } + } diff --git a/container-search/src/test/java/com/yahoo/prelude/semantics/test/ProductionRuleTestCase.java b/container-search/src/test/java/com/yahoo/prelude/semantics/test/ProductionRuleTestCase.java index 3513904af02..6c0084d1bdc 100644 --- a/container-search/src/test/java/com/yahoo/prelude/semantics/test/ProductionRuleTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/semantics/test/ProductionRuleTestCase.java @@ -50,7 +50,7 @@ public class ProductionRuleTestCase { RuleEvaluation e = new Evaluation(query).freshRuleEvaluation(); assertTrue(rule.matches(e)); rule.produce(e); - assertEquals("brand:sony", query.getModel().getQueryTree().getRoot().toString()); + assertEquals("AND brand:sony", query.getModel().getQueryTree().getRoot().toString()); } } diff --git a/container-search/src/test/java/com/yahoo/prelude/semantics/test/rulebases/expansion.sr b/container-search/src/test/java/com/yahoo/prelude/semantics/test/rulebases/expansion.sr index 728c494682b..d03f060cbde 100644 --- a/container-search/src/test/java/com/yahoo/prelude/semantics/test/rulebases/expansion.sr +++ b/container-search/src/test/java/com/yahoo/prelude/semantics/test/rulebases/expansion.sr @@ -2,3 +2,7 @@ or1 +> ?or2 ?or3; equiv1 +> =equiv2 =equiv3; + +testfield:[test] -> =testfield:e1 =testfield:e2 =testfield:e3; + +[test] :- foo, bar, baz; |