package qls.tests.ast; import ql.ast.type.IntType; import ql.tests.TestHelper; import qls.ast.Page; import qls.ast.statement.DefaultStat; import qls.ast.statement.Question; import qls.ast.statement.QuestionWithRules; import qls.ast.statement.Section; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; /** * Created by bore on 29/03/15. */ public class Statement { private static final IntType intType = new IntType(); @org.junit.Test public void defaultStat() { String defaultString = "default integer { width: 15 backcolor: #9955FF }"; DefaultStat value = TestHelper.as(qls.util.ParserHelper.ParseStatement(defaultString), DefaultStat.class); assertNotNull(value); assertEquals(intType, value.getType()); } @org.junit.Test public void question() { Question value = TestHelper.as(qls.util.ParserHelper.ParseStatement("question status"), Question.class); assertNotNull(value); assertEquals("status", value.getId()); } @org.junit.Test public void questionWithRules() { String qString = "question status { forecolor: #123456 }"; QuestionWithRules value = TestHelper.as(qls.util.ParserHelper.ParseStatement(qString), QuestionWithRules.class); assertNotNull(value); assertEquals("status", value.getId()); assertNotNull(value.getBody()); } @org.junit.Test public void section() { String sString = "section \"Income\" { question taxes }"; Section value = TestHelper.as(qls.util.ParserHelper.ParseStatement(sString), Section.class); assertNotNull(value); assertEquals("Income", value.getName()); assertEquals(1, value.getBody().size()); } @org.junit.Test public void page() { String page = "page \"Income\" { question taxes }"; Page value = TestHelper.as(qls.util.ParserHelper.ParsePage(page), Page.class); assertNotNull(value); assertEquals("Income", value.getTitle()); assertEquals(1, value.getBody().size()); } }