summaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-09-08 12:27:52 +0200
committerJon Bratseth <bratseth@gmail.com>2022-09-08 12:27:52 +0200
commit8d4d0efd296483e633a0b119c8cd45365586db4f (patch)
tree8a2c3fc0c608a399b87f75b294e63a33796b32df /container-search
parent685194b9def01dbe15bef4d48b90c8462d427445 (diff)
Add tests
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/test/java/com/yahoo/search/query/SortingTestCase.java18
-rw-r--r--container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java14
2 files changed, 27 insertions, 5 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/query/SortingTestCase.java b/container-search/src/test/java/com/yahoo/search/query/SortingTestCase.java
index facb620b63b..8422196638a 100644
--- a/container-search/src/test/java/com/yahoo/search/query/SortingTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/query/SortingTestCase.java
@@ -5,6 +5,12 @@ import com.ibm.icu.lang.UScript;
import com.ibm.icu.text.Collator;
import com.ibm.icu.text.RuleBasedCollator;
import com.ibm.icu.util.ULocale;
+import com.yahoo.prelude.Index;
+import com.yahoo.prelude.IndexFacts;
+import com.yahoo.prelude.IndexModel;
+import com.yahoo.prelude.SearchDefinition;
+import com.yahoo.search.Query;
+import com.yahoo.search.searchchain.Execution;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
@@ -16,6 +22,7 @@ import static org.junit.jupiter.api.Assertions.*;
* @author baldersheim
*/
public class SortingTestCase {
+
@Test
void validAttributeName() {
assertNotNull(Sorting.fromString("a"));
@@ -34,6 +41,17 @@ public class SortingTestCase {
}
@Test
+ void aliasesAreRecognized() {
+ Query query = new Query();
+ var schema = new SearchDefinition("test");
+ schema.addIndex(new Index("a"));
+ schema.addAlias("aliasOfA", "a");
+ Execution execution = new Execution(Execution.Context.createContextStub(new IndexFacts(new IndexModel(schema))));
+ query.getModel().setExecution(execution);
+ assertEquals("a", new Sorting("aliasOfA", query).fieldOrders().get(0).getFieldName());
+ }
+
+ @Test
void requireThatChineseSortCorrect() {
requireThatChineseHasCorrectRules(Collator.getInstance(new ULocale("zh")));
Sorting ch = Sorting.fromString("uca(a,zh)");
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 935b1aa62f9..5beea5352aa 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
@@ -980,20 +980,24 @@ public class YqlParserTestCase {
@Test
void testFieldAliases() {
IndexInfoConfig modelConfig = new IndexInfoConfig(new IndexInfoConfig.Builder().indexinfo(new Indexinfo.Builder()
- .name("music").command(new Command.Builder().indexname("title").command("index"))
- .alias(new Alias.Builder().alias("song").indexname("title"))));
+ .name("music")
+ .command(new Command.Builder().indexname("title").command("index"))
+ .command(new Command.Builder().indexname("year").command("attribute"))
+ .alias(new Alias.Builder().alias("song").indexname("title"))
+ .alias(new Alias.Builder().alias("from").indexname("year"))));
IndexModel model = new IndexModel(modelConfig, (QrSearchersConfig) null);
IndexFacts indexFacts = new IndexFacts(model);
ParserEnvironment parserEnvironment = new ParserEnvironment().setIndexFacts(indexFacts);
YqlParser configuredParser = new YqlParser(parserEnvironment);
QueryTree x = configuredParser.parse(new Parsable()
- .setQuery("select * from sources * where title contains \"a\" and song contains \"b\""));
+ .setQuery("select * from sources * where title contains \"a\" and song contains \"b\" order by \"from\""));
List<IndexedItem> terms = QueryTree.getPositiveTerms(x);
assertEquals(2, terms.size());
- for (IndexedItem term : terms) {
+ for (IndexedItem term : terms)
assertEquals("title", term.getIndexName());
- }
+ assertEquals(1, configuredParser.getSorting().fieldOrders().size());
+ assertEquals("year", configuredParser.getSorting().fieldOrders().get(0).getFieldName());
}
@Test