PathHelper { public static String replaceExtension(final String path, String extension) { if (!extension.startsWith(".")) extension = "." + extension; return removeExtension(path) + extension; } private  PathHelper(); static boolean isValid(final String path); static boolean isRelative(final String path); static String getParent(final String path); static String getFileName(final String path); static String getExtension(final String path); static String removeExtension(final String path); static String replaceExtension(final String path, String extension); static String toAbsolute(String dirName, String path); static String fullyQualifiedNameToDirName(
      final String fullyQualifiedName); static String packageNameToDirName(final String packageName); static String fullyQualifiedNameToAbsolute(
      final String fullyQualifiedName, final String path); static String packageNameToAbsolute(final String packageName,
      final String path); static String fullyQualifiedNameToPath(
      final String fullyQualifiedName, final String extension); static String fullyQualifiedNameToPath(
      final String fullyQualifiedName, final String suffix,
      final String extension); static final String PATH_REGEXP; }
@Test(groups = {"functional"}) public void testReplaceExtension() { assertEquals("bar.c", replaceExtension("bar.txt", "c")); assertEquals("./bar.c", replaceExtension("./bar.txt", "c")); assertEquals("foo/bar.c", replaceExtension("foo/bar.txt", "c")); assertEquals("./foo/bar.c", replaceExtension("./foo/bar.txt", "c")); assertEquals("./../foo/bar.c", replaceExtension("./../foo/bar.txt", "c")); assertEquals("bar.c", replaceExtension("bar", "c")); assertEquals("./bar.c", replaceExtension("./bar", "c")); assertEquals("foo.1/bar.c", replaceExtension("foo.1/bar", "c")); assertEquals("bar.c", replaceExtension("bar.txt", ".c")); }