use of com.yahoo.search.result.Hit in project vespa by vespa-engine.
the class JsonRendererTestCase method testDebugRendering.
@Test
public final void testDebugRendering() throws IOException, InterruptedException, ExecutionException, JSONException {
String expected = "{\n" + " \"root\": {\n" + " \"children\": [\n" + " {\n" + " \"fields\": {\n" + " \"NaN\": \"NaN\",\n" + " \"emptyString\": \"\",\n" + " \"emptyStringFieldValue\": \"\",\n" + " \"$vespaImplementationDetail\": \"Hello, World!\"\n" + " },\n" + " \"id\": \"hiddenFields\",\n" + " \"relevance\": 1.0\n" + " }\n" + " ],\n" + " \"fields\": {\n" + " \"totalCount\": 1\n" + " },\n" + " \"id\": \"toplevel\",\n" + " \"relevance\": 1.0\n" + " }\n" + "}\n";
Result r = new Result(new Query("/?renderer.json.debug=true"));
Hit h = createHitWithOnlyHiddenFields();
r.hits().add(h);
r.setTotalHitCount(1L);
String summary = render(r);
assertEqualJson(expected, summary);
}
use of com.yahoo.search.result.Hit in project vespa by vespa-engine.
the class JsonRendererTestCase method testHiddenFields.
@Test
public final void testHiddenFields() throws IOException, InterruptedException, ExecutionException, JSONException {
String expected = "{\n" + " \"root\": {\n" + " \"children\": [\n" + " {\n" + " \"id\": \"hiddenFields\",\n" + " \"relevance\": 1.0\n" + " }\n" + " ],\n" + " \"fields\": {\n" + " \"totalCount\": 1\n" + " },\n" + " \"id\": \"toplevel\",\n" + " \"relevance\": 1.0\n" + " }\n" + "}\n";
Result r = newEmptyResult();
Hit h = createHitWithOnlyHiddenFields();
r.hits().add(h);
r.setTotalHitCount(1L);
String summary = render(r);
assertEqualJson(expected, summary);
}
use of com.yahoo.search.result.Hit in project vespa by vespa-engine.
the class JsonRendererTestCase method testHitWithSource.
@Test
public void testHitWithSource() throws IOException, InterruptedException, ExecutionException {
String expected = "{\n" + " \"root\": {\n" + " \"children\": [\n" + " {\n" + " \"id\": \"datatypestuff\",\n" + " \"relevance\": 1.0,\n" + " \"source\": \"unit test\"\n" + " }\n" + " ],\n" + " \"fields\": {\n" + " \"totalCount\": 1\n" + " },\n" + " \"id\": \"toplevel\",\n" + " \"relevance\": 1.0\n" + " }\n" + "}\n";
Result r = newEmptyResult();
Hit h = new Hit("datatypestuff");
h.setSource("unit test");
r.hits().add(h);
r.setTotalHitCount(1L);
String summary = render(r);
assertEqualJson(expected, summary);
}
use of com.yahoo.search.result.Hit in project vespa by vespa-engine.
the class DeepHitIteratorTestCase method testSecondHitIsGroup.
public void testSecondHitIsGroup() {
HitGroup root = new HitGroup();
root.add(new Hit("foo"));
HitGroup group = new HitGroup();
group.add(new Hit("bar"));
root.add(group);
Iterator<Hit> it = root.deepIterator();
assertTrue(it.hasNext());
assertEquals("foo", it.next().getId().toString());
assertTrue(it.hasNext());
assertEquals("bar", it.next().getId().toString());
assertFalse(it.hasNext());
}
use of com.yahoo.search.result.Hit in project vespa by vespa-engine.
the class DeepHitIteratorTestCase method testDeep.
public void testDeep() {
HitGroup grandParent = new HitGroup();
grandParent.add(new Hit("a"));
HitGroup parent = new HitGroup();
parent.add(new Hit("b"));
HitGroup child = new HitGroup();
child.add(new Hit("c"));
HitGroup grandChild = new HitGroup();
grandChild.add(new Hit("d"));
child.add(grandChild);
child.add(new Hit("e"));
parent.add(child);
parent.add(new Hit("f"));
grandParent.add(parent);
grandParent.add(new Hit("g"));
Iterator<Hit> it = grandParent.deepIterator();
assertTrue(it.hasNext());
assertEquals("a", it.next().getId().toString());
assertTrue(it.hasNext());
assertEquals("b", it.next().getId().toString());
assertTrue(it.hasNext());
assertEquals("c", it.next().getId().toString());
assertTrue(it.hasNext());
assertEquals("d", it.next().getId().toString());
assertTrue(it.hasNext());
assertEquals("e", it.next().getId().toString());
assertTrue(it.hasNext());
assertEquals("f", it.next().getId().toString());
assertTrue(it.hasNext());
assertEquals("g", it.next().getId().toString());
assertFalse(it.hasNext());
}
Aggregations