### Question:
DaoWebEventRepository implements WebEventRepository, InitializingBean { @Transactional public int[] countMatchingEventsBySeverity(EventCriteria criteria) { int[] eventCounts = new int[8]; eventCounts[OnmsSeverity.CLEARED.getId()] = m_eventDao.countMatching(getOnmsCriteria(criteria).add(Restrictions.eq("eventSeverity", OnmsSeverity.CLEARED.getId()))); eventCounts[OnmsSeverity.CRITICAL.getId()] = m_eventDao.countMatching(getOnmsCriteria(criteria).add(Restrictions.eq("eventSeverity", OnmsSeverity.CRITICAL.getId()))); eventCounts[OnmsSeverity.INDETERMINATE.getId()] = m_eventDao.countMatching(getOnmsCriteria(criteria).add(Restrictions.eq("eventSeverity", OnmsSeverity.INDETERMINATE.getId()))); eventCounts[OnmsSeverity.MAJOR.getId()] = m_eventDao.countMatching(getOnmsCriteria(criteria).add(Restrictions.eq("eventSeverity", OnmsSeverity.MAJOR.getId()))); eventCounts[OnmsSeverity.MINOR.getId()] = m_eventDao.countMatching(getOnmsCriteria(criteria).add(Restrictions.eq("eventSeverity", OnmsSeverity.MINOR.getId()))); eventCounts[OnmsSeverity.NORMAL.getId()] = m_eventDao.countMatching(getOnmsCriteria(criteria).add(Restrictions.eq("eventSeverity", OnmsSeverity.NORMAL.getId()))); eventCounts[OnmsSeverity.WARNING.getId()] = m_eventDao.countMatching(getOnmsCriteria(criteria).add(Restrictions.eq("eventSeverity", OnmsSeverity.WARNING.getId()))); return eventCounts; }  @Override void afterPropertiesSet(); @Transactional void acknowledgeAll(String user, Date timestamp); @Transactional void acknowledgeMatchingEvents(String user, Date timestamp, EventCriteria criteria); @Transactional int countMatchingEvents(EventCriteria criteria); @Transactional int[] countMatchingEventsBySeverity(EventCriteria criteria); @Transactional Event getEvent(int eventId); @Transactional Event[] getMatchingEvents(EventCriteria criteria); @Transactional void unacknowledgeAll(); @Transactional void unacknowledgeMatchingEvents(EventCriteria criteria);  }### Answer:
@Test @Transactional public void testCountMatchingEventsBySeverity(){ EventCriteria criteria = new EventCriteria(); int[] matchingEvents = m_daoEventRepo.countMatchingEventsBySeverity(criteria); assertNotNull(matchingEvents); assertEquals(8, matchingEvents.length); assertEquals(1, matchingEvents[OnmsSeverity.CLEARED.getId()]); assertEquals(0, matchingEvents[OnmsSeverity.CRITICAL.getId()]); assertEquals(1, matchingEvents[OnmsSeverity.INDETERMINATE.getId()]); assertEquals(0, matchingEvents[OnmsSeverity.MAJOR.getId()]); assertEquals(0, matchingEvents[OnmsSeverity.MINOR.getId()]); assertEquals(0, matchingEvents[OnmsSeverity.NORMAL.getId()]); assertEquals(0, matchingEvents[OnmsSeverity.WARNING.getId()]); }
@Test @Transactional public void testCountMatchingBySeverity(){ int[] matchingEventCount = m_daoEventRepo.countMatchingEventsBySeverity(new EventCriteria(new SeverityFilter(3))); assertNotNull(matchingEventCount); assertEquals(8, matchingEventCount.length); }