@Test
@DataProvider(value = {
" | | ",
"/hotels | null | /hotels",
"null | /hotels | /hotels",
"/hotels | /bookings | /hotels/bookings",
"/hotels | bookings | /hotels/bookings",
"/hotels/* | /bookings | /hotels/bookings",
"/hotels/** | /bookings | /hotels/**/bookings",
"/hotels | {hotel} | /hotels/{hotel}",
"/hotels/* | {hotel} | /hotels/{hotel}",
"/hotels/** | {hotel} | /hotels/**/{hotel}",
"/*.html | /hotels.html | /hotels.html",
"/*.html | /hotels | /hotels.html",
"/* | /hotel | /hotel",
"/*.* | /*.html | /*.html",
"/usr | /user | /usr/user",
"/{foo} | /bar | /{foo}/bar",
"foo | foo | foo/foo",
"/*.html | bar.things | bar.html",
}, splitBy = "\\|")
public void combine_works_as_expected_for_known_data(String pattern1, String pattern2, String expected) {
assertThat(matcher.combine(pattern1, pattern2), is(expected));
}