### Question:
EntityCollectionDAO extends AbstractDataAccessObject implements Describable { public static EntityCollectionDAO create(Entity... data) { return newBuilder().addEntities(data).build(); } EntityCollectionDAO(Map<EntityType, EntityCollection> data); static EntityCollectionDAOBuilder newBuilder(); static EntityCollectionDAO create(Entity... data); static EntityCollectionDAO create(Collection<? extends Entity> data); @Override Set<EntityType> getEntityTypes(); @Override LongSet getEntityIds(EntityType type); @Nullable @Override Entity lookupEntity(EntityType type, long id); @Nullable @Override E lookupEntity(EntityType type, long id, Class<E> view); @Override ObjectStream<Entity> streamEntities(EntityType type); @Override ObjectStream<E> streamEntities(EntityQuery<E> query); @Override ObjectStream<IdBox<List<E>>> streamEntityGroups(EntityQuery<E> query, TypedName<Long> grpCol); @Override void describeTo(DescriptionWriter writer);  }### Answer:
@Test public void testEmptyDAOHasEmptyGroupedResults() { EntityCollectionDAO dao = EntityCollectionDAO.create(); assertThat(dao.query(RATING).groupBy(CommonAttributes.ITEM_ID).get(), hasSize(0)); }