### Question:
Utils { public static ApplicationMessageID applicationMessageIdFromString(String appMessageId) { String[] messageIdParts = appMessageId.split("-"); String[] account = messageIdParts[0].split("\\."); AccountID accountId = AccountID.newBuilder() .setShardNum(Long.parseLong(account[0])) .setRealmNum(Long.parseLong(account[1])) .setAccountNum(Long.parseLong(account[2])) .build(); Timestamp timestamp = Timestamp.newBuilder() .setSeconds(Long.parseLong(messageIdParts[1])) .setNanos(Integer.parseInt(messageIdParts[2])) .build(); ApplicationMessageID applicationMessageId = ApplicationMessageID.newBuilder() .setAccountID(accountId) .setValidStart(timestamp) .build(); return applicationMessageId; }  static String timestampToDate(long seconds, int nanos); static String timestampToTime(long seconds, int nanos); static String applicationMessageIdToString(ApplicationMessageID transactionId); static String transactionIdToString(TransactionId transactionId); static Credit creditFromCreditBPM(CreditBPM creditBPM, String threadId); static CreditBPM creditBPMFromCredit(Credit credit); static Settlement settlementFromSettleProposeBPM(SettleProposeBPM settleProposeBPM, String threadId); static ApplicationMessageID applicationMessageIdFromString(String appMessageId); static String getThreadId(); static Money moneyFromSettlement(Settlement settlement); static ResponseEntity<SettlementRest> serverError();  }### Answer:
@Test public void testApplicationMessageIdFromString() { String appString = "0.1.2-10-20"; ApplicationMessageID applicationMessageID = Utils.applicationMessageIdFromString(appString); assertEquals(0, applicationMessageID.getAccountID().getShardNum()); assertEquals(1, applicationMessageID.getAccountID().getRealmNum()); assertEquals(2, applicationMessageID.getAccountID().getAccountNum()); assertEquals(10, applicationMessageID.getValidStart().getSeconds()); assertEquals(20, applicationMessageID.getValidStart().getNanos()); }