diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-11-06 11:27:55 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-11-06 11:27:55 +0100 |
commit | 975ae438bb199feb396625c5a02156986d8dc034 (patch) | |
tree | 097a0ea953ff601e5a7e9085fabf045f22486b3b /container-search/src | |
parent | 8a4ab6394438045f740cb850d882346796e99eb6 (diff) |
Improve error messages
Diffstat (limited to 'container-search/src')
4 files changed, 48 insertions, 20 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/query/WordItem.java b/container-search/src/main/java/com/yahoo/prelude/query/WordItem.java index 2a7242e0bbc..246924ea9de 100644 --- a/container-search/src/main/java/com/yahoo/prelude/query/WordItem.java +++ b/container-search/src/main/java/com/yahoo/prelude/query/WordItem.java @@ -71,8 +71,8 @@ public class WordItem extends TermItem { } public void setWord(String word) { - Validator.ensureNotNull("Word item word", word); - Validator.ensureNonEmpty("Word item word", word); + Validator.ensureNotNull("The word of a word item", word); + Validator.ensureNonEmpty("The word of a word item", word); this.word = word; } diff --git a/container-search/src/test/java/com/yahoo/prelude/query/test/SameElementItemTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/test/SameElementItemTestCase.java index 625dc236e2a..ae9960f6c7c 100644 --- a/container-search/src/test/java/com/yahoo/prelude/query/test/SameElementItemTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/query/test/SameElementItemTestCase.java @@ -7,8 +7,10 @@ import com.yahoo.prelude.query.WordItem; import org.junit.Test; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; public class SameElementItemTestCase { + @Test public void testAddItem() { SameElementItem s = new SameElementItem("structa"); @@ -17,6 +19,7 @@ public class SameElementItemTestCase { s.addItem(new WordItem("d", "f3")); assertEquals("structa:{f1:b f2:c f3:d}", s.toString()); } + @Test public void testClone() { SameElementItem s = new SameElementItem("structa"); @@ -27,12 +30,20 @@ public class SameElementItemTestCase { SameElementItem c = (SameElementItem)s.clone(); assertEquals("structa:{f1:b f2:c f3:d}", c.toString()); } - @Test(expected = IllegalArgumentException.class) + + @Test public void requireAllChildrenHaveStructMemberNameSet() { - SameElementItem s = new SameElementItem("structa"); - s.addItem(new WordItem("b", "f1")); - s.addItem(new WordItem("c")); + try { + SameElementItem s = new SameElementItem("structa"); + s.addItem(new WordItem("b", "f1")); + s.addItem(new WordItem("c")); + fail("Expected exception"); + } + catch (IllegalArgumentException e) { // success + assertEquals("Struct fieldname can not be empty", e.getMessage()); + } } + @Test public void requireAllowCommonPrefix() { SameElementItem s = new SameElementItem("structa"); @@ -40,6 +51,7 @@ public class SameElementItemTestCase { s.addItem(new WordItem("c", "structaf2")); assertEquals("structa:{f1:b structaf2:c}", s.toString()); } + @Test public void requireChildrenCanHavePrefixCommonWithParent() { SameElementItem s = new SameElementItem("structa"); @@ -47,14 +59,30 @@ public class SameElementItemTestCase { s.addItem(new WordItem("c", "structa.f2")); assertEquals("structa:{f1:b structa.f2:c}", s.toString()); } - @Test(expected = IllegalArgumentException.class) + + @Test public void requireAllChildrenHaveNonEmptyTerm() { - SameElementItem s = new SameElementItem("structa"); - s.addItem(new WordItem("", "f2")); + try { + SameElementItem s = new SameElementItem("structa"); + s.addItem(new WordItem("", "f2")); + fail("Expected exception"); + } + catch (IllegalArgumentException e) { // Success + assertEquals("The word of a word item can not be empty", e.getMessage()); + } } - @Test(expected = IllegalArgumentException.class) + + @Test public void requireAllChildrenAreTermItems() { - SameElementItem s = new SameElementItem("structa"); - s.addItem(new AndItem()); + try { + SameElementItem s = new SameElementItem("structa"); + s.addItem(new AndItem()); + fail("Expected exception"); + } + catch (IllegalArgumentException e) { // Success + assertEquals("Child item (AND ) should be an instance of class com.yahoo.prelude.query.TermItem but is class com.yahoo.prelude.query.AndItem", + e.getMessage()); + } } + } diff --git a/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java b/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java index 127820bb7ae..8c47ae377c3 100644 --- a/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java @@ -868,10 +868,10 @@ public class YqlParserTestCase { @Test public void testWordAlternativesWithOrigin() { - QueryTree x = parse("select * from sources * where foo contains" - + " ([{\"origin\": {\"original\": \" trees \", \"offset\": 1, \"length\": 5}}]" - + "alternatives({\"trees\": 1.0, \"tree\": 0.7}));"); - Item root = x.getRoot(); + QueryTree q = parse("select * from sources * where foo contains" + + " ([{\"origin\": {\"original\": \" trees \", \"offset\": 1, \"length\": 5}}]" + + "alternatives({\"trees\": 1.0, \"tree\": 0.7}));"); + Item root = q.getRoot(); assertSame(WordAlternativesItem.class, root.getClass()); WordAlternativesItem alternatives = (WordAlternativesItem) root; checkWordAlternativesContent(alternatives); @@ -884,9 +884,9 @@ public class YqlParserTestCase { @Test public void testWordAlternativesInPhrase() { - QueryTree x = parse("select * from sources * where" - + " foo contains phrase(\"forest\", alternatives({\"trees\": 1.0, \"tree\": 0.7}));"); - Item root = x.getRoot(); + QueryTree q = parse("select * from sources * where" + + " foo contains phrase(\"forest\", alternatives({\"trees\": 1.0, \"tree\": 0.7}));"); + Item root = q.getRoot(); assertSame(PhraseItem.class, root.getClass()); PhraseItem phrase = (PhraseItem) root; assertEquals(2, phrase.getItemCount()); diff --git a/container-search/src/test/java/com/yahoo/select/SelectTestCase.java b/container-search/src/test/java/com/yahoo/select/SelectTestCase.java index 6871e26b96a..9fa222bafad 100644 --- a/container-search/src/test/java/com/yahoo/select/SelectTestCase.java +++ b/container-search/src/test/java/com/yahoo/select/SelectTestCase.java @@ -547,7 +547,7 @@ public class SelectTestCase { assertParseFail("{ \"contains\" : [\"fieldName\", {\"equiv\" : [\"ny\",{\"nalle\" : [ \"void\" ] } ] } ] }", new IllegalArgumentException("Expected operator phrase, got nalle.")); assertParseFail("{ \"contains\" : [\"fieldName\", {\"equiv\" : [\"ny\", 42]}]}", - new IllegalArgumentException("Word item word can not be empty")); + new IllegalArgumentException("The word of a word item can not be empty")); } @Test |