package tv.dyndns.kishibe.qmaclone.client.util;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import tv.dyndns.kishibe.qmaclone.client.game.LetterType;
import tv.dyndns.kishibe.qmaclone.client.util.StringUtils.VoicedSoundMark;
/**
* Test for {@link StringUtils}.
*
* @author nodchip
*/
@RunWith(JUnit4.class)
public class StringUtilsTest {
@Test
public void testConvertToFullWidth() {
assertEquals("0123456789", StringUtils.toFullWidth("0123456789"));
assertEquals("QWERTYUIOPASDFGHJKLZXCVBNM",
StringUtils.toFullWidth("QWERTYUIOPASDFGHJKLZXCVBNM"));
assertEquals("QWERTY", StringUtils.toFullWidth("QWERTY"));
}
@Test
public void testRemoveLast() {
assertEquals("", StringUtils.removeLast(""));
assertEquals("あいうえ", StringUtils.removeLast("あいうえお"));
}
@Test
public void testSwitchVoicedSoundMarkOfLastLetter() {
assertEquals("はばねろ",
StringUtils.switchVoicedSoundMarkOfLastLetter("はばねろ", VoicedSoundMark.Full));
assertEquals("はは",
StringUtils.switchVoicedSoundMarkOfLastLetter("はば", VoicedSoundMark.Full));
assertEquals("はば",
StringUtils.switchVoicedSoundMarkOfLastLetter("はは", VoicedSoundMark.Full));
assertEquals("ハバネロ",
StringUtils.switchVoicedSoundMarkOfLastLetter("ハバネロ", VoicedSoundMark.Full));
assertEquals("ハハ",
StringUtils.switchVoicedSoundMarkOfLastLetter("ハバ", VoicedSoundMark.Full));
assertEquals("ハバ",
StringUtils.switchVoicedSoundMarkOfLastLetter("ハハ", VoicedSoundMark.Full));
assertEquals("はばねろ",
StringUtils.switchVoicedSoundMarkOfLastLetter("はばねろ", VoicedSoundMark.Half));
assertEquals("ほほ",
StringUtils.switchVoicedSoundMarkOfLastLetter("ほぽ", VoicedSoundMark.Half));
assertEquals("ほぽ",
StringUtils.switchVoicedSoundMarkOfLastLetter("ほほ", VoicedSoundMark.Half));
assertEquals("ハバネロ",
StringUtils.switchVoicedSoundMarkOfLastLetter("ハバネロ", VoicedSoundMark.Half));
assertEquals("ハパ",
StringUtils.switchVoicedSoundMarkOfLastLetter("ハバ", VoicedSoundMark.Half));
assertEquals("ハパ",
StringUtils.switchVoicedSoundMarkOfLastLetter("ハハ", VoicedSoundMark.Half));
assertEquals("ハハ",
StringUtils.switchVoicedSoundMarkOfLastLetter("ハパ", VoicedSoundMark.Half));
assertEquals("", StringUtils.switchVoicedSoundMarkOfLastLetter("", VoicedSoundMark.Full));
assertEquals("", StringUtils.switchVoicedSoundMarkOfLastLetter("", VoicedSoundMark.Half));
}
@Test
public void testConvertLastAlphabetToKana() {
assertEquals("はばねろ", StringUtils.convertLastAlphabetToKana("はばねRO", LetterType.Hiragana));
assertEquals("ハバネロ", StringUtils.convertLastAlphabetToKana("ハバネRO", LetterType.Katakana));
assertEquals("っっ", StringUtils.convertLastAlphabetToKana("っLTSU", LetterType.Hiragana));
assertEquals("ッッ", StringUtils.convertLastAlphabetToKana("ッLTSU", LetterType.Katakana));
assertEquals("あちょ", StringUtils.convertLastAlphabetToKana("あTYO", LetterType.Hiragana));
assertEquals("アチョ", StringUtils.convertLastAlphabetToKana("アTYO", LetterType.Katakana));
assertEquals("ほげ", StringUtils.convertLastAlphabetToKana("ほGE", LetterType.Hiragana));
assertEquals("ホゲ", StringUtils.convertLastAlphabetToKana("ホGE", LetterType.Katakana));
assertEquals("あい", StringUtils.convertLastAlphabetToKana("あI", LetterType.Hiragana));
assertEquals("アイ", StringUtils.convertLastAlphabetToKana("アI", LetterType.Katakana));
assertEquals("へー", StringUtils.convertLastAlphabetToKana("へ-", LetterType.Hiragana));
assertEquals("ヘー", StringUtils.convertLastAlphabetToKana("ヘ-", LetterType.Katakana));
assertEquals("たっT", StringUtils.convertLastAlphabetToKana("たTT", LetterType.Hiragana));
assertEquals("タッT", StringUtils.convertLastAlphabetToKana("タTT", LetterType.Katakana));
assertEquals("ふぁんT", StringUtils.convertLastAlphabetToKana("ふぁNT", LetterType.Hiragana));
assertEquals("ファンT", StringUtils.convertLastAlphabetToKana("ファNT", LetterType.Katakana));
assertEquals("かんP", StringUtils.convertLastAlphabetToKana("かNP", LetterType.Hiragana));
assertEquals("カンP", StringUtils.convertLastAlphabetToKana("カNP", LetterType.Katakana));
assertEquals("っ", StringUtils.convertLastAlphabetToKana("XTU", LetterType.Hiragana));
assertEquals("ッ", StringUtils.convertLastAlphabetToKana("XTU", LetterType.Katakana));
assertEquals("っ", StringUtils.convertLastAlphabetToKana("LTU", LetterType.Hiragana));
assertEquals("ッ", StringUtils.convertLastAlphabetToKana("LTU", LetterType.Katakana));
assertEquals("うぃ", StringUtils.convertLastAlphabetToKana("WHI", LetterType.Hiragana));
assertEquals("ウィ", StringUtils.convertLastAlphabetToKana("WHI", LetterType.Katakana));
assertEquals("うぇ", StringUtils.convertLastAlphabetToKana("WHE", LetterType.Hiragana));
assertEquals("ウェ", StringUtils.convertLastAlphabetToKana("WHE", LetterType.Katakana));
assertEquals("とぅ", StringUtils.convertLastAlphabetToKana("TWU", LetterType.Hiragana));
assertEquals("トゥ", StringUtils.convertLastAlphabetToKana("TWU", LetterType.Katakana));
assertEquals("どぅ", StringUtils.convertLastAlphabetToKana("DWU", LetterType.Hiragana));
assertEquals("ドゥ", StringUtils.convertLastAlphabetToKana("DWU", LetterType.Katakana));
assertEquals("くぉ", StringUtils.convertLastAlphabetToKana("QO", LetterType.Hiragana));
assertEquals("クォ", StringUtils.convertLastAlphabetToKana("QO", LetterType.Katakana));
}
@Test
public void convertLastAlphabetToKanaBeforeSendAnswerShouldWork() {
assertEquals("おればなな",
StringUtils.convertLastAlphabetToKanaBeforeSendAnswer("おればなな", LetterType.Hiragana));
assertEquals("しんかん",
StringUtils.convertLastAlphabetToKanaBeforeSendAnswer("しんかN", LetterType.Hiragana));
assertEquals("シンカン",
StringUtils.convertLastAlphabetToKanaBeforeSendAnswer("シンカN", LetterType.Katakana));
}
@Test
public void toFullWidthShouldWork() {
assertEquals("ABC123", StringUtils.toFullWidth("ABC123"));
}
@Test
public void toHalfWidthShouldWork() {
assertEquals("ABC123", StringUtils.toHalfWidth("ABC123"));
}
}