blob: 319fce18e94b502b41124f3be9f921579911edca [file] [log] [blame]
package org.eclipse.jst.jsf.validation.el.tests.jsp;
import java.util.List;
import org.eclipse.jdt.core.Signature;
import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
import org.eclipse.jst.jsf.core.JSFVersion;
import org.eclipse.jst.jsf.core.tests.validation.MockValidationReporter.ReportedProblem;
import org.eclipse.jst.jsf.validation.el.tests.base.SingleJSPTestCase;
import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
/**
* Test suite for arithmetic remainder (mod, %)
* @author cbateman
*
*/
public class ArithmeticModuloTestCase extends SingleJSPTestCase
{
public ArithmeticModuloTestCase()
{
super("/testdata/jsps/arithmeticModulo.jsp.data", "/WEB-INF/arithmeticModulo.jsp", JSFVersion.V1_1,FACES_CONFIG_FILE_NAME_1_1);
}
@Override
protected void setUp() throws Exception
{
super.setUp();
}
@Override
public void testSanity()
{
super.testSanity();
assertEquals("myBean.integerProperty % 3", getELText(_structuredDocument,828));
assertEquals("myBean.integerProperty mod 3", getELText(_structuredDocument,887));
assertEquals("myBean.stringProperty % 3", getELText(_structuredDocument,948));
assertEquals("myBean.stringProperty mod 3", getELText(_structuredDocument,1006));
assertEquals("myBean.integerProperty % myBean.integerProperty", getELText(_structuredDocument,1066));
assertEquals("myBean.integerProperty mod myBean.integerProperty", getELText(_structuredDocument,1146));
assertEquals("myBean.bigIntegerProperty mod 4", getELText(_structuredDocument,1228));
assertEquals("myBean.doubleProperty mod 4", getELText(_structuredDocument,1292));
assertEquals("myBean.doubleProperty mod 5.43", getELText(_structuredDocument,1351));
assertEquals("5 % 3", getELText(_structuredDocument,1437));
assertEquals("5 mod 3", getELText(_structuredDocument,1472));
assertEquals("5.5 % 4 ", getELText(_structuredDocument,1509));
assertEquals("5.5 mod 4 ", getELText(_structuredDocument,1547));
assertEquals("'5' % '4'", getELText(_structuredDocument,1590));
assertEquals("'5' mod '4'", getELText(_structuredDocument,1632));
assertEquals("null % null", getELText(_structuredDocument,1676));
assertEquals("null mod null", getELText(_structuredDocument,1720));
assertEquals("5 % true", getELText(_structuredDocument,1784));
assertEquals("5 mod true", getELText(_structuredDocument,1822));
assertEquals("myBean.stringArrayProperty % myBean.booleanProperty", getELText(_structuredDocument,1862));
assertEquals("myBean.stringArrayProperty mod myBean.booleanProperty", getELText(_structuredDocument,1943));
assertEquals("myBean.integerProperty % true ", getELText(_structuredDocument,2029));
assertEquals("myBean.integerProperty mod true ", getELText(_structuredDocument,2092));
assertEquals("'a' % 'b'", getELText(_structuredDocument,2157));
assertEquals("'a' mod 'b'", getELText(_structuredDocument,2199));
assertEquals("5.5 % null", getELText(_structuredDocument,2240));
assertEquals("5.5 mod null", getELText(_structuredDocument,2280));
assertEquals("5%0", getELText(_structuredDocument,2322));
assertEquals("5 mod 0", getELText(_structuredDocument,2355));
assertEquals("myBean.integerProperty % myBean.booleanProperty", getELText(_structuredDocument,2392));
assertEquals("myBean.integerProperty mod myBean.booleanProperty", getELText(_structuredDocument,2469));
assertEquals("myBean.bigIntegerProperty % myBean.booleanProperty", getELText(_structuredDocument,2548));
assertEquals("myBean.bigIntegerProperty mod null", getELText(_structuredDocument,2628));
assertEquals("myBean.doubleProperty % true", getELText(_structuredDocument,2691));
}
@Override
public void testNoErrorExprs()
{
assertNoError(828,Signature.SIG_LONG);
assertNoError(887, Signature.SIG_LONG);
assertNoError(948, Signature.SIG_LONG);
assertNoError(1006, Signature.SIG_LONG);
assertNoError(1066, Signature.SIG_LONG);
assertNoError(1146, Signature.SIG_LONG);
assertNoError(1228, TypeConstants.TYPE_BIG_INTEGER);
assertNoError(1292, Signature.SIG_DOUBLE);
assertNoError(1351, Signature.SIG_DOUBLE);
}
@Override
public void testWarningExprs()
{
List<ReportedProblem> list = assertSemanticWarning(1437, Signature.SIG_LONG, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(1472, Signature.SIG_LONG, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(1509, Signature.SIG_DOUBLE, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(1547, Signature.SIG_DOUBLE, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(1590, Signature.SIG_LONG, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(1632, Signature.SIG_LONG, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(1676, Signature.SIG_LONG, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_BOTH_OPERANDS_NULL_ID);
list = assertSemanticWarning(1720, Signature.SIG_LONG, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_BOTH_OPERANDS_NULL_ID);
}
@Override
public void testErrorExprs()
{
List<ReportedProblem> list = assertSemanticError(1784, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(1822, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(1862, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(1943, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2029, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2092, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2157, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2199, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2240, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID);
list = assertSemanticError(2280, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID);
list = assertSemanticError(2322, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID);
list = assertSemanticError(2355, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID);
list = assertSemanticError(2392, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2469, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2548, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2628, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID);
list = assertSemanticError(2691, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
}
}