private void doTestInContext(String number, String defaultCountry, List<NumberContext> contextPairs, Leniency leniency) { foreach(NumberContext context in contextPairs) { String prefix = context.leadingText; String text = prefix + number + context.trailingText; int start = prefix.length(); int end = start + number.length(); Iterator<PhoneNumberMatch> iterator = phoneUtil.findNumbers(text, defaultCountry, leniency, Long.MAX_VALUE).iterator(); PhoneNumberMatch match = iterator.hasNext() ? iterator.next() : null; assertNotNull("Did not find a number in '" + text + "'; expected '" + number + "'", match); CharSequence extracted = text.subSequence(match.start(), match.end()); assertTrue("Unexpected phone region in '" + text + "'; extracted '" + extracted + "'", start == match.start() && end == match.end()); assertTrue(number.contentEquals(extracted)); assertTrue(match.rawString().contentEquals(extracted)); ensureTermination(text, defaultCountry, leniency); } }