@Test
void testMultiGlobs() throws Exception {

    // Technically, '**' isn't well defined Balsa, but the wildcardMatch should do the right thing with it.
    assertTrue(SearchPattern.wildcardMatch("*a", "a"));
    assertTrue(SearchPattern.wildcardMatch("**a", "a"));
    assertTrue(SearchPattern.wildcardMatch("***a", "a"));
    assertTrue(SearchPattern.wildcardMatch("**a*", "a"));
    assertTrue(SearchPattern.wildcardMatch("**a**", "a"));
    assertTrue(SearchPattern.wildcardMatch("a**b", "ab"));
    assertTrue(SearchPattern.wildcardMatch("a**b", "abb"));
    assertTrue(SearchPattern.wildcardMatch("*?", "a"));
    assertTrue(SearchPattern.wildcardMatch("*?", "aa"));
    assertTrue(SearchPattern.wildcardMatch("*??", "aa"));
    Assertions.assertFalse(SearchPattern.wildcardMatch("*???", "aa"));
    assertTrue(SearchPattern.wildcardMatch("*?", "aaa"));
    assertTrue(SearchPattern.wildcardMatch("?", "a"));
    Assertions.assertFalse(SearchPattern.wildcardMatch("??", "a"));
    assertTrue(SearchPattern.wildcardMatch("?*", "a"));
    assertTrue(SearchPattern.wildcardMatch("*?", "a"));
    Assertions.assertFalse(SearchPattern.wildcardMatch("?*?", "a"));
    assertTrue(SearchPattern.wildcardMatch("?*?", "aa"));
    assertTrue(SearchPattern.wildcardMatch("*?*", "a"));
    Assertions.assertFalse(SearchPattern.wildcardMatch("*?*a", "a"));
    assertTrue(SearchPattern.wildcardMatch("*?*a*", "ba"));
}