package org.fugazi.qls.type_checker; import org.fugazi.ql.type_checker.issue.ASTNodeIssue; import org.fugazi.ql.type_checker.issue.ASTNodeIssueType; import org.fugazi.qls.type_checker.issue.ASTQlsNodeIssueType; import org.junit.Before; import org.junit.Test; import java.util.ArrayList; import java.util.List; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; public class TestCheckerWidgetCompatibility extends TestQlsTypeCheckerBase { @Before public void setUp() { this.qlsFileName = "incompatibleWidgets.qls"; super.setUp(); } @Test public void testFormCorrect() throws Exception { boolean formCorrect = qlsChecker.isFormCorrect(); assertFalse(formCorrect); } @Test public void testErrorCount() throws Exception { List<ASTNodeIssue> errors = qlsChecker.getErrors(); assertFalse(errors.isEmpty()); assertEquals(6, errors.size()); } @Test public void testErrorTypes() throws Exception { List<ASTNodeIssue> errors = qlsChecker.getErrors(); ASTNodeIssueType expectedType = ASTQlsNodeIssueType.QLS_ERROR.WRONG_WIDGET_TYPE; List<ASTNodeIssueType> receivedTypes = new ArrayList<>(); for (ASTNodeIssue error: errors) { receivedTypes.add(error.getErrorType()); } // no custom arrayEquals method for (ASTNodeIssueType received : receivedTypes) { assertTrue(received.equals(expectedType)); } } @Test public void testNoWarnings() throws Exception { List<ASTNodeIssue> warnings = qlsChecker.getWarnings(); assertTrue(warnings.isEmpty()); } }