package org.smoothbuild.builtin.file.match.testing; import static java.lang.Character.isLetter; import static java.util.Arrays.asList; import static java.util.Collections.unmodifiableList; import java.util.ArrayList; import java.util.List; public class HelpTester { public static final List<String> ALL = unmodifiableList(asList("a", "b", "c", "aa", "ab", "ac", "ba", "bb", "bc", "ca", "cb", "cc")); public static final List<String> ALL_WITH_EMPTY = unmodifiableList(asList("", "a", "b", "c", "aa", "ab", "ac", "ba", "bb", "bc", "ca", "cb", "cc")); public static final List<String> ALL_DOUBLE_STARS = unmodifiableList(allDoubleStars()); public static boolean endsWithThreeLetters(String pattern) { boolean isLongEnough = 3 <= pattern.length(); return isLongEnough && containsOnlyLetters(pattern.substring(pattern.length() - 3)); } private static boolean containsOnlyLetters(String string) { for (int i = 0; i < string.length(); i++) { if (!isLetter(string.charAt(i))) { return false; } } return true; } private static List<String> allDoubleStars() { List<String> result = new ArrayList<>(); result.add(""); result.addAll(ALL); for (String a : ALL) { for (String b : ALL) { result.add(a + "/" + b); } } return result; } }