use of com.yahoo.prelude.fastsearch.PacketWrapper in project vespa by vespa-engine.
the class PacketWrapperTestCase method testPartialOverlap.
@Test
public void testPartialOverlap() {
CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
PacketWrapper w = createResult(key, 0, 10, 100);
QueryResultPacket q = createQueryResultPacket(10, 10, 100);
w.addResultPacket(q);
// all docs at once
List<?> l = w.getDocuments(0, 20);
assertNotNull(l);
assertEquals(20, l.size());
int n = 0;
for (Iterator<?> i = l.iterator(); i.hasNext(); ++n) {
DocumentInfo d = (DocumentInfo) i.next();
assertEquals(DocsumDefinitionTestCase.createGlobalId(n), d.getGlobalId());
}
// too far out into the result set
l = w.getDocuments(15, 10);
assertNull(l);
// only from first subdivision
l = w.getDocuments(3, 2);
assertNotNull(l);
assertEquals(2, l.size());
n = 3;
for (Iterator<?> i = l.iterator(); i.hasNext(); ++n) {
DocumentInfo d = (DocumentInfo) i.next();
assertEquals(DocsumDefinitionTestCase.createGlobalId(n), d.getGlobalId());
}
// only from second subdivision
l = w.getDocuments(15, 5);
assertNotNull(l);
assertEquals(5, l.size());
n = 15;
for (Iterator<?> i = l.iterator(); i.hasNext(); ++n) {
DocumentInfo d = (DocumentInfo) i.next();
assertEquals(DocsumDefinitionTestCase.createGlobalId(n), d.getGlobalId());
}
// overshoot by 1
l = w.getDocuments(15, 6);
assertNull(l);
// mixed subset
l = w.getDocuments(3, 12);
assertNotNull(l);
assertEquals(12, l.size());
n = 3;
for (Iterator<?> i = l.iterator(); i.hasNext(); ++n) {
DocumentInfo d = (DocumentInfo) i.next();
assertEquals(DocsumDefinitionTestCase.createGlobalId(n), d.getGlobalId());
}
}
use of com.yahoo.prelude.fastsearch.PacketWrapper in project vespa by vespa-engine.
the class PacketCacheTestCase method createCacheEntry.
/**
* Creates a 64-byte packet in an array wrapped in a PacketWrapper
*/
private PacketWrapper createCacheEntry(CacheKey key) throws BufferTooSmallException {
ByteBuffer data = ByteBuffer.allocate(length);
data.put(queryResultPacketData);
data.flip();
BasicPacket[] content = new BasicPacket[] { PacketDecoder.extractPacket(data).packet };
return new PacketWrapper(key, content);
}
Aggregations