### Question:
ApplicationMenuDataStore extends CommonDatastore<ApplicationMenuItem, ApplicationMenu> implements DatastoreHasAdd<ApplicationMenuItem>,
DatastoreHasUpdate<ApplicationMenuItem>,
DatastoreHasGet<ApplicationMenuItem>, DatastoreHasSearch<ApplicationMenuItem>, DatastoreHasDelete { @Override public void delete(final List<APIID> ids) { try { for (final APIID id : ids) { applicationAPI.deleteApplicationMenu(id.toLong()); } } catch (final Exception e) { throw new APIException(e); } } ApplicationMenuDataStore(final APISession engineSession, final ApplicationAPI applicationAPI, final ApplicationMenuItemConverter converter); @Override ApplicationMenuItem add(final ApplicationMenuItem item); @Override ApplicationMenuItem update(final APIID id, final Map<String, String> attributes); @Override ApplicationMenuItem get(final APIID id); @Override void delete(final List<APIID> ids); @Override ItemSearchResult<ApplicationMenuItem> search(final int page, final int resultsByPage, final String search, final String orders,
            final Map<String, String> filters);  }### Answer:
@Test public void should_delete_the_good_Application_Page_on_delete() throws Exception { dataStore.delete(Arrays.<APIID> asList(APIID.makeAPIID("1"), APIID.makeAPIID("2"))); verify(applicationAPI, times(1)).deleteApplicationMenu(1); verify(applicationAPI, times(1)).deleteApplicationMenu(2); }
@Test(expected = APIException.class) public void should_throw_APIException_on_delete_when_engine_throws_exception() throws Exception { doThrow(new DeletionException("")).when(applicationAPI).deleteApplicationMenu(1); dataStore.delete(Arrays.<APIID> asList(APIID.makeAPIID("1"))); }