/** Requires trimmed <code>request</code> been not equal to "!". */ static void resolveTestRequest( String request, IncludedExcludedPatterns patterns, Collection<ResolvedTest> includedFilters, Collection<ResolvedTest> excludedFilters) { final boolean isExcluded = request.startsWith("!"); ResolvedTest test = null; request = removeExclamationMark(request); if (isRegexPrefixedPattern(request)) { final String[] unwrapped = unwrapRegex(request); final boolean hasClass = unwrapped[0].length() != 0; final boolean hasMethod = unwrapped[1].length() != 0; if (hasClass && hasMethod) { test = new ResolvedTest(unwrapped[0], unwrapped[1], true); } else if (hasClass) { test = new ResolvedTest(ResolvedTest.Type.CLASS, unwrapped[0], true); } else if (hasMethod) { test = new ResolvedTest(ResolvedTest.Type.METHOD, unwrapped[1], true); } } else { final int indexOfMethodSeparator = request.indexOf('#'); if (indexOfMethodSeparator == -1) { test = new ResolvedTest(ResolvedTest.Type.CLASS, request, false); } else { String clazz = request.substring(0, indexOfMethodSeparator); String methods = request.substring(1 + indexOfMethodSeparator); nonRegexClassAndMethods( clazz, methods, isExcluded, patterns, includedFilters, excludedFilters); } } if (test != null && !test.isEmpty()) { updatedFilters(isExcluded, test, patterns, includedFilters, excludedFilters); } }