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 ValidatorMarubatsuTest extends ValidatorTestBase {
private ValidatorMarubatsu validator;
@Before
public void setUp() throws Exception {
super.setUp();
validator = new ValidatorMarubatsu();
problem.type = ProblemType.Marubatsu;
problem.answers = toArray("○");
problem.imageChoice = false;
}
@Test
public void checkShouldWork() {
assertEquals(Arrays.asList(), validator.check(problem).warn);
}
@Test
public void checkShouldReturnFalseIfNoAnswer() {
problem.answers = toArray();
assertEquals(Arrays.asList("解答が入力されていません"), validator.check(problem).warn);
}
@Test
public void checkShouldReturnFalseIfNotMarubatsu() {
problem.answers = toArray("丸");
assertEquals(Arrays.asList("解答が○×になっていません"), validator.check(problem).warn);
}
@Test
public void checkShouldReturnFalseIfNumberOfChoicesIsLow() {
problem.imageChoice = true;
problem.answers = toArray("http://www.google.com/");
problem.choices = toArray("http://www.google.com/");
assertEquals(Arrays.asList("選択肢の数が足りません"), validator.check(problem).warn);
}
@Test
public void checkShouldReturnFalseIfAnswerIsNotContainedInChoices() {
problem.imageChoice = true;
problem.choices = toArray("http://www.google.com/logo0.jpg",
"http://www.google.com/logo1.jpg");
assertEquals(Arrays.asList("解答が選択肢に含まれていません"), validator.check(problem).warn);
}
}