@Test
void testSplitByWholeString_StringStringBoolean() {

    assertArrayEquals(null, StringUtils.splitByWholeSeparator(null, "."));
    assertEquals(0, StringUtils.splitByWholeSeparator("", ".").length);
    final String stringToSplitOnNulls = "ab   de fg";
    final String[] splitOnNullExpectedResults = {"ab", "de", "fg"};
    final String[] splitOnNullResults = StringUtils.splitByWholeSeparator(stringToSplitOnNulls, null);
    assertEquals(splitOnNullExpectedResults.length, splitOnNullResults.length);
    for (int i = 0; i < splitOnNullExpectedResults.length; i += 1) {
        assertEquals(splitOnNullExpectedResults[i], splitOnNullResults[i]);
    }
    final String stringToSplitOnCharactersAndString = "abstemiouslyaeiouyabstemiously";
    final String[] splitOnStringExpectedResults = {"abstemiously", "abstemiously"};
    final String[] splitOnStringResults = StringUtils.splitByWholeSeparator(stringToSplitOnCharactersAndString, "aeiouy");
    assertEquals(splitOnStringExpectedResults.length, splitOnStringResults.length);
    for (int i = 0; i < splitOnStringExpectedResults.length; i += 1) {
        assertEquals(splitOnStringExpectedResults[i], splitOnStringResults[i]);
    }
    final String[] splitWithMultipleSeparatorExpectedResults = {"ab", "cd", "ef"};
    final String[] splitWithMultipleSeparator = StringUtils.splitByWholeSeparator("ab:cd::ef", ":");
    assertEquals(splitWithMultipleSeparatorExpectedResults.length, splitWithMultipleSeparator.length);
    for (int i = 0; i < splitWithMultipleSeparatorExpectedResults.length; i++) {
        assertEquals(splitWithMultipleSeparatorExpectedResults[i], splitWithMultipleSeparator[i]);
    }
}