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 ValidatorSenmusubiTest extends ValidatorTestBase {
private ValidatorSenmusubi validator;
@Before
public void setUp() throws Exception {
super.setUp();
validator = new ValidatorSenmusubi();
problem.type = ProblemType.Senmusubi;
problem.answers = toArray("a", "b", "c", "d");
problem.choices = toArray("1", "2", "3", "4");
}
@Test
public void checkShouldReturnTrueIfValid() {
assertEquals(Arrays.asList(), validator.check(problem).warn);
}
@Test
public void checkShouldReturnFalseIfNumberOfChoicesIsLow() {
problem.choices = toArray("a", "b");
assertEquals(Arrays.asList("左側選択肢(選択肢欄)は3つ以上必要です", "左右の選択肢の数が違います"),
validator.check(problem).warn);
}
@Test
public void checkShouldReturnFalseIfNumberOfAnswersIsLow() {
problem.answers = toArray("0", "1");
assertEquals(Arrays.asList("右側選択肢(解答欄)は3つ以上必要です", "左右の選択肢の数が違います"),
validator.check(problem).warn);
}
@Test
public void checkShouldReturnFalseIfNumberOfChoicesAndAnswersAreDifferent() {
problem.answers = toArray("a", "b", "c");
assertEquals(Arrays.asList("左右の選択肢の数が違います"), validator.check(problem).warn);
}
}