MemoryCache implements Cache<T> { @Override public DatabaseDocument<T> getDocument() { return map.values().iterator().next(); } MemoryCache(); @Override void prepare(); @Override void add(DatabaseDocument<T> doc); @Override void add(Collection<DatabaseDocument<T>> docs); @Override DatabaseDocument<T> remove(DocumentID<T> id); @Override Collection<DatabaseDocument<T>> removeAll(); @Override DatabaseDocument<T> getDocumentById(DocumentID<T> id); @Override DatabaseDocument<T> getDocument(); @Override DatabaseDocument<T> getDocument(DatabaseQuery<T> query); @Override ArrayList<DatabaseDocument<T>> getDocument(DatabaseQuery<T> query,
			int limit); @Override DatabaseDocument<T> getAndTag(DatabaseQuery<T> query, String ... tags); @Override Collection<DatabaseDocument<T>> getAndTag(DatabaseQuery<T> query,
			int n, String ... tags); @Override boolean update(DatabaseDocument<T> document); @Override boolean markTouched(DocumentID<T> id, String tag); @Override int getSize(); @Override Collection<DatabaseDocument<T>> removeStale(int stalerThanMs); @Override boolean freshen(DocumentID<T> id);  }
@Test public void testGetDocument() { cache.add(list); assertNotNull(cache.getDocument()); }