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")); } }