### Question:
RecordProperties { public static RecordProperties fromJson(JsonValue jsonProperties) { RecordProperties recordProperties = new RecordProperties(); recordProperties.issueID = jsonProperties.get(RecordConstants.ISSUE_ID_LABEL).required().asLong(); recordProperties.referenceID = jsonProperties.get(RecordConstants.REFERENCE_ID_LABEL).required().asString(); if (!REFERENCE_ID_PATTERN.matcher(recordProperties.referenceID).matches()) { debug.message("{} format is incorrect. Format expected: {}. Value: '{}'", RecordConstants.REFERENCE_ID_LABEL, REFERENCE_ID_REGEX, recordProperties.referenceID); throw new IllegalArgumentException(RecordConstants.REFERENCE_ID_LABEL + " format is incorrect. Format expected: " + REFERENCE_ID_REGEX + " . Value: '" + recordProperties.referenceID + "'"); } recordProperties.description = jsonProperties.get(RecordConstants.DESCRIPTION_LABEL).required().asString(); fromThreadDumpJson(recordProperties, jsonProperties); fromConfigExportJson(recordProperties, jsonProperties); fromDebugLogsJson(recordProperties, jsonProperties); recordProperties.zipEnable = jsonProperties.get(RecordConstants.ZIP_ENABLE_LABEL).required().asBoolean(); return recordProperties; } private  RecordProperties(); static RecordProperties fromJson(JsonValue jsonProperties); static JsonValue toJson(RecordProperties recordProperties); Long getIssueID(); String getReferenceID(); String getDescription(); Boolean isThreadDumpEnabled(); Long getThreadDumpDelayInSeconds(); Boolean isConfigExportEnabled(); Boolean isConfigExportSharePasswordEnabled(); String getConfigExportPassword(); DebugLevel getDebugLevel(); Boolean isAutoStopEnabled(); Boolean isAutoStopTimeEnabled(); Long getAutoStopTimeInMS(); Boolean isAutoStopFileSizeEnabled(); Long getAutoStopFileSizeInKB(); Boolean isZipEnabled(); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode();  }### Answer:
@Test public void allOnRecord() throws Exception { RecordProperties recordProperties = RecordProperties.fromJson(JsonValueBuilder.toJsonValue( IOUtils.getFileContentFromClassPath(RecordPropertiesTest.class, RECORD_DIRECTORY + "AllOnRecord" + ".json"))); checkJsonAllOnRecord(recordProperties); }
@Test(expectedExceptions = IllegalArgumentException.class) public void wrongReferenceID() throws Exception { RecordProperties.fromJson(JsonValueBuilder.toJsonValue( IOUtils.getFileContentFromClassPath(RecordPropertiesTest.class, RECORD_DIRECTORY + "WrongReferenceID.json"))); }