public void testMatchesOnlyIfStringContainsGivenSubstringsInTheSameOrder() { assertMatches("substrings in order", matcher, "abcc"); assertMatches("substrings separated", matcher, "1a2b3c4c5"); assertDoesNotMatch("can detect repeated strings for matching", stringContainsInOrder("abc", "abc"), "---abc---"); assertDoesNotMatch("substrings in order missing a repeated pattern", matcher, "abc"); assertDoesNotMatch("substrings out of order", matcher, "cab"); assertDoesNotMatch("no substrings in string", matcher, "xyz"); assertDoesNotMatch("substring missing", matcher, "ac"); assertDoesNotMatch("empty string", matcher, ""); }