AuditEventLogger { public void logEvent(AuditEvent.AuditEventType eventType, boolean writeImmediatelyToDisk) { logEvent(eventType, null, writeImmediatelyToDisk, null); } AuditEventLogger(File instanceFile, AuditConfig auditConfig); void logEvent(AuditEvent.AuditEventType eventType, boolean writeImmediatelyToDisk); void logEvent(AuditEvent.AuditEventType eventType, FormIndex formIndex,
                         boolean writeImmediatelyToDisk, String questionAnswer); void exitView(); void addLocation(Location location);  }
@Test public void logEventTest() { AuditEventLogger auditEventLogger = new AuditEventLogger(testInstanceFile, testAuditConfig); auditEventLogger.logEvent(BEGINNING_OF_FORM, false); auditEventLogger.logEvent(QUESTION, false); auditEventLogger.getAuditEvents().get(auditEventLogger.getAuditEvents().size() - 1).setEnd(1548156710000L); auditEventLogger.logEvent(GROUP, false); auditEventLogger.getAuditEvents().get(auditEventLogger.getAuditEvents().size() - 1).setEnd(1548156770000L); auditEventLogger.logEvent(PROMPT_NEW_REPEAT, false); auditEventLogger.getAuditEvents().get(auditEventLogger.getAuditEvents().size() - 1).setEnd(1548156830000L); auditEventLogger.logEvent(REPEAT, false); auditEventLogger.logEvent(END_OF_FORM, false); auditEventLogger.logEvent(FORM_START, false); auditEventLogger.logEvent(FORM_RESUME, false); auditEventLogger.logEvent(FORM_SAVE, false); auditEventLogger.logEvent(FORM_FINALIZE, false); auditEventLogger.logEvent(HIERARCHY, false); auditEventLogger.getAuditEvents().get(auditEventLogger.getAuditEvents().size() - 1).setEnd(1548156890000L); auditEventLogger.logEvent(SAVE_ERROR, false); auditEventLogger.logEvent(FINALIZE_ERROR, false); auditEventLogger.logEvent(CONSTRAINT_ERROR, false); auditEventLogger.logEvent(DELETE_REPEAT, false); auditEventLogger.logEvent(GOOGLE_PLAY_SERVICES_NOT_AVAILABLE, false); auditEventLogger.logEvent(LOCATION_PERMISSIONS_GRANTED, false); auditEventLogger.logEvent(LOCATION_PERMISSIONS_NOT_GRANTED, false); auditEventLogger.logEvent(LOCATION_TRACKING_ENABLED, false); auditEventLogger.logEvent(LOCATION_TRACKING_DISABLED, false); auditEventLogger.logEvent(LOCATION_PROVIDERS_ENABLED, false); auditEventLogger.logEvent(LOCATION_PROVIDERS_DISABLED, false); auditEventLogger.logEvent(UNKNOWN_EVENT_TYPE, false); assertEquals(21, auditEventLogger.getAuditEvents().size()); }