diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-09-16 16:51:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-16 16:51:43 +0200 |
commit | 10a7fd163b55c9d501fec44eceaa3b36cebd7861 (patch) | |
tree | 808facc2b3976bfc953e1ef67e798727b3962f71 /container-search/src/test/java | |
parent | c9babe83512093d584ae73b98c2df91a28d13343 (diff) |
Revert "Revert "Use a LeanHit until merging is done." MERGEOK"
Diffstat (limited to 'container-search/src/test/java')
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/dispatch/LeanHitTest.java | 42 | ||||
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/dispatch/MockInvoker.java | 16 |
2 files changed, 54 insertions, 4 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/LeanHitTest.java b/container-search/src/test/java/com/yahoo/search/dispatch/LeanHitTest.java new file mode 100644 index 00000000000..3478038e427 --- /dev/null +++ b/container-search/src/test/java/com/yahoo/search/dispatch/LeanHitTest.java @@ -0,0 +1,42 @@ +package com.yahoo.search.dispatch; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +public class LeanHitTest { + byte [] gidA = {'a'}; + byte [] gidB = {'b'}; + byte [] gidC = {'c'}; + private void verifyTransitiveOrdering(LeanHit a, LeanHit b, LeanHit c) { + assertTrue(a.compareTo(b) < 0); + assertTrue(b.compareTo(c) < 0); + assertTrue(a.compareTo(c) < 0); + assertTrue(b.compareTo(a) > 0); + assertTrue(c.compareTo(b) > 0); + assertTrue(c.compareTo(a) > 0); + } + @Test + public void testOrderingByRelevance() { + assertEquals(0, new LeanHit(gidA, 0, 0, 1).compareTo(new LeanHit(gidA, 0, 0, 1))); + verifyTransitiveOrdering(new LeanHit(gidA, 0, 0, 1), + new LeanHit(gidA, 0, 0, 0), + new LeanHit(gidA, 0, 0, -1)); + } + @Test + public void testOrderingByGid() { + assertEquals(0, new LeanHit(gidA, 0, 0, 1).compareTo(new LeanHit(gidA, 0, 0, 1))); + + verifyTransitiveOrdering(new LeanHit(gidA, 0, 0, 1), + new LeanHit(gidB, 0, 0, 1), + new LeanHit(gidC, 0, 0, 1)); + } + @Test + public void testOrderingBySortData() { + assertEquals(0, new LeanHit(gidA, 0, 0, gidA).compareTo(new LeanHit(gidA, 0, 0, gidA))); + verifyTransitiveOrdering(new LeanHit(gidA, 0, 0, gidA), + new LeanHit(gidA, 0, 0, gidB), + new LeanHit(gidA, 0, 0, gidC)); + } +} diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/MockInvoker.java b/container-search/src/test/java/com/yahoo/search/dispatch/MockInvoker.java index 4b2f63d6b89..2fe434d6f3f 100644 --- a/container-search/src/test/java/com/yahoo/search/dispatch/MockInvoker.java +++ b/container-search/src/test/java/com/yahoo/search/dispatch/MockInvoker.java @@ -1,6 +1,7 @@ // Copyright 2019 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.dispatch; +import com.yahoo.prelude.fastsearch.FastHit; import com.yahoo.search.Query; import com.yahoo.search.Result; import com.yahoo.search.dispatch.searchcluster.Node; @@ -37,13 +38,20 @@ class MockInvoker extends SearchInvoker { } @Override - protected Result getSearchResult(Execution execution) throws IOException { - Result ret = new Result(query); + protected InvokerResult getSearchResult(Execution execution) throws IOException { + InvokerResult ret = new InvokerResult(query, 10); if (coverage != null) { - ret.setCoverage(coverage); + ret.getResult().setCoverage(coverage); } if (hits != null) { - ret.hits().addAll(hits); + for (Hit h : hits) { + if (h instanceof FastHit) { + FastHit fh = (FastHit) h; + ret.getLeanHits().add(new LeanHit(fh.getRawGlobalId(), fh.getPartId(), fh.getDistributionKey(), fh.getRelevance().getScore())); + } else { + ret.getResult().hits().add(h); + } + } } return ret; } |