Utils { public static String combinePaths(String first, String... other) { return Paths.get(first, other).toString(); } private  Utils(); static String generateParameterHash(String path, String func, List<String> args); static String generateDirectoryHash(String rootDir, String chaincodeDir, String hash); static byte[] generateTarGz(File sourceDirectory, String pathPrefix); static byte[] readFile(File input); static String generateUUID(); static Timestamp generateTimestamp(); static void deleteFileOrDirectory(File file); static byte[] hash(byte[] input, Digest digest); static String combinePaths(String first, String... other); static byte[] readFileFromClasspath(String fileName); static Properties parseGrpcUrl(String url); static Exception checkGrpcUrl(String url); static boolean isNullOrEmpty(String url); static String logString(final String string); static byte[] generateNonce(); static String toHexString(ByteString byteString); static String toHexString(byte[] bytes);  }
@Test public void testCombinePaths() { String expected = "/1/2/3/4/5"; expected = expected.replace("/", File.separator); Assert.assertEquals(expected, Utils.combinePaths("/1/2/3", "4/5")); Assert.assertEquals(expected, Utils.combinePaths("/1/2", "3", "4/5")); }