@Test
void testSplit_StringString_StringStringInt() {

    assertNull(StringUtils.split(null, "."));
    assertNull(StringUtils.split(null, ".", 3));
    assertEquals(0, StringUtils.split("", ".").length);
    assertEquals(0, StringUtils.split("", ".", 3).length);
    innerTestSplit('.', ".", ' ');
    innerTestSplit('.', ".", ',');
    innerTestSplit('.', ".,", 'x');
    for (int i = 0; i < WHITESPACE.length(); i++) {
        for (int j = 0; j < NON_WHITESPACE.length(); j++) {
            innerTestSplit(WHITESPACE.charAt(i), null, NON_WHITESPACE.charAt(j));
            innerTestSplit(WHITESPACE.charAt(i), String.valueOf(WHITESPACE.charAt(i)), NON_WHITESPACE.charAt(j));
        }
    }
    String[] results;
    final String[] expectedResults = {"ab", "de fg"};
    results = StringUtils.split("ab   de fg", null, 2);
    assertEquals(expectedResults.length, results.length);
    for (int i = 0; i < expectedResults.length; i++) {
        assertEquals(expectedResults[i], results[i]);
    }
    final String[] expectedResults2 = {"ab", "cd:ef"};
    results = StringUtils.split("ab:cd:ef", ":", 2);
    assertEquals(expectedResults2.length, results.length);
    for (int i = 0; i < expectedResults2.length; i++) {
        assertEquals(expectedResults2[i], results[i]);
    }
}