@Test
public void parseQualifiedNameMaxTwo() {

    String[][][] cases = {
        // Bare
        { { "test.t" }, { "test", "t" } },
        { { "t.test" }, { "t", "test" } },
        { { "t" }, { "", "t" } },
        { { "" }, { "", "" } },
        { { "x.y.z" }, { "x", "y" } },
        // Dangling separator
        { { "test." }, { "", "test" } },
        // Double quoted
        { { "\"t\"" }, { "", "t" } },
        { { "test.\"t\"" }, { "test", "t" } },
        { { "\"test\".\"t\"" }, { "test", "t" } },
        { { "\"te.st\".\"t\"" }, { "te.st", "t" } },
        // Backtick quoted
        { { "`t`" }, { "", "t" } },
        { { "test.`t`" }, { "test", "t" } },
        { { "`test`.`t`" }, { "test", "t" } },
        { { "`te.st`.`t`" }, { "te.st", "t" } },
        // Non-quoted gets down-cased
        { { "tEsT.T" }, { "test", "t" } },
        { { "\"tEsT\".\"T\"" }, { "tEsT", "T" } },
        // Mixed quote
        { { "`test`.\"t\"" }, { "test", "t" } },
        { { "`test\"`.\"t`\"" }, { "test\"", "t`" } },
        // Unclosed quote
        { { "test.\"T" }, { "test", "T" } },
        // Single quotes
        { { "'t'" }, { "", "'t'" } },
        // Whitespace
        { { "  test\t.  t  " }, { "  test\t", "  t  " } },
    };
    for(String[][] c : cases) {
        String arg = c[0][0];
        String[] actual = Strings.parseQualifiedName(arg, 2);
        assertEquals(arg, Arrays.asList(c[1]), Arrays.asList(actual));
    }
}