package org.bukkit.util; import static org.hamcrest.Matchers.*; import static org.junit.Assert.*; import com.google.common.collect.ImmutableList; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.junit.Test; public class StringUtilTest { @Test(expected = NullPointerException.class) public void nullPrefixTest() { StringUtil.startsWithIgnoreCase("String", null); } @Test(expected = IllegalArgumentException.class) public void nullStringTest() { StringUtil.startsWithIgnoreCase(null, "String"); } @Test(expected = IllegalArgumentException.class) public void nullCollectionTest() { StringUtil.copyPartialMatches("Token", ImmutableList.of(), null); } @Test(expected = IllegalArgumentException.class) public void nullIterableTest() { StringUtil.copyPartialMatches("Token", null, new ArrayList()); } @Test(expected = IllegalArgumentException.class) public void nullTokenTest() { StringUtil.copyPartialMatches(null, ImmutableList.of(), new ArrayList()); } @Test public void copyTokenTest() { String token = "ab"; List original = ImmutableList.of("ab12", "aC561", "AB5195", "Ab76", "", "a"); List expected = ImmutableList.of("ab12", "AB5195", "Ab76"); List list = new ArrayList(); assertThat(StringUtil.copyPartialMatches(token, original, list), is(expected)); assertThat(StringUtil.copyPartialMatches(token, original, list), is(sameInstance(list))); assertThat(list.size(), is(expected.size() * 2)); } @Test(expected = UnsupportedOperationException.class) public void copyUnsupportedTest() { StringUtil.copyPartialMatches("token", ImmutableList.of("token1", "token2"), ImmutableList.of()); } @Test(expected = IllegalArgumentException.class) public void copyNullTest() { StringUtil.copyPartialMatches("token", Arrays.asList("token1", "token2", null), new ArrayList()); } }