### Question:
UriBuilder { public static String buildUriString(String tokenContractAddress, String iabContractAddress, BigDecimal amount, String developerAddress, String skuId, int networkId) { StringBuilder stringBuilder = new StringBuilder(4); try (Formatter formatter = new Formatter(stringBuilder)) { formatter.format("ethereum:%s@%d/buy?uint256=%s&address=%s&data=%s&iabContractAddress=%s", tokenContractAddress, networkId, amount.toString(), developerAddress, "0x" + Hex.toHexString(skuId.getBytes("UTF-8")), iabContractAddress); } catch (UnsupportedEncodingException e) { throw new RuntimeException("UTF-8 not supported!", e); } return stringBuilder.toString(); } private  UriBuilder(); static String buildUriString(String tokenContractAddress, String iabContractAddress,
      BigDecimal amount, String developerAddress, String skuId, int networkId);  }### Answer:
@Test public void buildUriString() { String uriString = UriBuilder. buildUriString(tokenContractAddress, iabContractAddress, new BigDecimal("1000000000000000000"), developerAddress, "com.cenas.product", 3); Assert.assertThat(uriString, is("ethereum:0xab949343E6C369C6B17C7ae302c1dEbD4B7B61c3@3/buy?uint256=1000000000000000000&address=0x4fbcc5ce88493c3d9903701c143af65f54481119&data=0x636f6d2e63656e61732e70726f64756374&iabContractAddress=0xb015D9bBabc472BBfC990ED6A0C961a90a482C57")); }