package tv.dyndns.kishibe.qmaclone.client.creation.validater; import static org.junit.Assert.assertEquals; import java.util.Arrays; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; import tv.dyndns.kishibe.qmaclone.client.game.ProblemType; @RunWith(JUnit4.class) public class ValidatorTypingTest extends ValidatorTestBase { private ValidatorTyping validator; @Before public void setUp() throws Exception { super.setUp(); validator = new ValidatorTyping(); problem.type = ProblemType.Typing; problem.answers = toArray("ABC"); } @Test public void checkShouldReturnTrueIfValid() { assertEquals(Arrays.asList(), validator.check(problem).warn); } @Test public void checkShouldReturnFalseIfNoAnswers() { problem.answers = toArray(); assertEquals(Arrays.asList("解答が入力されていません"), validator.check(problem).warn); } @Test public void checkShouldReturnFalseIfTooLong() { problem.answers = toArray("0123456789"); assertEquals(Arrays.asList("1個目の解答の文字数が多すぎます(8文字以下にして下さい)"), validator.check(problem).warn); } @Test public void checkShouldReturnFalseIfInvalidCharacters() { problem.answers = toArray("Aあア"); assertEquals(Arrays.asList("1個目の解答に使用不可能な文字が含まれている、又は文字の種類が混在しています"), validator.check(problem).warn); } @Test public void checkShouldReturnTrueForHiraganaWithBar() { problem.answers = toArray("うろたんだー"); assertEquals(Arrays.asList(), validator.check(problem).warn); } @Test public void checkShouldReturnTrueForKatakanaWithBar() { problem.answers = toArray("ウロタンダー"); assertEquals(Arrays.asList(), validator.check(problem).warn); } }