From f86aedaee7c84fff85bd97099b7e08db3e4d5313 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Tue, 23 Mar 2021 16:56:34 +0100 Subject: Simplify tests. --- .../processing/DictionaryTestCase.java | 109 +++++++++------------ 1 file changed, 48 insertions(+), 61 deletions(-) (limited to 'config-model/src/test/java/com/yahoo/searchdefinition') diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/DictionaryTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/DictionaryTestCase.java index 9b3c02cecc3..256858b372e 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/DictionaryTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/DictionaryTestCase.java @@ -2,6 +2,7 @@ package com.yahoo.searchdefinition.processing; +import com.yahoo.config.model.test.TestUtil; import com.yahoo.searchdefinition.Search; import com.yahoo.searchdefinition.SearchBuilder; import com.yahoo.searchdefinition.derived.AttributeFields; @@ -25,79 +26,65 @@ public class DictionaryTestCase { attributes.getConfig(builder); return builder.build(); } + private Search createSearch(String def) throws ParseException { + SearchBuilder sb = SearchBuilder.createFromString(def); + return sb.getSearch(); + } @Test public void testDefaultDictionarySettings() throws ParseException { - String def = - "search test {\n" + - " document test {\n" + - " field s1 type string {\n" + - " indexing: attribute | summary\n" + - " }\n" + - "\n" + - " field n1 type int {\n" + - " indexing: summary | attribute\n" + - " }\n" + - " }\n" + - "}\n"; - SearchBuilder sb = SearchBuilder.createFromString(def); - Search search = sb.getSearch(); + String def = TestUtil.joinLines( + "search test {", + " document test {", + " field s1 type string {", + " indexing: attribute | summary", + " }", + " field n1 type int {", + " indexing: summary | attribute", + " }", + " }", + "}"); + Search search = createSearch(def); assertEquals(Dictionary.Type.BTREE, search.getAttribute("s1").getDictionary().getType()); assertEquals(Dictionary.Type.BTREE, search.getAttribute("n1").getDictionary().getType()); } + + void verifyNumericDictionaryControl(Dictionary.Type expected, + AttributesConfig.Attribute.Dictionary.Type.Enum expectedConfig, + String ... cfg) throws ParseException + { + String def = TestUtil.joinLines( + "search test {", + " document test {", + " field n1 type int {", + " indexing: summary | attribute", + " attribute:fast-search", + TestUtil.joinLines(cfg), + " }", + " }", + "}"); + Search search = createSearch(def); + assertEquals(expected, search.getAttribute("n1").getDictionary().getType()); + assertEquals(expectedConfig, + getConfig(search).attribute().get(0).dictionary().type()); + } + @Test public void testNumericBtreeSettings() throws ParseException { - String def = - "search test {\n" + - " document test {\n" + - " field n1 type int {\n" + - " indexing: summary | attribute\n" + - " attribute:fast-search\n" + - " dictionary:btree\n" + - " }\n" + - " }\n" + - "}\n"; - SearchBuilder sb = SearchBuilder.createFromString(def); - Search search = sb.getSearch(); - assertEquals(Dictionary.Type.BTREE, search.getAttribute("n1").getDictionary().getType()); - assertEquals(AttributesConfig.Attribute.Dictionary.Type.BTREE, - getConfig(search).attribute().get(0).dictionary().type()); + verifyNumericDictionaryControl(Dictionary.Type.BTREE, + AttributesConfig.Attribute.Dictionary.Type.BTREE, + "dictionary:btree"); } @Test public void testNumericHashSettings() throws ParseException { - String def = - "search test {\n" + - " document test {\n" + - " field n1 type int {\n" + - " indexing: summary | attribute\n" + - " attribute:fast-search\n" + - " dictionary:hash\n" + - " }\n" + - " }\n" + - "}\n"; - SearchBuilder sb = SearchBuilder.createFromString(def); - Search search = sb.getSearch(); - assertEquals(Dictionary.Type.HASH, search.getAttribute("n1").getDictionary().getType()); - assertEquals(AttributesConfig.Attribute.Dictionary.Type.HASH, - getConfig(search).attribute().get(0).dictionary().type()); + verifyNumericDictionaryControl(Dictionary.Type.HASH, + AttributesConfig.Attribute.Dictionary.Type.HASH, + "dictionary:hash"); } @Test public void testNumericBtreeAndHashSettings() throws ParseException { - String def = - "search test {\n" + - " document test {\n" + - " field n1 type int {\n" + - " indexing: summary | attribute\n" + - " attribute:fast-search\n" + - " dictionary:hash\n" + - " dictionary:btree\n" + - " }\n" + - " }\n" + - "}\n"; - SearchBuilder sb = SearchBuilder.createFromString(def); - Search search = sb.getSearch(); - assertEquals(Dictionary.Type.BTREE_AND_HASH, search.getAttribute("n1").getDictionary().getType()); - assertEquals(AttributesConfig.Attribute.Dictionary.Type.BTREE_AND_HASH, - getConfig(search).attribute().get(0).dictionary().type()); + verifyNumericDictionaryControl(Dictionary.Type.BTREE_AND_HASH, + AttributesConfig.Attribute.Dictionary.Type.BTREE_AND_HASH, + "dictionary:btree", "dictionary:hash"); } @Test public void testNonNumericFieldsFailsDictionaryControl() throws ParseException { @@ -132,7 +119,7 @@ public class DictionaryTestCase { SearchBuilder sb = SearchBuilder.createFromString(def); fail("Controlling dictionary for non-fast-search fields are not allowed."); } catch (IllegalArgumentException e) { - assertEquals("For search 'test', field 'n1': You must specify attribute:fast-search to allow dictionary control", e.getMessage()); + assertEquals("For search 'test', field 'n1': You must specify 'attribute:fast-search' to allow dictionary control", e.getMessage()); } } } -- cgit v1.2.3