Tools { @Nullable public static String getFileExtension(@Nullable final String filename) { if (filename == null) { return null; } final int dotIndex = filename.lastIndexOf("."); if (dotIndex == -1) { return ""; } return filename.substring(dotIndex); } private  Tools(); static String getTime(); static String getDoubleDigit(final int number); static String dateToString(@Nullable final Date d, final String format); static String decimalFormat(final String format, final double number); static boolean isValidNick(@Nullable final String nick); static String byteToString(final long bytes); static int getBytes(final String text); static void sleep(final long millis); @Nullable static String capitalizeFirstLetter(@Nullable final String word); @Nullable static String shorten(@Nullable final String word, final int length); @Nullable static String getFileExtension(@Nullable final String filename); @Nullable static String getFileBaseName(@Nullable final String filename); static double percent(final double fraction, final double total); static double percentOf(final double percent, final double total); static String postPadString(final String stringToPad, final int paddedLength); static boolean isEmpty(@Nullable final String string); static String appendSlash(final String path); static File getFileWithIncrementedName(final File existingFile); static String emptyIfNull(@Nullable final String string);  }
@Test public void testGetFileExtension() { assertNull(Tools.getFileExtension(null)); assertEquals("", Tools.getFileExtension("file")); assertEquals(".txt", Tools.getFileExtension("file.txt")); assertEquals(".", Tools.getFileExtension("file.")); assertEquals(".txt", Tools.getFileExtension(".txt")); assertEquals(".", Tools.getFileExtension(".")); assertEquals(".jpg", Tools.getFileExtension("image.txt.jpg")); assertEquals(".extension", Tools.getFileExtension("some thing with spaces.extension")); }