//# -*- encoding: utf-8 -*-
package com.brightgenerous.commons;
import static org.junit.Assert.*;
import org.junit.Test;
public class StringUnicodeUtilsTest {
@Test
public void length() {
{
String str = "𠮷";
assertEquals(2, str.length());
assertEquals(1, StringUnicodeUtils.length(str));
}
}
@Test
public void cutoff() {
{
String str = "abc";
assertEquals("ab", StringUnicodeUtils.cutoff(str, 2));
assertEquals("a", StringUnicodeUtils.cutoff(str, 1));
}
{
String str = "𠮷𠮷𠮷";
assertEquals("𠮷𠮷", StringUnicodeUtils.cutoff(str, 2));
assertEquals("𠮷", StringUnicodeUtils.cutoff(str, 1));
}
}
@Test
public void getHalfSizeWidth() {
assertEquals(3, StringUnicodeUtils.getHalfSizeWidth("abc"));
assertEquals(2, StringUnicodeUtils.getHalfSizeWidth("あ"));
assertEquals(2, StringUnicodeUtils.getHalfSizeWidth("𠮷"));
assertEquals(8, StringUnicodeUtils.getHalfSizeWidth("か\u3099か\u3099", false));
assertEquals(4, StringUnicodeUtils.getHalfSizeWidth("か\u3099か\u3099", true));
}
@Test
public void cutoffHalfSizeWidth() {
assertEquals("ab", StringUnicodeUtils.cutoffHalfSizeWidth("abc", 2));
{
String str = "𠮷𠮷𠮷";
assertEquals("𠮷", StringUnicodeUtils.cutoffHalfSizeWidth(str, 2));
assertEquals("𠮷", StringUnicodeUtils.cutoffHalfSizeWidth(str, 3));
assertEquals("𠮷𠮷", StringUnicodeUtils.cutoffHalfSizeWidth(str, 4));
assertEquals("𠮷𠮷", StringUnicodeUtils.cutoffHalfSizeWidth(str, 5));
}
assertEquals("あa", StringUnicodeUtils.cutoffHalfSizeWidth("あaいうえ", 3));
assertEquals("あa", StringUnicodeUtils.cutoffHalfSizeWidth("あaいうえ", 4));
assertEquals("が", StringUnicodeUtils.cutoffHalfSizeWidth("か\u3099か\u3099", 2, true));
}
}