package tv.dyndns.kishibe.qmaclone.client.creation.validater; import java.util.Arrays; import org.junit.Test; import tv.dyndns.kishibe.qmaclone.client.QMACloneGWTTestCaseBase; import tv.dyndns.kishibe.qmaclone.client.game.ProblemType; import tv.dyndns.kishibe.qmaclone.client.packet.PacketProblem; import com.google.gwt.user.client.Timer; public class ValidatorTegakiTest extends QMACloneGWTTestCaseBase { private ValidatorTegaki validator; private PacketProblem problem; @Override protected void gwtSetUp() throws Exception { super.gwtSetUp(); validator = new ValidatorTegaki(); problem = new PacketProblem(); problem.type = ProblemType.Tegaki; problem.answers = new String[] { "春", null, null, null, null, null, null, null }; problem.sentence = "a"; problem.creator = "a"; ValidatorTegaki.AvailableCharacters.get(); } @Test public void testCheckShouldReturnTrueIfValid() { new Timer() { @Override public void run() { assertEquals(Arrays.asList(), validator.check(problem).warn); finishTest(); } }.schedule(100); delayTestFinish(500); } @Test public void testCheckShouldReturnFalseIfNoAnswer() { new Timer() { @Override public void run() { problem.answers = new String[] { null, null, null, null, null, null, null, null }; assertEquals(Arrays.asList("解答を入力してください"), validator.check(problem).warn); finishTest(); } }.schedule(100); delayTestFinish(500); } @Test public void testCheckShouldReturnFalseIfNotAvalidableCharacter() { new Timer() { @Override public void run() { problem.answers = new String[] { "A", null, null, null, null, null, null, null }; assertEquals(Arrays.asList("1番目の解答1文字目「A」は使用できません。"), validator.check(problem).warn); finishTest(); } }.schedule(100); delayTestFinish(500); } }