package org.springside.modules.utils.text;
import static org.assertj.core.api.Assertions.*;
import java.util.List;
import org.junit.Test;
public class MoreStringUtilTest {
@Test
public void split() {
List<String> result = MoreStringUtil.split("192.168.0.1", '.', 4);
assertThat(result).hasSize(4).containsSequence("192", "168", "0", "1");
result = MoreStringUtil.split("192.168..1", '.', 4);
assertThat(result).hasSize(3).containsSequence("192", "168", "1");
result = MoreStringUtil.split("192.168.0.", '.', 4);
assertThat(result).hasSize(3).containsSequence("192", "168", "0");
assertThat(MoreStringUtil.split(null, '.', 4)).isNull();
assertThat(MoreStringUtil.split("", '.', 4)).hasSize(0);
}
@Test
public void charMatch() {
String str = "abc";
assertThat(MoreStringUtil.startWith(str, 'a')).isTrue();
assertThat(MoreStringUtil.startWith(str, 'b')).isFalse();
assertThat(MoreStringUtil.startWith(null, 'b')).isFalse();
assertThat(MoreStringUtil.startWith("", 'b')).isFalse();
assertThat(MoreStringUtil.endWith(str, 'c')).isTrue();
assertThat(MoreStringUtil.endWith(str, 'b')).isFalse();
assertThat(MoreStringUtil.endWith(null, 'b')).isFalse();
assertThat(MoreStringUtil.endWith("", 'b')).isFalse();
assertThat(MoreStringUtil.replaceFirst("abbc", 'b', 'c')).isEqualTo("acbc");
assertThat(MoreStringUtil.replaceFirst("abcc", 'c', 'c')).isEqualTo("abcc");
assertThat(MoreStringUtil.replaceFirst("", 'c', 'c')).isEqualTo("");
assertThat(MoreStringUtil.replaceFirst(null, 'c', 'c')).isNull();
assertThat(MoreStringUtil.replaceLast("abbc", 'b', 'c')).isEqualTo("abcc");
assertThat(MoreStringUtil.replaceLast("abcc", 'c', 'c')).isEqualTo("abcc");
assertThat(MoreStringUtil.replaceLast("", 'c', 'c')).isEqualTo("");
assertThat(MoreStringUtil.replaceLast(null, 'c', 'c')).isNull();
}
@Test
public void utf8EncodedLength() {
assertThat(MoreStringUtil.utf8EncodedLength("ab12")).isEqualTo(4);
assertThat(MoreStringUtil.utf8EncodedLength("中文")).isEqualTo(6);
}
}