### Question:
Util { public static String validateJsonFilePath(String path, String paramName) { requireNonNull(path, paramName); checkArgument(isValidJsonFilePath(path), "%s: %s (expected: %s)", paramName, path, JSON_FILE_PATH_PATTERN); return path; } private  Util(); static String validateFileName(String name, String paramName); static boolean isValidFileName(String name); static String validateFilePath(String path, String paramName); static boolean isValidFilePath(String path); static String validateJsonFilePath(String path, String paramName); static boolean isValidJsonFilePath(String path); static String validateJsonPath(String jsonPath, String paramName); static boolean isValidJsonPath(String jsonPath); static String validateDirPath(String path, String paramName); static boolean isValidDirPath(String path); static boolean isValidDirPath(String path, boolean mustEndWithSlash); static String validatePathPattern(String pathPattern, String paramName); static boolean isValidPathPattern(String pathPattern); static String validateProjectName(String projectName, String paramName); static boolean isValidProjectName(String projectName); static String validateRepositoryName(String repoName, String paramName); static boolean isValidRepositoryName(String repoName); static String validateEmailAddress(String emailAddr, String paramName); static boolean isValidEmailAddress(String emailAddr); static String toEmailAddress(String emailAddr, String paramName); static String emailToUsername(String emailAddr, String paramName); static List<String> stringToLines(String str); static String simpleTypeName(Object obj); static String simpleTypeName(Class<?> clazz); static String simpleTypeName(Class<?> clazz, boolean decapitalize); @SuppressWarnings("unchecked") static T unsafeCast(Object o); static Iterable<T> requireNonNullElements(Iterable<T> values, String name); static void deleteFileTree(File directory);  }### Answer:
@Test void testValidateJsonFilePath() { assertJsonFilePathValidationSuccess("/foo.json"); assertJsonFilePathValidationSuccess("/foo/bar.json"); assertJsonFilePathValidationSuccess("/foo.bar/baz.json"); assertJsonFilePathValidationSuccess("/foo.JSON"); assertJsonFilePathValidationSuccess("/foo.Json"); assertJsonFilePathValidationSuccess("/foo.jsoN"); assertJsonFilePathValidationFailure("/foo.txt"); assertJsonFilePathValidationFailure("/foo/bar.txt"); assertJsonFilePathValidationFailure("/foo.bar/baz.json.txt"); assertJsonFilePathValidationFailure("/foo-bar/baz-json"); assertJsonFilePathValidationFailure("/"); assertJsonFilePathValidationFailure("/foo/"); assertJsonFilePathValidationFailure("/."); assertJsonFilePathValidationFailure("/.."); assertJsonFilePathValidationFailure("/.json"); assertJsonFilePathValidationFailure("/json."); assertJsonFilePathValidationFailure("/.json."); assertJsonFilePathValidationFailure("/\t"); assertJsonFilePathValidationFailure("/80:20"); assertJsonFilePathValidationFailure("/foo*.json"); assertJsonFilePathValidationFailure("/bar?.json"); assertJsonFilePathValidationFailure("/baz|.json"); assertJsonFilePathValidationFailure("/\uAC00\uB098\uB2E4.json"); }