SimpleIndex { public Entry getPostingList(long key) { return dictionary.get(key); } SimpleIndex(LongObjectMap<Entry> dictionary); Entry getPostingList(long key); void writeToOutputStream(DataOutputStream out); static SimpleIndex fromInputStream(DataInputStream in);  }
@Test public void requireThatValuesCanBeInserted() { SimpleIndex.Builder builder = new SimpleIndex.Builder(); builder.insert(KEY, new Posting(DOC_ID, 10)); SimpleIndex index = builder.build(); SimpleIndex.Entry e = index.getPostingList(KEY); assertNotNull(e); assertEquals(1, e.docIds.length); builder = new SimpleIndex.Builder(); builder.insert(KEY, new Posting(DOC_ID, 10)); builder.insert(KEY, new Posting(DOC_ID + 1, 20)); index = builder.build(); e = index.getPostingList(KEY); assertEquals(2, e.docIds.length); assertEquals(10, e.dataRefs[0]); assertEquals(20, e.dataRefs[1]); }
@Test public void requireThatEntriesAreSortedOnId() { SimpleIndex.Builder builder = new SimpleIndex.Builder(); builder.insert(KEY, new Posting(DOC_ID, 10)); builder.insert(KEY, new Posting(DOC_ID - 1, 20)); builder.insert(KEY, new Posting(DOC_ID + 1, 30)); SimpleIndex index = builder.build(); SimpleIndex.Entry entry = index.getPostingList(KEY); assertEquals(3, entry.docIds.length); assertEquals(DOC_ID - 1, entry.docIds[0]); assertEquals(DOC_ID, entry.docIds[1]); assertEquals(DOC_ID + 1, entry.docIds[2]); }